@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.resize-handle{position:absolute;right:0;top:0;bottom:0;width:6px;cursor:col-resize;background:transparent;z-index:1;transition:background-color .15s ease;touch-action:none}.resize-handle:hover{background:var(--primary-color, #3b82f6);opacity:.3}.resize-handle.active,.resize-handle:active{background:var(--primary-color, #3b82f6);opacity:.6}.resize-handle:focus{outline:none;background:var(--primary-color, #3b82f6);opacity:.4}.resize-handle:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:-2px}:root.dark .resize-handle:hover,.dark .resize-handle:hover{background:var(--primary-color, #60a5fa);opacity:.4}:root.dark .resize-handle.active,.dark .resize-handle.active,:root.dark .resize-handle:active,.dark .resize-handle:active{background:var(--primary-color, #60a5fa);opacity:.7}.resize-handle:before{content:"";position:absolute;top:0;bottom:0;left:-3px;right:-3px}.header-filter-cell{position:relative;cursor:default;-webkit-user-select:none;user-select:none}.header-filter-cell.sortable{cursor:pointer}.header-filter-cell.sortable:hover{background-color:var(--hover-bg, #f3f4f6)}.header-filter-cell.sorted{color:var(--primary-color, #3b82f6)}.header-filter-cell.dropdown-open{background-color:var(--hover-bg, #f3f4f6)}.header-filter-content{display:flex;align-items:center;gap:.25rem;width:100%}.header-filter-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-filter-sort-indicator{display:flex;align-items:center;justify-content:center;color:var(--primary-color, #3b82f6);flex-shrink:0}.header-filter-chevron{display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease;color:var(--text-secondary, #6b7280);flex-shrink:0}.header-filter-cell:hover .header-filter-chevron,.header-filter-cell:focus-within .header-filter-chevron,.header-filter-cell.dropdown-open .header-filter-chevron{opacity:1}@media (pointer: coarse){.header-filter-chevron{opacity:.6}.header-filter-cell:hover .header-filter-chevron,.header-filter-cell.dropdown-open .header-filter-chevron{opacity:1}}.header-filter-dropdown-portal{z-index:9999}.header-filter-menu{min-width:180px;max-width:240px;background:var(--background, #ffffff);border:1px solid var(--border, #e5e7eb);border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:.25rem 0;overflow:hidden}.header-filter-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .875rem;font-size:.8125rem;line-height:1.4;text-align:left;cursor:pointer;background:transparent;border:none;color:var(--text-primary, #1f2937);transition:background-color .1s ease}.header-filter-menu-item:hover{background-color:var(--hover-bg, #f3f4f6)}.header-filter-menu-item:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:-2px;background-color:var(--hover-bg, #f3f4f6)}.header-filter-menu-item.active{background-color:#3b82f614;color:var(--primary-color, #3b82f6)}.header-filter-menu-item.active:hover{background-color:#3b82f61f}.header-filter-menu-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:currentColor}.header-filter-menu-label{flex:1}.header-filter-check-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto;color:var(--primary-color, #3b82f6)}.header-filter-menu-item.header-filter-clear{color:var(--text-secondary, #6b7280)}.header-filter-menu-item.header-filter-clear:hover{color:var(--text-primary, #1f2937)}.header-filter-divider{height:1px;background:var(--border, #e5e7eb);margin:.25rem 0}:root.dark .header-filter-cell.sortable:hover,:root.dark .header-filter-cell.dropdown-open{background-color:var(--hover-bg, #374151)}:root.dark .header-filter-menu{background:var(--background, #1f2937);border-color:var(--border, #374151);box-shadow:0 4px 12px #0000004d}:root.dark .header-filter-menu-item{color:var(--text-primary, #f9fafb)}:root.dark .header-filter-menu-item:hover{background-color:var(--hover-bg, #374151)}:root.dark .header-filter-menu-item.active{background-color:#3b82f626}:root.dark .header-filter-menu-item.active:hover{background-color:#3b82f633}:root.dark .header-filter-menu-item.header-filter-clear{color:var(--text-secondary, #9ca3af)}:root.dark .header-filter-menu-item.header-filter-clear:hover{color:var(--text-primary, #f9fafb)}:root.dark .header-filter-divider{background:var(--border, #374151)}body.dark .header-filter-cell.sortable:hover,body.dark .header-filter-cell.dropdown-open{background-color:var(--hover-bg, #374151)}body.dark .header-filter-menu{background:var(--background, #1f2937);border-color:var(--border, #374151);box-shadow:0 4px 12px #0000004d}body.dark .header-filter-menu-item{color:var(--text-primary, #f9fafb)}body.dark .header-filter-menu-item:hover{background-color:var(--hover-bg, #374151)}body.dark .header-filter-menu-item.active{background-color:#3b82f626}body.dark .header-filter-menu-item.active:hover{background-color:#3b82f633}body.dark .header-filter-menu-item.header-filter-clear{color:var(--text-secondary, #9ca3af)}body.dark .header-filter-menu-item.header-filter-clear:hover{color:var(--text-primary, #f9fafb)}body.dark .header-filter-divider{background:var(--border, #374151)}.header-filter-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal-content{background:var(--background);border-radius:8px;box-shadow:0 4px 6px #0000001a;width:90%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-tabs{display:flex;border-bottom:1px solid var(--border);margin:0}.modal-tabs .tab{flex:1;padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.modal-tabs .tab:hover{color:var(--text-primary);background-color:var(--surface)}.modal-tabs .tab.active{color:var(--primary);border-bottom-color:var(--primary)}.form-group textarea{padding:8px 12px;border:1px solid var(--border);border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s;background:var(--background);color:var(--text-primary)}.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha, rgba(0, 102, 204, .1))}.jurisdiction-form{padding:20px;overflow-y:auto}.error-message{background-color:var(--error-bg, #fee);color:var(--error, #c00);padding:12px;border-radius:4px;margin-bottom:16px;font-size:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:14px;font-weight:500;margin-bottom:6px;color:var(--text-primary)}.form-group input,.form-group select{padding:8px 12px;border:1px solid var(--border);border-radius:4px;font-size:14px;transition:border-color .2s;background:var(--background);color:var(--text-primary)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha, rgba(0, 102, 204, .1))}.form-group input::placeholder{color:var(--text-muted)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;margin-top:16px;border-top:1px solid var(--border)}.form-instructions{font-size:13px;color:var(--text-secondary);margin:12px 20px 0;padding:0}.form-instructions .required-marker{color:var(--error, #dc2626);font-weight:600}[data-theme=dark] .error-message{background-color:#ff444426;color:#ff6b6b}@media (max-width: 768px){.modal-tabs .tab{min-height:44px;padding:12px 16px}.form-row{grid-template-columns:1fr;gap:12px}.jurisdiction-form{padding:16px}.form-group input,.form-group select{min-height:44px;font-size:16px}}@media (max-width: 375px){.form-instructions{margin:8px 16px 0;font-size:12px}.jurisdiction-form{padding:12px}}.navigation-sidebar{position:fixed;left:-320px;top:60px;width:320px;height:calc(100vh - 60px);background-color:var(--background);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:999;transition:left .3s ease;box-shadow:2px 0 8px var(--shadow-color, rgba(0, 0, 0, .1))}.navigation-sidebar.mobile-open{left:0}.app-body.sidebar-open .app-content{margin-left:320px;transition:margin-left .3s ease}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border)}.sidebar-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.add-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:.375rem;padding:.5rem;cursor:pointer;transition:background-color .2s}.add-button:hover{background-color:var(--primary-hover)}.view-selector{padding:.75rem 1.5rem;border-bottom:1px solid var(--border)}.view-selector-group{display:flex;background-color:var(--surface, #f8fafc);border:1px solid var(--border);border-radius:.5rem;padding:3px;gap:2px}.view-selector-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:.375rem .25rem;background:transparent;border:none;border-radius:.375rem;cursor:pointer;transition:all .15s ease;color:var(--text-secondary);font-size:.75rem;font-weight:500;line-height:1.2}.view-selector-btn:hover:not(.active){background-color:var(--surface-hover, rgba(0, 0, 0, .04));color:var(--text-primary)}.view-selector-btn.active{background-color:var(--background, #ffffff);color:var(--primary-color);box-shadow:0 1px 3px #00000014}.view-selector-btn svg{flex-shrink:0}.view-selector-count{font-size:.6875rem;font-weight:400;color:var(--text-secondary);line-height:1}.view-selector-btn.active .view-selector-count{color:var(--primary-color);opacity:.8}.view-selector-btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:-1px}.sidebar-search{position:relative;padding:1rem 1.5rem}.search-icon{position:absolute;left:2.75rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.search-input{width:100%;padding:.5rem .75rem .5rem 3.5rem;border:1px solid var(--border);border-radius:.375rem;font-size:.875rem;outline:none;background-color:var(--background);color:var(--text-primary)}.search-input:focus{border-color:var(--primary-color)}.sidebar-filter{display:flex;align-items:center;gap:.5rem;padding:0 1.5rem 1rem;color:var(--text-secondary)}.filter-select{flex:1;padding:.375rem .5rem;border:1px solid var(--border);border-radius:.25rem;font-size:.875rem;background-color:var(--background);color:var(--text-primary);outline:none}.jurisdiction-list{flex:1;overflow-y:auto}.jurisdiction-container{border-bottom:1px solid var(--border)}.nav-expand-toggle{display:inline-flex;align-items:center;margin-right:.5rem;cursor:pointer;background:none;border:none;padding:.25rem;color:var(--text-secondary);border-radius:.25rem;transition:background-color .2s}.nav-expand-toggle:hover{background-color:var(--surface)}.nav-expand-toggle:focus{outline:2px solid var(--primary-color);outline-offset:-2px}.jurisdiction-item{padding:1rem 1.5rem;cursor:pointer;transition:background-color .2s}.jurisdiction-item:hover{background-color:var(--surface)}.jurisdiction-item.selected{background-color:var(--selected-bg, #eff6ff);border-left:3px solid var(--primary-color);padding-left:calc(1.5rem - 3px)}.jurisdiction-header{display:flex;align-items:center;margin-bottom:.25rem;position:relative}.jurisdiction-header h3{flex:1;font-size:.9375rem;font-weight:500;color:var(--text-primary);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-indicator{width:8px;height:8px;border-radius:50%;cursor:help}.jurisdiction-details{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--text-secondary)}.jurisdiction-details>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-count{font-weight:500;flex-shrink:0;white-space:nowrap}.jurisdiction-details .review-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;margin-left:4px;background:transparent;border:none;border-radius:4px;color:var(--text-tertiary, #9ca3af);flex-shrink:0;transition:all .15s ease}.jurisdiction-details .review-btn.visible{opacity:1;cursor:pointer}.jurisdiction-details .review-btn:not(.visible){opacity:0;pointer-events:none;cursor:default}.jurisdiction-details .review-btn.visible:hover{background:var(--surface, #f3f4f6);color:var(--info-color, #0ea5e9)}.jurisdiction-details .review-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.loading,.empty-state{text-align:center;padding:2rem;color:var(--text-secondary)}.project-list{padding-left:.5rem;background-color:transparent;box-shadow:none}.project-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem .75rem 3rem;cursor:pointer;transition:background-color .2s;font-size:.875rem;background-color:transparent}.project-item:hover{background-color:var(--surface-hover, rgba(0, 0, 0, .03))}.project-item svg{color:var(--text-secondary)}.project-name{flex:1;color:var(--text-primary);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-site-count{color:var(--text-secondary);font-size:.75rem}.jurisdiction-item:focus,.project-item:focus{outline:2px solid var(--primary-color);outline-offset:-2px}.navigation-sidebar .sidebar-toggle{padding:.5rem 1.5rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0;display:block;width:auto;height:auto;border-radius:0;cursor:default}.sidebar-toggle .filter-row{display:flex;align-items:center;gap:1rem;flex-wrap:nowrap;padding:0;margin:0;border:none;border-radius:0;background:transparent;width:auto}.filter-checkbox-group{display:flex;align-items:center;gap:.375rem;cursor:pointer;font-size:.8125rem;color:var(--text-secondary);-webkit-user-select:none;user-select:none;transition:opacity .15s ease}.filter-checkbox-group input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary-color);cursor:pointer}.filter-checkbox-group.is-last-checked{opacity:.6;cursor:not-allowed}.filter-checkbox-group.is-last-checked input[type=checkbox]{cursor:not-allowed}.filter-sub-row{display:flex;align-items:center;gap:.375rem;margin-top:.375rem;padding-left:1.375rem;cursor:pointer;font-size:.75rem;color:var(--text-tertiary, #9ca3af);-webkit-user-select:none;user-select:none}.filter-sub-row input[type=checkbox]{width:.875rem;height:.875rem;accent-color:var(--primary-color);cursor:pointer}@media (max-width: 768px){.navigation-sidebar{position:fixed;left:-100%;top:60px;height:calc(100vh - 60px);width:280px;z-index:999;transition:left .3s ease;box-shadow:2px 0 8px var(--shadow-color, rgba(0, 0, 0, .1))}.navigation-sidebar.mobile-open{left:0}.sidebar-header{padding:1rem}.sidebar-header h2{font-size:1rem}.sidebar-search{padding:.75rem 1rem}.sidebar-filter{padding:0 1rem .75rem}.jurisdiction-item{padding:.75rem 1rem}.project-item{padding:.5rem 1rem .5rem 2.5rem;font-size:.8125rem}.navigation-sidebar .sidebar-toggle{padding:.375rem 1rem .5rem}.filter-row{min-height:44px;align-items:center}.filter-checkbox-group{font-size:.75rem}.filter-checkbox-group input[type=checkbox]{width:1.125rem;height:1.125rem}.filter-sub-row{min-height:36px;align-items:center}.filter-sub-row input[type=checkbox]{width:1rem;height:1rem}.view-selector{padding:.5rem 1rem}.view-selector-btn{padding:.25rem .125rem;font-size:.6875rem}.view-selector-count{font-size:.625rem}}:root.dark .navigation-sidebar{--shadow-color: rgba(0, 0, 0, .3)}:root.dark .jurisdiction-item.selected{--selected-bg: rgba(59, 130, 246, .15)}:root.dark .project-item:hover{--surface-hover: rgba(255, 255, 255, .05)}:root.dark .view-selector-group{background-color:var(--background-secondary, #1e293b);border-color:var(--border)}:root.dark .view-selector-btn:hover:not(.active){background-color:var(--background-tertiary, #334155)}:root.dark .view-selector-btn.active{background-color:var(--surface, #1e293b);box-shadow:0 1px 3px #0000004d}.color-picker{margin:16px 0}.color-picker label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary)!important}.color-options{display:flex;gap:8px;flex-wrap:wrap}.color-option{width:40px;height:40px;border-radius:8px;border:2px solid transparent;cursor:pointer;position:relative;transition:all .2s ease}.color-option:hover{transform:scale(1.1);box-shadow:0 2px 8px var(--shadow-color, rgba(0, 0, 0, .2))}.color-option.selected{border-color:var(--text-primary);box-shadow:0 0 0 3px var(--selection-ring, rgba(0, 0, 0, .1))}.color-option .checkmark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:20px;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.5)}:root.dark .color-option:hover{box-shadow:0 2px 8px #0006}:root.dark .color-option.selected{box-shadow:0 0 0 3px #ffffff26}.project-autocomplete{position:relative;width:100%}.project-autocomplete .input-wrapper{position:relative;display:flex;align-items:center}.project-autocomplete .project-input{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:.375rem;font-size:.875rem;background-color:var(--background);color:var(--text-primary);transition:all .2s}.project-autocomplete .project-input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px var(--primary-shadow, rgba(59, 130, 246, .1))}.project-autocomplete .project-input:disabled{background-color:var(--surface);cursor:not-allowed}.project-autocomplete .clear-button{position:absolute;right:.5rem;background:none;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.project-autocomplete .clear-button:hover:not(:disabled){color:var(--text-primary)}.project-autocomplete .clear-button:disabled{cursor:not-allowed;opacity:.5}.project-autocomplete .dropdown{position:absolute;top:calc(100% + .25rem);left:0;right:0;background:var(--background);border:1px solid var(--border);border-radius:.375rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;max-height:300px;overflow-y:auto;z-index:50}.project-autocomplete .dropdown-section{padding:.5rem 0}.project-autocomplete .dropdown-section:not(:last-child){border-bottom:1px solid var(--border)}.project-autocomplete .dropdown-header{padding:.5rem .75rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.project-autocomplete .dropdown-item{padding:.75rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s}.project-autocomplete .dropdown-item:hover{background-color:var(--surface)}.project-autocomplete .dropdown-item.create-new{background-color:var(--info-bg-light, #eff6ff)}.project-autocomplete .dropdown-item.create-new:hover{background-color:var(--info-bg, #dbeafe)}.project-autocomplete .project-name{font-weight:500;color:var(--text-primary)}.project-autocomplete .project-count{font-size:.75rem;color:var(--text-secondary)}.project-autocomplete .create-label{font-size:.75rem;color:var(--primary, #3b82f6)}.project-autocomplete .dropdown-empty{padding:1rem;text-align:center;color:var(--text-secondary);font-size:.875rem}:root.dark .project-autocomplete .dropdown{box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003}:root.dark .project-autocomplete .project-input:focus{box-shadow:0 0 0 3px #3b82f633}:root.dark .project-autocomplete .dropdown-item.create-new{background-color:#3b82f626}:root.dark .project-autocomplete .dropdown-item.create-new:hover{background-color:#3b82f640}:root.dark .project-autocomplete .create-label{color:#60a5fa}.import-map-preview{position:relative;border-radius:8px;overflow:hidden;background:var(--bg-secondary, #f3f4f6);border:1px solid var(--border-color, #e5e7eb)}.import-map-preview .map-container{width:100%;height:100%}.import-map-preview.loading,.import-map-preview.error,.import-map-preview.empty{display:flex;align-items:center;justify-content:center}.map-loading,.map-error,.map-empty{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted, #6b7280);text-align:center}.map-loading svg,.map-error svg,.map-empty svg{opacity:.5}.map-loading p,.map-error p,.map-empty p{font-weight:500;margin:0}.map-loading small,.map-error small,.map-empty small{font-size:12px;opacity:.7}.map-error{color:var(--color-error, #dc2626)}.map-controls{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px;z-index:10}.map-control-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--background, white);border:1px solid var(--border-color, #e5e7eb);border-radius:6px;cursor:pointer;color:var(--text-muted, #6b7280);box-shadow:0 1px 3px #0000001a;transition:all .15s ease}.map-control-btn:hover{background:var(--bg-secondary, #f3f4f6);color:var(--text-primary, #111827)}.map-control-btn.active{background:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6);color:#fff}.map-legend{position:absolute;bottom:10px;left:10px;background:var(--background, white);border-radius:8px;padding:10px 12px;box-shadow:0 2px 8px #00000026;z-index:10;min-width:120px}.legend-title{display:flex;align-items:center;gap:6px;font-weight:600;font-size:12px;color:var(--text-primary, #111827);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-color, #e5e7eb)}.legend-items{display:flex;flex-direction:column;gap:4px}.legend-item{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary, #4b5563)}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid rgba(255,255,255,.5);box-shadow:0 1px 2px #00000026}.legend-duplicates{margin-top:6px;padding-top:6px;border-top:1px solid var(--border-color, #e5e7eb);font-size:10px;color:var(--color-warning-text, #92400e);font-weight:500}.selected-site-info{position:absolute;bottom:10px;right:10px;background:var(--background, white);border-radius:8px;padding:10px 12px;box-shadow:0 2px 8px #00000026;z-index:10;max-width:200px}.site-info-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.site-info-header .site-id{font-weight:600;font-size:13px;color:var(--text-primary, #111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-badge{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.action-badge.action-create{background:var(--color-success-bg, #dcfce7);color:var(--color-success-text, #166534)}.action-badge.action-skip{background:var(--bg-secondary, #f3f4f6);color:var(--text-muted, #6b7280)}.action-badge.action-overwrite{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e)}.site-info-coords{font-size:11px;color:var(--text-muted, #6b7280);font-family:monospace}.site-info-duplicates{margin-top:6px;padding-top:6px;border-top:1px solid var(--border-color, #e5e7eb);font-size:11px;color:var(--color-warning-text, #92400e);font-weight:500}.import-marker{transition:transform .15s ease}.import-marker:hover{transform:scale(1.1)}.import-marker.selected{transform:scale(1.15)}@keyframes marker-pulse{0%{transform:translate(-50%,-50%) scale(.5);opacity:.5}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}@media (max-width: 768px){.map-legend{max-width:100px;padding:8px}.legend-title{font-size:11px}.legend-item{font-size:10px}.selected-site-info{max-width:160px;padding:8px}.site-info-header .site-id{font-size:12px}.action-badge{font-size:9px}}.import-map-preview.split-view{border-radius:0;border:none;border-left:1px solid var(--border-color, #e5e7eb)}.import-map-preview.split-view .map-legend{bottom:auto;top:10px;left:10px}.import-map-preview.full-width{border-radius:8px 8px 0 0}.import-map-preview.compact{border-radius:6px}.import-map-preview.compact .map-legend{padding:6px 8px}.import-map-preview.compact .legend-title{font-size:10px;margin-bottom:4px;padding-bottom:4px}.import-map-preview.compact .legend-item{font-size:9px}.import-map-preview.compact .legend-dot{width:8px;height:8px}.field-comparison-table{display:flex;flex-direction:column;gap:12px}.comparison-summary{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-secondary, #f9fafb);border-radius:6px}.summary-stat{display:flex;align-items:baseline;gap:6px}.stat-value{font-size:18px;font-weight:700;color:var(--text-primary, #111827)}.stat-label{font-size:12px;color:var(--text-muted, #6b7280)}.summary-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.summary-badge[data-match-level=high]{background:var(--color-success-bg, #dcfce7);color:var(--color-success-text, #166534)}.summary-badge[data-match-level=medium]{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e)}.summary-badge[data-match-level=low]{background:var(--color-error-bg, #fee2e2);color:var(--color-error-text, #991b1b)}.comparison-header{display:grid;grid-template-columns:120px 1fr 1fr;gap:8px;padding:8px 12px;background:var(--bg-tertiary, #f3f4f6);border-radius:6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6b7280)}.header-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparison-rows{display:flex;flex-direction:column;gap:4px}.comparison-row{display:grid;grid-template-columns:120px 1fr 1fr;gap:8px;align-items:center;padding:6px 8px;border-radius:6px;border:1px solid transparent;transition:all .15s ease}.comparison-row:hover{background:var(--bg-secondary, #f9fafb)}.comparison-row.match{background:#22c55e0d}.comparison-row.diff{background:#f59e0b0d;border-color:#f59e0b33}.comparison-row .field-name{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-secondary, #4b5563);overflow:hidden}.comparison-row .field-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-icon{color:var(--color-success, #22c55e);flex-shrink:0}.diff-icon{color:var(--color-warning, #f59e0b);flex-shrink:0}.value-cell{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 10px;border-radius:4px;background:var(--background, white);border:1px solid var(--border-color, #e5e7eb);font-size:12px;color:var(--text-primary, #111827);cursor:pointer;transition:all .15s ease;text-align:left;min-height:32px;width:100%}.value-cell:hover:not(:disabled){border-color:var(--color-primary, #3b82f6);background:#3b82f60d}.value-cell:disabled{cursor:default;opacity:.7}.value-cell.empty{color:var(--text-muted, #9ca3af);font-style:italic}.value-cell.selected{border-color:var(--color-primary, #3b82f6);background:#3b82f61a;box-shadow:0 0 0 2px #3b82f633}.comparison-row.match .value-cell{cursor:default;background:#22c55e0d;border-color:#22c55e33}.value-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-icon{flex-shrink:0;color:var(--color-primary, #3b82f6)}.import-value.selected{border-color:var(--color-primary, #3b82f6)}.existing-value.selected{border-color:var(--color-warning, #f59e0b)}.comparison-legend{display:flex;gap:16px;padding-top:8px;border-top:1px solid var(--border-color, #e5e7eb);margin-top:4px}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted, #6b7280)}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.match{background:var(--color-success, #22c55e)}.legend-dot.diff{background:var(--color-warning, #f59e0b)}@media (max-width: 480px){.comparison-header,.comparison-row{grid-template-columns:1fr;gap:4px}.comparison-header .header-cell:first-child,.comparison-row .field-name{grid-column:1 / -1;margin-bottom:4px}.comparison-header{display:none}.value-cell{width:100%}.value-cell:before{content:attr(data-label);font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted, #6b7280);margin-right:8px;flex-shrink:0}.import-value:before{content:"Import: "}.existing-value:before{content:"Existing: "}}.confidence-breakdown{display:flex;flex-direction:column;gap:16px}.overall-confidence{display:flex;align-items:center;gap:16px;padding:12px;background:var(--bg-secondary, #f9fafb);border-radius:8px}.confidence-circle{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.confidence-circle[data-level=very-high]{background:var(--color-error-bg, #fee2e2);color:var(--color-error, #dc2626);border:2px solid var(--color-error, #dc2626)}.confidence-circle[data-level=high]{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #d97706);border:2px solid var(--color-warning, #f59e0b)}.confidence-circle[data-level=medium]{background:var(--color-info-bg, #dbeafe);color:var(--color-info, #2563eb);border:2px solid var(--color-info, #3b82f6)}.confidence-circle[data-level=low]{background:var(--bg-tertiary, #f3f4f6);color:var(--text-muted, #6b7280);border:2px solid var(--border-color, #d1d5db)}.confidence-value{font-variant-numeric:tabular-nums}.confidence-info{display:flex;flex-direction:column;gap:2px}.confidence-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6b7280)}.confidence-level{font-size:15px;font-weight:600}.confidence-level.very-high{color:var(--color-error, #dc2626)}.confidence-level.high{color:var(--color-warning-text, #d97706)}.confidence-level.medium{color:var(--color-info, #2563eb)}.confidence-level.low{color:var(--text-muted, #6b7280)}.signal-breakdown{display:flex;flex-direction:column;gap:10px}.breakdown-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6b7280)}.signals-list{display:flex;flex-direction:column;gap:12px}.signal-item{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:6px;border:1px solid var(--border-color, #e5e7eb);background:var(--background, white);transition:all .15s ease}.signal-item.matched{border-color:var(--color-success, #22c55e);background:#22c55e08}.signal-header{display:flex;align-items:center;gap:10px}.signal-icon-wrapper{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.signal-icon-wrapper[data-level=high]{background:var(--color-success-bg, #dcfce7);color:var(--color-success, #22c55e)}.signal-icon-wrapper[data-level=medium]{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning, #f59e0b)}.signal-icon-wrapper[data-level=low]{background:var(--bg-tertiary, #f3f4f6);color:var(--text-muted, #9ca3af)}.signal-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.signal-label{font-size:13px;font-weight:600;color:var(--text-primary, #111827)}.signal-weight{font-size:10px;color:var(--text-muted, #9ca3af)}.signal-score{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.signal-score[data-level=high]{color:var(--color-success, #22c55e)}.signal-score[data-level=medium]{color:var(--color-warning, #f59e0b)}.signal-score[data-level=low]{color:var(--text-muted, #9ca3af)}.signal-bar-container{height:4px;background:var(--bg-tertiary, #e5e7eb);border-radius:2px;overflow:hidden}.signal-bar{height:100%;border-radius:2px;transition:width .3s ease}.signal-bar[data-level=high]{background:var(--color-success, #22c55e)}.signal-bar[data-level=medium]{background:var(--color-warning, #f59e0b)}.signal-bar[data-level=low]{background:var(--text-muted, #9ca3af)}.signal-contribution{font-size:10px;color:var(--text-muted, #9ca3af)}.matched-fields{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--border-color, #e5e7eb)}.matched-label{font-size:11px;font-weight:500;color:var(--text-muted, #6b7280)}.matched-badges{display:flex;flex-wrap:wrap;gap:4px}.matched-badge{padding:2px 6px;font-size:10px;font-weight:600;text-transform:capitalize;background:var(--color-success-bg, #dcfce7);color:var(--color-success-text, #166534);border-radius:4px}.confidence-explanation{padding:10px 12px;background:var(--bg-secondary, #f9fafb);border-radius:6px;border-left:3px solid var(--color-primary, #3b82f6)}.confidence-explanation p{margin:0;font-size:12px;color:var(--text-secondary, #4b5563);line-height:1.5}@media (max-width: 400px){.overall-confidence{flex-direction:column;text-align:center}.signal-header{flex-wrap:wrap}.signal-score{position:absolute;top:10px;right:10px}.signal-item{position:relative}}.duplicate-comparison-panel{position:fixed;top:0;right:0;bottom:0;width:100%;z-index:1000;display:flex;justify-content:flex-end;pointer-events:none;opacity:0;transition:opacity .2s ease}.duplicate-comparison-panel.open{pointer-events:auto;opacity:1}.panel-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;cursor:pointer}.duplicate-comparison-panel .panel-content{position:relative;width:480px;max-width:90vw;height:100%;background:var(--background, white);box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s ease;overflow:hidden}.duplicate-comparison-panel.open .panel-content{transform:translate(0)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color, #e5e7eb);background:var(--bg-secondary, #f9fafb);flex-shrink:0}.header-title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px;color:var(--text-primary, #111827)}.close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text-muted, #6b7280);transition:all .15s ease}.close-btn:hover{background:var(--bg-secondary, #f3f4f6);color:var(--text-primary, #111827)}.site-banner{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-secondary, #f9fafb);border-bottom:1px solid var(--border-color, #e5e7eb);gap:12px;flex-shrink:0}.site-id-section{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.site-id-section.existing{text-align:right}.site-id-section .label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6b7280)}.site-id-section .site-id{font-size:14px;font-weight:600;color:var(--text-primary, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-id-section .coords{font-size:11px;font-family:monospace;color:var(--text-muted, #6b7280)}.arrow-section{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;color:var(--color-primary, #3b82f6)}.distance-label{font-size:10px;font-weight:600;color:var(--text-muted, #6b7280)}.action-section{padding:16px 20px;border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.action-label{font-size:13px;font-weight:600;color:var(--text-primary, #111827);margin-bottom:12px}.action-buttons{display:flex;flex-direction:column;gap:8px}.action-btn{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:2px solid var(--border-color, #e5e7eb);border-radius:8px;background:var(--background, white);cursor:pointer;text-align:left;transition:all .15s ease}.action-btn svg{flex-shrink:0;margin-top:2px}.action-btn span{display:block;font-weight:600;font-size:13px;color:var(--text-primary, #111827)}.action-btn small{display:block;font-size:11px;color:var(--text-muted, #6b7280);font-weight:400;margin-top:2px}.action-btn:hover{border-color:var(--color-primary, #3b82f6);background:var(--bg-secondary, #f9fafb)}.action-btn.active{border-color:var(--color-primary, #3b82f6);background:#3b82f60d}.action-btn.create.active{border-color:var(--color-success, #22c55e);background:#22c55e0d}.action-btn.create.active svg{color:var(--color-success, #22c55e)}.action-btn.overwrite.active{border-color:var(--color-warning, #f59e0b);background:#f59e0b0d}.action-btn.overwrite.active svg{color:var(--color-warning, #f59e0b)}.action-btn.skip.active{border-color:var(--text-muted, #6b7280);background:#6b72800d}.action-btn.skip.active svg{color:var(--text-muted, #6b7280)}.action-btn.link.active{border-color:var(--color-info, #3b82f6);background:#3b82f60d}.action-btn.link.active svg{color:var(--color-info, #3b82f6)}.action-btn.dismiss.active{border-color:var(--text-secondary, #4b5563);background:#4b55630d}.action-btn.dismiss.active svg{color:var(--text-secondary, #4b5563)}.section-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-primary, #111827);margin-bottom:12px}.duplicate-list-section{padding:16px 20px;border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.duplicate-list{display:flex;flex-direction:column;gap:8px}.duplicate-item{position:relative;padding:10px 12px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;cursor:pointer;transition:all .15s ease}.duplicate-item:hover{border-color:var(--color-primary, #3b82f6);background:var(--bg-secondary, #f9fafb)}.duplicate-item.selected{border-color:var(--color-warning, #f59e0b);background:#f59e0b0d}.duplicate-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.duplicate-name{font-weight:600;font-size:13px;color:var(--text-primary, #111827)}.confidence-badge{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600}.confidence-badge.very-high{background:var(--color-error-bg, #fef2f2);color:var(--color-error, #dc2626)}.confidence-badge.high{background:var(--color-warning-bg, #fffbeb);color:var(--color-warning-text, #d97706)}.confidence-badge.medium{background:var(--color-info-bg, #eff6ff);color:var(--color-info, #2563eb)}.confidence-badge.low{background:var(--bg-secondary, #f3f4f6);color:var(--text-muted, #6b7280)}.duplicate-details{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text-muted, #6b7280)}.selected-check{position:absolute;top:50%;right:12px;transform:translateY(-50%);color:var(--color-warning, #f59e0b)}.confidence-section{padding:16px 20px;border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.comparison-section{flex:1;padding:16px 20px;overflow-y:auto;min-height:0}.comparison-section .section-title{display:flex;align-items:center;gap:8px}.comparison-section .spin-icon{animation:spin 1s linear infinite;color:var(--color-primary, #3b82f6)}.comparison-help{font-size:12px;color:var(--text-muted, #6b7280);margin-bottom:12px}.fetch-error{display:flex;align-items:center;gap:6px;padding:8px 10px;margin-bottom:12px;background:var(--color-error-bg, #fef2f2);border:1px solid var(--color-error-border, #fecaca);border-radius:6px;font-size:12px;color:var(--color-error, #dc2626)}.panel-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--border-color, #e5e7eb);background:var(--bg-secondary, #f9fafb);flex-shrink:0}.current-action{font-size:12px;color:var(--text-muted, #6b7280)}.current-action strong{color:var(--text-primary, #111827)}@media (max-width: 640px){.panel-content{width:100%;max-width:100%}.site-banner{flex-direction:column;gap:8px}.site-id-section.existing{text-align:left}.arrow-section{transform:rotate(90deg)}}:root.dark .confidence-badge.very-high,.dark .confidence-badge.very-high{color:#fca5a5}:root.dark .confidence-badge.high,.dark .confidence-badge.high{color:#fcd34d}:root.dark .confidence-badge.medium,.dark .confidence-badge.medium{color:#93c5fd}:root.dark .confidence-badge.low,.dark .confidence-badge.low{color:#d1d5db}:root.dark .duplicate-name,.dark .duplicate-name{color:#f9fafb}:root.dark .duplicate-details,.dark .duplicate-details{color:#9ca3af}:root.dark .fetch-error,.dark .fetch-error{color:#fca5a5}:root.dark .action-btn span,.dark .action-btn span{color:#f9fafb}:root.dark .action-btn small,.dark .action-btn small{color:#9ca3af}.import-action-selector{display:flex;flex-direction:column;gap:4px;min-width:140px}.import-action-selector.loading,.import-action-selector.pending{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;background:var(--bg-secondary, #f3f4f6);border-radius:6px;color:var(--text-muted, #6b7280);font-size:12px}.import-action-selector .loading-spinner{width:14px;height:14px;border:2px solid var(--border-color, #e5e7eb);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.pending-label{font-style:italic;color:var(--text-muted, #9ca3af)}.action-row{display:flex;align-items:center;gap:6px}.action-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;color:#fff;flex-shrink:0}.action-select{flex:1;padding:6px 24px 6px 8px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;background:var(--background, white);font-size:13px;font-weight:500;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;transition:all .15s ease}.action-select:hover:not(:disabled){border-color:var(--color-primary, #3b82f6)}.action-select:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.action-select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-secondary, #f3f4f6)}.action-select.action-create{border-color:var(--color-success-border, #86efac);background-color:var(--color-success-bg, #f0fdf4)}.action-select.action-skip{border-color:var(--border-color, #e5e7eb);background-color:var(--bg-secondary, #f9fafb)}.action-select.action-overwrite{border-color:var(--color-warning-border, #fcd34d);background-color:var(--color-warning-bg, #fffbeb)}.action-select.action-link{border-color:var(--color-info-border, #93c5fd);background-color:var(--color-info-bg, #eff6ff)}.action-select.action-dismiss{border-color:var(--border-color-dark, #9ca3af);background-color:var(--bg-tertiary, #f3f4f6)}.duplicate-info{display:flex;flex-direction:column;gap:4px;padding-left:30px}.duplicate-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--color-warning-bg, #fef3c7);border:1px solid var(--color-warning-border, #fcd34d);border-radius:4px;font-size:11px;color:var(--color-warning-text, #92400e);cursor:pointer;transition:background-color .15s ease}.duplicate-badge:hover{background:var(--color-warning-border, #fcd34d)}.duplicate-count{font-weight:500}.confidence-badge{padding:1px 5px;border-radius:3px;font-weight:600;font-size:10px}.confidence-very-high{background:var(--color-error-bg, #fef2f2);color:var(--color-error, #dc2626)}.confidence-high{background:var(--color-warning-bg, #fffbeb);color:var(--color-warning-text, #d97706)}.confidence-medium{background:var(--color-info-bg, #eff6ff);color:var(--color-info, #2563eb)}.confidence-low{background:var(--bg-secondary, #f3f4f6);color:var(--text-muted, #6b7280)}.duplicate-select{padding:4px 8px;border:1px solid var(--border-color, #e5e7eb);border-radius:4px;background:var(--background, white);font-size:11px;width:100%;cursor:pointer}.duplicate-select:focus{outline:none;border-color:var(--color-primary, #3b82f6)}.selected-duplicate{font-size:11px;color:var(--text-muted, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-selector-compact{display:flex;align-items:center;gap:6px}.action-selector-compact.loading,.action-selector-compact.pending{color:var(--text-muted, #9ca3af);font-size:11px}.mini-spinner{width:12px;height:12px;border:2px solid var(--border-color, #e5e7eb);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.action-select-compact{padding:4px 20px 4px 6px;border:1px solid var(--border-color, #e5e7eb);border-radius:4px;background:var(--background, white);font-size:11px;font-weight:500;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;min-width:80px}.action-select-compact.action-create{border-color:var(--color-success-border, #86efac);background-color:var(--color-success-bg, #f0fdf4);color:var(--color-success-text, #166534)}.action-select-compact.action-skip{border-color:var(--border-color, #d1d5db);background-color:var(--bg-secondary, #f9fafb);color:var(--text-muted, #6b7280)}.action-select-compact.action-overwrite{border-color:var(--color-warning-border, #fcd34d);background-color:var(--color-warning-bg, #fffbeb);color:var(--color-warning-text, #92400e)}.action-select-compact.action-link{border-color:var(--color-info-border, #93c5fd);background-color:var(--color-info-bg, #eff6ff);color:var(--color-info, #2563eb)}.action-select-compact.action-dismiss{border-color:var(--border-color-dark, #9ca3af);background-color:var(--bg-tertiary, #f3f4f6);color:var(--text-muted, #6b7280)}.confidence-dot{width:10px;height:10px;border-radius:50%;cursor:pointer;flex-shrink:0}.confidence-dot.confidence-very-high{background:var(--color-error, #dc2626);box-shadow:0 0 0 2px #dc262633}.confidence-dot.confidence-high{background:var(--color-warning, #f59e0b);box-shadow:0 0 0 2px #f59e0b33}.confidence-dot.confidence-medium{background:var(--color-info, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.confidence-dot.confidence-low{background:var(--text-muted, #9ca3af);box-shadow:0 0 0 2px #9ca3af33}.link-targets{display:flex;flex-direction:column;gap:4px;padding:6px 8px;background:var(--color-info-bg, #eff6ff);border:1px solid var(--color-info-border, #93c5fd);border-radius:6px}.link-label{font-size:10px;font-weight:600;color:var(--color-info, #2563eb);text-transform:uppercase;letter-spacing:.025em}.link-target-checkbox{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.link-target-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-info, #3b82f6);cursor:pointer}.link-target-name{display:flex;align-items:center;gap:6px;color:var(--text-primary, #1f2937)}.confidence-mini{padding:1px 4px;border-radius:3px;font-size:9px;font-weight:600}.link-warning{font-size:10px;color:var(--color-warning-text, #92400e);font-style:italic}.dismiss-options{display:flex;flex-direction:column;gap:4px}.dismiss-reason-select{padding:4px 8px;border:1px solid var(--border-color-dark, #9ca3af);border-radius:4px;background:var(--background, white);font-size:11px;width:100%;cursor:pointer}.dismiss-reason-select:focus{outline:none;border-color:var(--text-muted, #6b7280)}.dismiss-note-input{padding:4px 8px;border:1px solid var(--border-color, #e5e7eb);border-radius:4px;font-size:11px;width:100%}.dismiss-note-input:focus{outline:none;border-color:var(--color-primary, #3b82f6)}.dismiss-note-input::placeholder{color:var(--text-muted, #9ca3af);font-style:italic}:root.dark .duplicate-badge,.dark .duplicate-badge{color:#fcd34d}:root.dark .duplicate-badge:hover,.dark .duplicate-badge:hover{background:#fbbf244d;color:#fef3c7}:root.dark .confidence-very-high,.dark .confidence-very-high{color:#fca5a5}:root.dark .confidence-high,.dark .confidence-high{color:#fcd34d}:root.dark .confidence-medium,.dark .confidence-medium{color:#93c5fd}:root.dark .confidence-low,.dark .confidence-low{color:#d1d5db}:root.dark .action-select,.dark .action-select{color:#e5e7eb}:root.dark .action-select-compact.action-create,.dark .action-select-compact.action-create{color:#6ee7b7}:root.dark .action-select-compact.action-overwrite,.dark .action-select-compact.action-overwrite{color:#fcd34d}:root.dark .action-select-compact.action-link,.dark .action-select-compact.action-link{color:#93c5fd}:root.dark .action-select-compact.action-skip,.dark .action-select-compact.action-skip{color:#d1d5db}:root.dark .action-select-compact.action-dismiss,.dark .action-select-compact.action-dismiss{color:#d1d5db}:root.dark .link-label,.dark .link-label{color:#93c5fd}:root.dark .link-target-name,.dark .link-target-name{color:#e5e7eb}:root.dark .link-warning,.dark .link-warning{color:#fcd34d}:root.dark .selected-duplicate,.dark .selected-duplicate{color:#9ca3af}:root.dark .dismiss-reason-select,.dark .dismiss-reason-select{color:#e5e7eb}:root.dark .duplicate-select,.dark .duplicate-select{color:#e5e7eb}.bulk-action-toolbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-secondary, #f9fafb);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;flex-wrap:wrap;overflow-x:visible}.toolbar-separator{width:1px;height:24px;background:var(--border-color, #d1d5db)}.selection-section{flex-shrink:0}.select-all-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--background, white);border:1px solid var(--border-color, #e5e7eb);border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary, #4b5563);cursor:pointer;transition:all .15s ease}.select-all-btn:hover{background:var(--bg-secondary, #f3f4f6);border-color:var(--border-color-dark, #d1d5db)}.select-all-btn.all-selected,.select-all-btn.some-selected{background:#3b82f61a;border-color:var(--color-primary, #3b82f6);color:var(--color-primary, #3b82f6)}.select-all-btn .partial{opacity:.6}.selection-count{font-size:12px}.dropdown-container{position:relative}.dropdown-trigger{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--background, white);border:1px solid var(--border-color, #e5e7eb);border-radius:6px;font-size:12px;font-weight:500;color:var(--text-secondary, #4b5563);cursor:pointer;transition:all .15s ease;white-space:nowrap}.dropdown-trigger:hover{background:var(--bg-secondary, #f3f4f6);border-color:var(--border-color-dark, #d1d5db)}.dropdown-trigger.smart{background:linear-gradient(135deg,#f59e0b,#f97316);border-color:transparent;color:#fff}.dropdown-trigger.smart:hover{opacity:.9}.dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;min-width:220px;background:var(--background, white);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;overflow:hidden}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;font-size:13px;color:var(--text-primary, #111827);cursor:pointer;text-align:left;transition:all .1s ease}.dropdown-item:hover:not(:disabled){background:var(--bg-secondary, #f3f4f6)}.dropdown-item:disabled{opacity:.5;cursor:not-allowed}.dropdown-item.highlight{background:#f59e0b14}.dropdown-item.highlight:hover{background:#f59e0b26}.dropdown-item svg{flex-shrink:0;color:var(--text-muted, #6b7280)}.dropdown-item.highlight svg{color:var(--color-warning, #f59e0b)}.dropdown-divider{height:1px;background:var(--border-color, #e5e7eb);margin:4px 0}.item-content{display:flex;flex-direction:column;gap:2px}.item-content small{font-size:11px;color:var(--text-muted, #6b7280)}.action-section{flex-shrink:0}.action-label{font-size:12px;font-weight:500;color:var(--text-muted, #6b7280);white-space:nowrap}.action-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;background:var(--background, white);border:1px solid var(--border-color, #e5e7eb);border-radius:5px;font-size:12px;font-weight:500;color:var(--text-secondary, #4b5563);cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0;min-width:fit-content}.action-btn:hover:not(:disabled){border-color:var(--border-color-dark, #d1d5db)}.action-btn.create:hover:not(:disabled){background:#22c55e1a;border-color:var(--color-success, #22c55e);color:var(--color-success-text, #166534)}.action-btn.create.has-count{background:#22c55e1a;border-color:var(--color-success, #22c55e);color:var(--color-success-text, #166534)}.action-btn.overwrite:hover:not(:disabled){background:#f59e0b1a;border-color:var(--color-warning, #f59e0b);color:var(--color-warning-text, #92400e)}.action-btn.overwrite.has-count{background:#f59e0b1a;border-color:var(--color-warning, #f59e0b);color:var(--color-warning-text, #92400e)}.action-btn.skip:hover:not(:disabled){background:#6b72801a;border-color:var(--text-muted, #6b7280);color:var(--text-secondary, #4b5563)}.action-btn.skip.has-count{background:#6b72801a;border-color:var(--text-muted, #6b7280)}.action-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:600;background:#0000001a;border-radius:9px}.carrier-section{flex-shrink:0}.carrier-bulk-select{padding:5px 10px;background:var(--background, white);border:1px solid var(--border-color, #e5e7eb);border-radius:5px;font-size:12px;font-weight:500;color:var(--text-secondary, #4b5563);cursor:pointer;transition:all .15s ease;white-space:nowrap}.carrier-bulk-select:hover{border-color:var(--border-color-dark, #d1d5db)}.carrier-bulk-select:focus{border-color:var(--color-primary, #3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.stats-section{margin-left:auto;gap:16px;flex-wrap:wrap}.stat-item{display:flex;align-items:baseline;gap:4px}.stat-value{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.stat-value.create{color:var(--color-success, #22c55e)}.stat-value.overwrite{color:var(--color-warning, #f59e0b)}.stat-value.skip{color:var(--text-muted, #6b7280)}.stat-label{font-size:11px;color:var(--text-muted, #9ca3af)}@media (max-width: 1024px){.bulk-action-toolbar{gap:8px}}@media (max-width: 768px){.bulk-action-toolbar{padding:8px 12px;gap:8px;flex-wrap:wrap;overflow-x:visible}.toolbar-separator{display:none}.action-section{width:100%;padding-top:8px;border-top:1px solid var(--border-color, #e5e7eb)}.stats-section{width:100%;justify-content:center;padding-top:8px;border-top:1px solid var(--border-color, #e5e7eb);margin-left:0}.action-btn span{display:none}.action-btn{padding:6px 8px}}@media (max-width: 480px){.selection-count,.action-label,.dropdown-trigger span{display:none}}.modal-content{background:var(--background);border-radius:8px;box-shadow:0 4px 6px #0000001a;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:20px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.close-button{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-button:hover{background-color:var(--surface)}.modal-body{padding:20px;overflow-y:auto}.import-instructions{background-color:var(--surface);border-radius:8px;padding:16px;margin-bottom:24px}.import-instructions h3{margin:0 0 12px;font-size:16px;font-weight:600}.import-instructions ol{margin:0 0 16px;padding-left:20px}.import-instructions li{margin-bottom:8px;line-height:1.5}.file-upload-section{margin-bottom:24px}.import-options{margin-bottom:24px;padding:16px;background-color:var(--surface);border-radius:8px}.import-options label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text-primary);font-weight:500}.jurisdiction-select{margin-top:16px;display:flex;flex-direction:column;gap:8px}.jurisdiction-select label{font-weight:500;color:var(--text-primary);font-size:14px}.jurisdiction-select select{padding:8px 12px;border:1px solid var(--border);border-radius:4px;font-size:14px;background-color:var(--background);cursor:pointer}.jurisdiction-select select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #06c3}.upload-button{width:100%;padding:24px;border:2px dashed var(--primary-color);border-radius:8px;background-color:var(--surface);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .2s;color:var(--text-primary);font-size:14px;font-weight:500}.upload-button:hover{background-color:var(--hover-bg);border-color:var(--primary-hover)}.validation-results{background-color:var(--warning-bg);border-radius:8px;padding:16px;margin-bottom:24px}.validation-results h3{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--warning-color-text)}.validation-section{display:flex;align-items:center;gap:8px;margin-bottom:8px}.overwrite-option{margin-top:16px;padding-top:16px;border-top:1px solid var(--warning-color)}.overwrite-option label{display:flex;align-items:center;gap:8px;cursor:pointer}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--border)}.import-mode-tabs{display:flex;gap:0;margin-bottom:24px;border-bottom:2px solid var(--border)}.tab-button{flex:1;padding:12px 16px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-primary);transition:all .2s}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background-color:transparent}.tab-button.active:hover{background-color:transparent}.paste-section{margin-bottom:24px}.paste-textarea{width:100%;min-height:200px;padding:12px;border:1px solid var(--border);border-radius:4px;font-family:monospace;font-size:13px;resize:vertical;margin-bottom:12px}.paste-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #06c3}.preview-section{background-color:var(--surface);border-radius:8px;padding:16px;margin-bottom:24px}.preview-section h3{margin:0 0 12px;font-size:16px;font-weight:600}.mapping-info{background-color:var(--primary-light);border-radius:4px;padding:12px;margin-bottom:16px}.mapping-info p{margin:0 0 8px;font-size:14px;font-weight:500}.mapping-info ul{margin:0;padding-left:20px;list-style-type:disc}.mapping-info li{font-size:13px;line-height:1.6;color:var(--text-primary)}.preview-table-container{overflow-x:auto;border:1px solid var(--border);border-radius:4px;background-color:var(--background)}.preview-table{width:100%;border-collapse:collapse;font-size:13px}.preview-table th{background-color:var(--surface);padding:8px 12px;text-align:left;font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap}.preview-table td{padding:8px 12px;border-bottom:1px solid var(--border);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.preview-table tr:hover{background-color:var(--surface)}.preview-note{margin:12px 0 0;font-size:13px;color:var(--text-primary);text-align:center;font-weight:500}.modal-large{max-width:1200px;width:90vw}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .5rem}.preview-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.bulk-actions{display:flex;gap:1rem;align-items:center}.bulk-status{display:flex;gap:.5rem;align-items:center}.bulk-status label{font-size:.875rem;color:var(--text-primary);font-weight:500}.preview-table-container{max-height:400px;overflow:auto;border:1px solid var(--border);border-radius:.5rem;margin-bottom:1rem}.preview-table{width:100%;border-collapse:collapse;font-size:.875rem}.preview-table thead{background-color:var(--surface);position:sticky;top:0;z-index:10}.preview-table th{padding:.75rem .5rem;text-align:left;font-weight:500;color:var(--text-primary);border-bottom:2px solid var(--border)}.preview-table td{padding:.5rem;border-bottom:1px solid var(--border)}.preview-table tbody tr:hover{background-color:var(--surface)}.preview-table tbody tr.selected{background-color:var(--primary-light)}.status-select{padding:.25rem .5rem;border-radius:.25rem;border:1px solid var(--border);font-size:.8125rem;cursor:pointer;transition:all .2s}.status-select.review{background-color:var(--warning-bg);border-color:var(--warning-color);color:var(--warning-color-text)}.status-select.accepted{background-color:var(--success-bg);border-color:var(--success-color);color:var(--success-color-text)}.importing-status{text-align:center;padding:3rem}.spinner{width:40px;height:40px;margin:0 auto 1rem;border:3px solid var(--border);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.import-mode-selector{display:flex;gap:0;margin:1.5rem 1.5rem 0;border-bottom:2px solid var(--border)}.mode-button{flex:1;padding:.75rem 1rem;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary);transition:all .2s;border-bottom:2px solid transparent}.mode-button:hover{color:var(--text-primary);background-color:var(--surface)}.mode-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.file-upload-section,.paste-section{padding:1.5rem}.modal-body-content{flex:1;display:flex;flex-direction:column;min-height:0}.upload-area{border:2px dashed var(--border);border-radius:.5rem;padding:2rem;text-align:center;cursor:pointer;transition:all .2s}.upload-area:hover{border-color:var(--primary-color);background-color:var(--surface)}.upload-prompt,.file-info{display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-prompt span,.file-size{font-size:.875rem;color:var(--text-primary);font-weight:500}.template-section,.jurisdiction-section,.color-section{padding:0 1.5rem 1rem}.template-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:none;border:1px solid var(--border);border-radius:.25rem;cursor:pointer;font-size:.875rem;transition:all .2s}.template-button:hover{background-color:var(--surface);border-color:var(--primary-color)}.jurisdiction-select{width:100%;padding:.5rem;margin-top:.5rem;border:1px solid var(--border);border-radius:.25rem;font-size:.875rem}.color-preview{width:32px;height:32px;border-radius:4px;border:2px solid var(--border);cursor:pointer;margin-top:.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--border);flex-shrink:0;background-color:var(--background);z-index:1}.validation-results{margin:1rem 1.5rem;padding:1rem;background-color:var(--warning-bg);border-radius:.5rem;border:1px solid var(--warning-color)}.validation-results h4{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;color:var(--warning-color-text);font-size:1rem}.error-section h5{margin:0 0 .5rem;font-size:.875rem}.error-section ul{margin:0;padding-left:1.5rem;font-size:.8125rem}.search-ring-section{margin-top:20px;padding:16px;background-color:var(--surface);border-radius:8px;border:1px solid var(--border)}.search-ring-section>label{display:flex;align-items:center;font-weight:500;margin-bottom:0;cursor:pointer;color:var(--text-primary)}.search-ring-section input[type=checkbox]{margin-right:8px}.search-ring-options{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.radius-input,.search-ring-color{display:flex;flex-direction:column}.radius-input label,.search-ring-color label{font-size:14px;margin-bottom:8px;color:var(--text-primary);font-weight:500}.radius-input-field{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;width:100%}.opacity-input{grid-column:1 / -1}.opacity-input label{font-size:14px;margin-bottom:8px;color:var(--text-primary);font-weight:500;display:block}.opacity-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:3px;outline:none}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--primary-color);border-radius:50%;cursor:pointer}.opacity-slider::-moz-range-thumb{width:18px;height:18px;background:var(--primary-color);border-radius:50%;cursor:pointer;border:none}.preview-table{min-width:1200px}.preview-table th,.preview-table td{white-space:nowrap}.preview-table input[type=number]{border:1px solid var(--border);border-radius:3px;font-size:.8125rem}.preview-table input[type=number]:disabled{background-color:var(--surface);cursor:not-allowed}.color-cell{cursor:pointer;transition:transform .2s}.color-cell:hover{transform:scale(1.1);box-shadow:0 2px 4px #0003}.bulk-actions{flex-wrap:wrap;gap:.5rem}.bulk-actions button{white-space:nowrap}.preview-color-dropdown{background-color:var(--background);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000040;padding:8px;min-width:140px}.preview-color-dropdown .color-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.preview-color-dropdown .color-option{width:24px;height:24px;border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:0;transition:all .2s}.preview-color-dropdown .color-option:hover{transform:scale(1.2);box-shadow:0 2px 4px #0003;border-color:var(--text-primary)}.form-group label,.upload-button span{color:var(--text-primary);font-weight:500;font-size:14px}.modal-body label{color:var(--text-primary);font-weight:500}.modal-body p,.modal-body span{color:var(--text-primary)}.jurisdiction-section label,.color-section label{color:var(--text-primary);font-weight:500;font-size:14px}.template-section{color:var(--text-primary)}.upload-prompt p,.upload-prompt span{color:var(--text-primary);font-weight:500;font-size:14px}.file-info p,.file-info span{color:var(--text-primary);font-weight:500}.naming-section{margin-top:20px;padding:16px;background-color:var(--primary-light);border-radius:8px;border:1px solid var(--primary-color)}.naming-section>label{display:flex;align-items:center;font-weight:500;margin-bottom:0;cursor:pointer;color:var(--text-primary)}.naming-section input[type=checkbox]{margin-right:8px}.naming-options{margin-top:16px;display:grid;gap:16px}.naming-type,.naming-state,.naming-region,.naming-date,.naming-generation{display:flex;flex-direction:column}.naming-type label,.naming-state label,.naming-region label,.naming-date label,.naming-generation label{font-size:14px;margin-bottom:8px;color:var(--text-primary);font-weight:500}.naming-select,.naming-input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;width:100%;color:var(--text-primary)}.naming-select:focus,.naming-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.naming-overwrite{margin-top:12px}.naming-overwrite label{display:flex;align-items:center;font-size:14px;color:var(--text-primary);cursor:pointer;font-weight:500}.naming-overwrite input[type=checkbox]{margin-right:8px}.naming-preview{margin-top:16px;padding:12px;background-color:var(--primary-light);border-radius:6px;border:1px solid var(--primary-color)}.naming-preview label{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px;display:block}.preview-ids{display:flex;flex-direction:column;gap:4px}.preview-id{font-family:monospace;font-size:13px;padding:4px 8px;background-color:var(--background);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-weight:500}.preview-note{font-size:12px;color:var(--text-secondary);font-style:italic;margin-top:8px}.naming-carrier .help-text{display:block;margin-top:5px;color:var(--text-secondary);font-size:.85em}.carrier-indicator{color:var(--primary-color);font-weight:500;margin-left:5px}.carrier-legend{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);color:var(--text-secondary);font-size:12px}@media (min-width: 768px){.naming-options{grid-template-columns:1fr 1fr}.naming-type,.naming-overwrite,.naming-preview{grid-column:1 / -1}}.preview-split-pane{display:flex;gap:16px;height:calc(70vh - 100px);min-height:400px}.preview-table-pane{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.preview-map-pane{width:400px;min-width:300px;flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--border-color, #e5e7eb);padding-left:16px}.view-toggle-container{display:flex;justify-content:flex-end;margin-bottom:12px}.view-toggle{display:flex;background:var(--bg-secondary, #f3f4f6);border-radius:8px;padding:2px;gap:2px}.view-toggle-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s ease;white-space:nowrap;overflow:hidden;flex-shrink:0}.view-toggle-btn:hover{color:var(--text-primary, #111827)}.view-toggle-btn.active{background:var(--background, white);color:var(--text-primary, #111827);box-shadow:0 1px 2px #0000000d}.preview-header-enhanced{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:12px}.preview-header-enhanced h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #111827)}.preview-stats{display:flex;gap:16px;font-size:13px}.preview-stat{display:flex;align-items:center;gap:4px}.preview-stat-value{font-weight:700;font-variant-numeric:tabular-nums}.preview-stat-value.create{color:var(--color-success, #22c55e)}.preview-stat-value.overwrite{color:var(--color-warning, #f59e0b)}.preview-stat-value.skip{color:var(--text-muted, #6b7280)}.preview-stat-value.duplicate{color:var(--color-error, #dc2626)}.preview-stat-label{color:var(--text-muted, #6b7280)}.enhanced-preview-table-container{flex:1;overflow:auto;border:1px solid var(--border-color, #e5e7eb);border-radius:8px}.enhanced-preview-table{width:100%;border-collapse:collapse;font-size:13px}.enhanced-preview-table th{position:sticky;top:0;background:var(--bg-secondary, #f9fafb);padding:10px 12px;text-align:left;font-weight:600;color:var(--text-secondary, #4b5563);border-bottom:1px solid var(--border-color, #e5e7eb);white-space:nowrap;z-index:10}.enhanced-preview-table td{padding:8px 12px;border-bottom:1px solid var(--border-color, #f3f4f6);vertical-align:middle}.enhanced-preview-table tbody tr{transition:background-color .15s ease}.enhanced-preview-table tbody tr:hover{background:var(--bg-secondary, #f9fafb)}.enhanced-preview-table tbody tr.highlighted{background:#3b82f614}.enhanced-preview-table tbody tr.selected{background:#3b82f60a}.enhanced-preview-table tbody tr.has-duplicate{border-left:3px solid var(--color-warning, #f59e0b)}.enhanced-preview-table tbody tr.action-skip{opacity:.6}.site-id-cell{display:flex;align-items:center;gap:8px}.site-id-text{font-weight:500;color:var(--text-primary, #111827)}.duplicate-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-size:10px;font-weight:600;border-radius:4px;cursor:pointer;transition:background-color .15s ease,color .15s ease,filter .15s ease,box-shadow .15s ease}.duplicate-badge.high-confidence{background:#dc26261a;color:var(--color-error, #dc2626)}.duplicate-badge.medium-confidence{background:#f59e0b1a;color:var(--color-warning-text, #d97706)}.duplicate-badge.low-confidence{background:#6b72801a;color:var(--text-muted, #6b7280)}.duplicate-badge:hover{filter:brightness(1.15);box-shadow:0 1px 3px #0000001f}.coords-cell{font-variant-numeric:tabular-nums;font-size:12px;color:var(--text-secondary, #4b5563)}.action-cell{min-width:140px}.map-pane-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.map-pane-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #111827);display:flex;align-items:center;gap:6px}.map-legend{display:flex;flex-wrap:wrap;gap:12px;padding:8px 12px;background:var(--bg-secondary, #f9fafb);border-radius:6px;margin-bottom:12px;font-size:11px}.legend-item{display:flex;align-items:center;gap:4px}.legend-marker{width:12px;height:12px;border-radius:50%}.legend-marker.create{background:var(--color-success, #22c55e)}.legend-marker.overwrite{background:var(--color-warning, #f59e0b)}.legend-marker.skip{background:var(--text-muted, #9ca3af)}.legend-label{color:var(--text-secondary, #4b5563)}.import-map-container{flex:1;border-radius:8px;overflow:hidden;border:1px solid var(--border-color, #e5e7eb);min-height:300px}.comparison-panel-overlay{position:fixed;top:0;right:0;bottom:0;width:500px;max-width:90vw;background:var(--background, white);box-shadow:-4px 0 20px #00000026;z-index:1000;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column}.comparison-panel-overlay.open{transform:translate(0)}.comparison-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color, #e5e7eb)}.comparison-panel-header h3{margin:0;font-size:16px;font-weight:600}.comparison-panel-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--bg-secondary, #f3f4f6);border-radius:6px;cursor:pointer;color:var(--text-secondary, #4b5563);transition:all .15s ease}.comparison-panel-close:hover{background:var(--bg-tertiary, #e5e7eb);color:var(--text-primary, #111827)}.comparison-panel-body{flex:1;overflow-y:auto;padding:20px}.duplicate-detection-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px}.duplicate-detection-spinner{width:40px;height:40px;border:3px solid var(--border-color, #e5e7eb);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin 1s linear infinite}.duplicate-detection-text{font-size:14px;color:var(--text-secondary, #4b5563)}.preview-split-pane.table-only .preview-map-pane{display:none}.preview-split-pane.table-only .preview-table-pane{flex:1;max-width:100%}.preview-split-pane.map-only .preview-table-pane{display:none}.preview-split-pane.map-only .preview-map-pane{flex:1;width:100%;min-width:0;border-left:none;padding-left:0}.preview-split-pane.map-only .import-map-container{height:calc(70vh - 200px);min-height:500px}@media (max-width: 1024px){.preview-split-pane{flex-direction:column}.preview-map-pane{width:100%;min-width:0;border-left:none;border-top:1px solid var(--border-color, #e5e7eb);padding-left:0;padding-top:16px;height:300px}}@media (max-width: 768px){.preview-header-enhanced{flex-direction:column;align-items:flex-start}.preview-stats{flex-wrap:wrap;gap:8px 16px}.comparison-panel-overlay{width:100%}}@media (max-width: 600px){.view-toggle-btn{padding:6px 8px;gap:4px;font-size:12px}}.carrier-cell{white-space:nowrap}.carrier-import-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;color:#fff;cursor:pointer;letter-spacing:.3px;transition:filter .15s ease}.carrier-import-badge:hover{filter:brightness(1.15)}.carrier-import-placeholder{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--bg-secondary, #f3f4f6);color:var(--text-muted, #9ca3af);font-size:14px;cursor:pointer;transition:all .15s ease}.carrier-import-placeholder:hover{background:var(--bg-tertiary, #e5e7eb);color:var(--text-secondary, #4b5563)}.carrier-inline-select{width:90px;padding:2px 4px;font-size:12px;border:1px solid var(--color-primary, #3b82f6);border-radius:4px;background:var(--background, white);color:var(--text-primary, #111827);outline:none}:root.dark .carrier-import-placeholder,.dark .carrier-import-placeholder{background:#ffffff14;color:#6b7280}:root.dark .carrier-import-placeholder:hover,.dark .carrier-import-placeholder:hover{background:#ffffff1f;color:#9ca3af}:root.dark .carrier-inline-select,.dark .carrier-inline-select{background:var(--bg-tertiary, #374151);color:#f9fafb;border-color:var(--color-primary, #60a5fa)}.enhanced-preview-table input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary, #3b82f6)}.no-sites-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-muted, #6b7280)}.no-sites-message svg{margin-bottom:12px;opacity:.5}.no-sites-message p{margin:0;font-size:14px}.project-assignment-section{margin-top:16px;padding:12px;background:var(--bg-secondary, #f9fafb);border-radius:8px}.project-assignment-section label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-primary, #111827);margin-bottom:8px}.project-assignment-section select{width:100%;padding:8px 12px;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-size:14px;background:var(--background, white);color:var(--text-primary, #111827)}.preview-button-wrapper{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.preview-disabled-hint{font-size:12px;color:var(--text-muted, #6b7280);font-style:italic}:root.dark .preview-disabled-hint{color:var(--text-muted, #9ca3af)}:root.dark .duplicate-badge.high-confidence,.dark .duplicate-badge.high-confidence{background:#f8717133;color:#fca5a5}:root.dark .duplicate-badge.medium-confidence,.dark .duplicate-badge.medium-confidence{background:#fbbf2433;color:#fcd34d}:root.dark .duplicate-badge.low-confidence,.dark .duplicate-badge.low-confidence{background:#9ca3af26;color:#d1d5db}:root.dark .site-id-text,.dark .site-id-text{color:#f9fafb}:root.dark .coords-cell,.dark .coords-cell{color:#9ca3af}.jurisdiction-mismatch-warning{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;margin-top:8px;background:var(--amber-50, #fffbeb);border:1px solid var(--amber-200, #fde68a);border-radius:6px;font-size:12px;color:var(--amber-700, #b45309);line-height:1.4}.jurisdiction-mismatch-warning svg{flex-shrink:0;margin-top:1px}.location-sub-tabs{display:flex;gap:.25rem;margin-bottom:1rem;padding:.25rem;background:var(--color-gray-100);border-radius:.5rem}.dark .location-sub-tabs{background:var(--color-gray-800)}.location-sub-tab{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:none;background:transparent;border-radius:.375rem;font-size:.8125rem;font-weight:500;color:var(--color-gray-600);cursor:pointer;transition:all .15s ease}.dark .location-sub-tab{color:var(--color-gray-400)}.location-sub-tab:hover:not(.disabled){background:var(--color-gray-200);color:var(--color-gray-800)}.dark .location-sub-tab:hover:not(.disabled){background:var(--color-gray-700);color:var(--color-gray-200)}.location-sub-tab.active{background:#fff;color:var(--color-blue-600);box-shadow:0 1px 2px #0000000d}.dark .location-sub-tab.active{background:var(--color-gray-700);color:var(--color-blue-400)}.location-sub-tab.disabled{opacity:.5;cursor:not-allowed}.location-tab-content{min-height:300px}.location-subtab-panel{width:100%}.map-subtab-content{display:flex;flex-direction:column;gap:.5rem}.map-subtab-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;height:300px;background:var(--color-gray-50);border-radius:.5rem}.dark .map-subtab-placeholder{background:var(--color-gray-800)}.map-controls{display:flex;gap:.5rem;justify-content:flex-end}.map-container{width:100%;height:300px;border-radius:.5rem;overflow:hidden;border:1px solid var(--color-gray-200)}.dark .map-container{border-color:var(--color-gray-700)}.map-info-bar{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--color-gray-50);border-radius:.375rem;font-size:.75rem}.dark .map-info-bar{background:var(--color-gray-800)}.coords-display,.distance-display{display:flex;align-items:center;gap:.375rem;color:var(--color-gray-600)}.dark .coords-display,.dark .distance-display{color:var(--color-gray-400)}.streetview-subtab-content{position:relative}.streetview-subtab-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;height:300px;background:var(--color-gray-50);border-radius:.5rem}.dark .streetview-subtab-placeholder{background:var(--color-gray-800)}.streetview-container{width:100%;height:300px;border-radius:.5rem;overflow:hidden;border:1px solid var(--color-gray-200)}.dark .streetview-container{border-color:var(--color-gray-700)}.streetview-unavailable-bg{background:var(--color-gray-100)}.dark .streetview-unavailable-bg{background:var(--color-gray-800)}.streetview-unavailable{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--color-gray-500);text-align:center}.streetview-checking{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--color-gray-500);text-align:center;font-size:.875rem}.dark .streetview-checking{color:var(--color-gray-400)}.streetview-capture-btn{position:absolute;bottom:1rem;right:1rem;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:none;border-radius:50%;background:var(--color-blue-600);color:#fff;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 8px #0003}.streetview-capture-btn:hover{background:var(--color-blue-700);transform:scale(1.05)}.streetview-capture-btn.capturing{background:var(--color-gray-400);cursor:wait}.streetview-toast{position:absolute;bottom:1rem;left:1rem;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.375rem;font-size:.8125rem;font-weight:500;animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.streetview-toast.success{background:var(--color-green-100);color:var(--color-green-700)}.dark .streetview-toast.success{background:var(--color-green-900);color:var(--color-green-300)}.streetview-toast.error{background:var(--color-red-100);color:var(--color-red-700)}.dark .streetview-toast.error{background:var(--color-red-900);color:var(--color-red-300)}.streetview-image-count{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border:none;border-radius:9999px;background:#000000b3;color:#fff;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .15s ease}.streetview-image-count:hover{background:#000000d9}.streetview-gallery-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999}.streetview-gallery-modal{position:relative;width:90%;max-width:800px;max-height:90vh;background:#fff;border-radius:.5rem;overflow:hidden;display:flex;flex-direction:column}.dark .streetview-gallery-modal{background:var(--color-gray-900)}.gallery-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--color-gray-200)}.dark .gallery-header{border-bottom-color:var(--color-gray-700)}.gallery-title{font-weight:500;color:var(--color-gray-900)}.dark .gallery-title{color:var(--color-gray-100)}.gallery-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;background:transparent;color:var(--color-gray-500);cursor:pointer}.gallery-close:hover{background:var(--color-gray-100);color:var(--color-gray-700)}.dark .gallery-close:hover{background:var(--color-gray-800);color:var(--color-gray-300)}.gallery-content{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:300px;background:var(--color-gray-100)}.dark .gallery-content{background:var(--color-gray-800)}.gallery-image{max-width:100%;max-height:60vh;object-fit:contain}.gallery-loading,.gallery-empty{color:var(--color-gray-500)}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:none;border-radius:50%;background:#00000080;color:#fff;cursor:pointer;transition:background .15s ease}.gallery-nav:hover{background:#000000b3}.gallery-prev{left:1rem}.gallery-next{right:1rem}.gallery-footer{padding:.75rem 1rem;border-top:1px solid var(--color-gray-200);font-size:.75rem;color:var(--color-gray-500)}.dark .gallery-footer{border-top-color:var(--color-gray-700);color:var(--color-gray-400)}.tag-badge{display:inline-flex;align-items:center;gap:4px;border-radius:12px;font-weight:500;white-space:nowrap;transition:all .2s ease;-webkit-user-select:none;user-select:none}.tag-badge.clickable{cursor:pointer}.tag-badge.clickable:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0003}.tag-badge-small{padding:2px 8px;font-size:11px}.tag-badge-medium{padding:4px 10px;font-size:12px}.tag-badge-large{padding:6px 14px;font-size:14px}.tag-name{max-width:150px;overflow:hidden;text-overflow:ellipsis}.tag-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:4px;margin-right:-4px;background:#0003;border:none;border-radius:50%;color:inherit;font-size:16px;line-height:1;cursor:pointer;transition:background-color .2s;padding:0}.tag-remove:hover{background:#0000004d}.tag-badge-small .tag-remove{width:14px;height:14px;font-size:14px}.tag-badge-large .tag-remove{width:18px;height:18px;font-size:18px}.tag-selector{position:relative;width:100%}.tag-selector-input{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:6px 12px;border:1px solid var(--border);border-radius:4px;background-color:var(--background);cursor:pointer;transition:all .2s}.tag-selector-input:hover:not(.disabled){border-color:var(--primary)}.tag-selector-input.open{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha-10, rgba(59, 130, 246, .1))}.tag-selector-input.disabled{background-color:var(--surface);cursor:not-allowed;opacity:.7}.selected-tags{display:flex;flex-wrap:wrap;gap:4px;flex:1;align-items:center}.placeholder{color:var(--text-muted);font-size:14px}.dropdown-icon{color:var(--text-secondary);transition:transform .2s;flex-shrink:0}.dropdown-icon.open{transform:rotate(180deg)}.tag-selector-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--background);border:1px solid var(--border);border-radius:4px;box-shadow:var(--shadow-lg, 0 4px 12px rgba(0, 0, 0, .1));z-index:1000;max-height:300px;overflow:hidden;display:flex;flex-direction:column}.tag-search{padding:8px;border-bottom:1px solid var(--border)}.tag-search input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-size:14px;outline:none;background:var(--background);color:var(--text-primary)}.tag-search input::placeholder{color:var(--text-muted)}.tag-search input:focus{border-color:var(--primary)}.tag-list{flex:1;overflow-y:auto;max-height:250px}.tag-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;transition:background-color .2s;font-size:14px;color:var(--text-primary)}.tag-item:hover:not(.disabled):not(.loading):not(.no-results){background-color:var(--hover-bg)}.tag-item.selected{background-color:var(--primary-alpha-10, rgba(59, 130, 246, .1))}.tag-item.disabled{opacity:.5;cursor:not-allowed}.tag-item.loading,.tag-item.no-results{color:var(--text-secondary);cursor:default;font-style:italic}.tag-item.create-tag{color:var(--primary);font-weight:500;display:flex;align-items:center;gap:6px}.tag-item.create-tag:hover{background-color:var(--primary-alpha-10, rgba(59, 130, 246, .1))}.tag-item-content{display:flex;align-items:center;gap:8px;flex:1}.tag-color-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.tag-name{flex:1}.tag-usage{color:var(--text-muted);font-size:12px}.tag-item svg{color:var(--primary);flex-shrink:0}.files-section .files-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.files-section .files-actions{display:flex;gap:.5rem}.files-section .upload-btn{display:flex;align-items:center;gap:.375rem}.file-sub-tabs{display:flex;gap:.25rem;margin-bottom:1rem;padding:.25rem;background:var(--color-gray-100);border-radius:.5rem;overflow-x:auto}.dark .file-sub-tabs{background:var(--color-gray-800)}.file-sub-tab{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:none;background:transparent;border-radius:.375rem;font-size:.8125rem;font-weight:500;color:var(--color-gray-600);cursor:pointer;transition:all .15s ease;white-space:nowrap}.dark .file-sub-tab{color:var(--color-gray-400)}.file-sub-tab:hover{background:var(--color-gray-200);color:var(--color-gray-800)}.dark .file-sub-tab:hover{background:var(--color-gray-700);color:var(--color-gray-200)}.file-sub-tab.active{background:#fff;color:var(--color-blue-600);box-shadow:0 1px 2px #0000000d}.dark .file-sub-tab.active{background:var(--color-gray-700);color:var(--color-blue-400)}.file-sub-tab .tab-label{display:none}@media (min-width: 640px){.file-sub-tab .tab-label{display:inline}}.file-sub-tab .tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;font-size:.6875rem;font-weight:600;background:var(--color-gray-200);border-radius:9999px}.dark .file-sub-tab .tab-count{background:var(--color-gray-600)}.file-sub-tab.active .tab-count{background:var(--color-blue-100);color:var(--color-blue-700)}.dark .file-sub-tab.active .tab-count{background:var(--color-blue-900);color:var(--color-blue-300)}.files-search{margin-bottom:1rem}.file-list{display:flex;flex-direction:column;gap:.5rem}.file-list-loading,.file-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;text-align:center}.file-list-empty p{font-size:.875rem}.file-card{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:.5rem;transition:border-color .15s ease,box-shadow .15s ease}.dark .file-card{background:var(--color-gray-800);border-color:var(--color-gray-700)}.file-card:hover{border-color:var(--color-gray-300);box-shadow:0 1px 3px #0000001a}.dark .file-card:hover{border-color:var(--color-gray-600)}.file-icon-wrapper{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--color-gray-100);border-radius:.375rem;flex-shrink:0}.dark .file-icon-wrapper{background:var(--color-gray-700)}.file-icon{color:var(--color-gray-500)}.dark .file-icon{color:var(--color-gray-400)}.file-name{font-size:.875rem;font-weight:500;color:var(--color-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .file-name{color:var(--color-gray-100)}.file-meta{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.75rem}.file-category{display:inline-flex;padding:.125rem .375rem;font-size:.6875rem;font-weight:500;border-radius:.25rem}.file-size{color:var(--color-gray-500)}.dark .file-size{color:var(--color-gray-400)}.file-description{margin-top:.375rem;font-size:.75rem;color:var(--color-gray-600);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dark .file-description{color:var(--color-gray-400)}.file-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.375rem}.file-tags .more-tags{font-size:.6875rem;color:var(--color-gray-500)}.file-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s ease}.file-card:hover .file-actions{opacity:1}.file-list.compact .file-card{padding:.5rem}.file-list.compact .file-icon-wrapper{width:2rem;height:2rem}.file-list.compact .file-name{font-size:.8125rem}.files-error{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;text-align:center}.files-error p{font-size:.875rem}.settings-group{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-gray-200)}.dark .settings-group{border-bottom-color:var(--color-gray-700)}.settings-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-group-title{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--color-gray-900)}.dark .settings-group-title{color:var(--color-gray-100)}.settings-group-description{margin:0 0 1rem;font-size:.75rem;color:var(--color-gray-500)}.dark .settings-group-description{color:var(--color-gray-400)}.tab-visibility-list{display:flex;flex-direction:column;gap:.5rem}.tab-visibility-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-gray-50);border-radius:.375rem;transition:background .15s ease,opacity .15s ease,box-shadow .15s ease;cursor:grab}.tab-visibility-item:active{cursor:grabbing}.dark .tab-visibility-item{background:var(--color-gray-800)}.tab-visibility-item.hidden{opacity:.6}.tab-visibility-item.dragging{opacity:.5;background:var(--color-blue-50)}.dark .tab-visibility-item.dragging{background:var(--color-blue-900)}.tab-visibility-item.drag-over{box-shadow:inset 0 -2px 0 var(--color-blue-500);background:var(--color-blue-50)}.dark .tab-visibility-item.drag-over{background:var(--color-blue-900)}.tab-drag-handle{display:flex;align-items:center;color:var(--color-gray-400);cursor:grab;flex-shrink:0}.tab-drag-handle:hover{color:var(--color-gray-600)}.dark .tab-drag-handle{color:var(--color-gray-500)}.dark .tab-drag-handle:hover{color:var(--color-gray-300)}.tab-visibility-info{display:flex;align-items:center;gap:.5rem;flex:1}.tab-name{font-size:.8125rem;font-weight:500;color:var(--color-gray-700)}.dark .tab-name{color:var(--color-gray-300)}.visibility-toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;background:transparent;color:var(--color-gray-400);cursor:pointer;transition:all .15s ease}.visibility-toggle:hover{background:var(--color-gray-200);color:var(--color-gray-600)}.dark .visibility-toggle:hover{background:var(--color-gray-700);color:var(--color-gray-300)}.visibility-toggle.visible{color:var(--color-blue-500)}.visibility-toggle.visible:hover{color:var(--color-blue-600)}.settings-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.settings-toggle{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;cursor:pointer}.toggle-label{font-size:.8125rem;color:var(--color-gray-700)}.dark .toggle-label{color:var(--color-gray-300)}.settings-toggle input{display:none}.toggle-switch{position:relative;width:2.5rem;height:1.5rem;background:var(--color-gray-300);border-radius:9999px;transition:background .2s ease}.dark .toggle-switch{background:var(--color-gray-600)}.toggle-switch:after{content:"";position:absolute;top:.125rem;left:.125rem;width:1.25rem;height:1.25rem;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.settings-toggle input:checked+.toggle-switch{background:var(--color-blue-500)}.settings-toggle input:checked+.toggle-switch:after{transform:translate(1rem)}.default-tab-selector{display:flex;align-items:center;gap:1rem}.selector-label{font-size:.8125rem;font-weight:500;color:var(--color-gray-700);white-space:nowrap}.dark .selector-label{color:var(--color-gray-300)}.selector-input{flex:1;max-width:200px;padding:.375rem .75rem;font-size:.8125rem;border:1px solid var(--color-gray-300);border-radius:.375rem;background:#fff;color:var(--color-gray-900)}.dark .selector-input{background:var(--color-gray-800);border-color:var(--color-gray-600);color:var(--color-gray-100)}.save-view-form{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:.75rem;background:var(--color-gray-50);border-radius:.5rem}.dark .save-view-form{background:var(--color-gray-800)}.save-view-actions{display:flex;gap:.5rem}.save-view-trigger{margin-bottom:1rem}.save-error{margin:0;font-size:.75rem;color:var(--color-red-600)}.dark .save-error{color:var(--color-red-400)}.save-success{display:flex;align-items:center;gap:.375rem;margin-bottom:1rem;padding:.5rem .75rem;font-size:.75rem;font-weight:500;background:var(--color-green-100);color:var(--color-green-700);border-radius:.375rem}.dark .save-success{background:var(--color-green-900);color:var(--color-green-300)}.saved-views-loading{display:flex;align-items:center;gap:.5rem;padding:.75rem;font-size:.75rem;color:var(--color-gray-500)}.saved-views-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.saved-view-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--color-gray-50);border-radius:.375rem}.dark .saved-view-item{background:var(--color-gray-800)}.saved-view-info{display:flex;flex-direction:column}.saved-view-name{font-size:.8125rem;font-weight:500;color:var(--color-gray-700)}.dark .saved-view-name{color:var(--color-gray-300)}.saved-view-meta{font-size:.6875rem;color:var(--color-gray-500)}.dark .saved-view-meta{color:var(--color-gray-400)}.no-saved-views{margin:0 0 1rem;font-size:.75rem;color:var(--color-gray-500);font-style:italic}.dark .no-saved-views{color:var(--color-gray-400)}.reset-button{color:var(--color-orange-600)}.reset-button:hover{background:var(--color-orange-50)}.dark .reset-button{color:var(--color-orange-400)}.dark .reset-button:hover{background:var(--color-orange-900)}.notes-section .section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.notes-loading,.notes-error{display:flex;align-items:center;gap:.5rem;padding:1rem;color:var(--color-gray-500)}.dark .notes-loading,.dark .notes-error{color:var(--color-gray-400)}.notes-error{color:var(--color-red-500)}.dark .notes-error{color:var(--color-red-400)}.note-item{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.875rem;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:.5rem;transition:border-color .15s ease}.note-item:hover{border-color:var(--color-gray-300)}.dark .note-item{background:var(--color-gray-800);border-color:var(--color-gray-700)}.dark .note-item:hover{border-color:var(--color-gray-600)}.note-item.compact{padding:.625rem}.note-content{flex:1;min-width:0}.note-text{margin:0 0 .5rem;font-size:.875rem;line-height:1.5;color:var(--color-gray-800);white-space:pre-wrap;word-break:break-word}.dark .note-text{color:var(--color-gray-200)}.note-meta{display:flex;align-items:center;gap:1rem;font-size:.75rem;color:var(--color-gray-500)}.dark .note-meta{color:var(--color-gray-400)}.note-author,.note-date{display:flex;align-items:center;gap:.25rem}.note-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.note-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:.375rem;color:var(--color-gray-400);cursor:pointer;transition:all .15s ease}.note-action-btn:hover{background:var(--color-gray-100);color:var(--color-gray-600)}.dark .note-action-btn:hover{background:var(--color-gray-700);color:var(--color-gray-300)}.note-action-btn.delete:hover{background:var(--color-red-50);color:var(--color-red-500)}.dark .note-action-btn.delete:hover{background:#ef444426;color:var(--color-red-400)}.note-edit-mode{width:100%}.note-edit-textarea{width:100%;min-height:80px;padding:.5rem;margin-bottom:.5rem;font-size:.875rem;font-family:inherit;line-height:1.5;color:var(--color-gray-800);background-color:#fff;border:1px solid var(--color-gray-300);border-radius:.375rem;resize:vertical}.dark .note-edit-textarea{color:var(--color-gray-200);background-color:var(--color-gray-900);border-color:var(--color-gray-600)}.note-edit-textarea:focus{outline:none;border-color:var(--color-blue-500);box-shadow:0 0 0 2px #3b82f633}.note-edit-actions{display:flex;justify-content:flex-end;gap:.5rem}.add-note-content{display:flex;flex-direction:column;gap:.75rem}.site-context{font-size:.875rem;color:var(--color-gray-600)}.dark .site-context{color:var(--color-gray-400)}.site-context strong{color:var(--color-gray-800);font-weight:600}.dark .site-context strong{color:var(--color-gray-200)}.site-context .site-address{color:var(--color-gray-500)}.add-note-textarea{width:100%;min-height:120px;padding:.75rem;font-size:.875rem;font-family:inherit;line-height:1.5;color:var(--color-gray-800);background-color:#fff;border:1px solid var(--color-gray-300);border-radius:.5rem;resize:vertical}.dark .add-note-textarea{color:var(--color-gray-200);background-color:var(--color-gray-900);border-color:var(--color-gray-600)}.add-note-textarea:focus{outline:none;border-color:var(--color-blue-500);box-shadow:0 0 0 2px #3b82f633}.add-note-textarea::placeholder{color:var(--color-gray-400)}.site-quick-view-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#00000080;z-index:10020;animation:fadeIn .15s ease-out}.site-quick-view-modal{position:relative;display:flex;flex-direction:column;width:90vw;max-width:1600px;max-height:90vh;background-color:#fff;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dark .site-quick-view-modal{background-color:#111827;border:1px solid #374151}.quick-view-modal-header{position:relative;flex-shrink:0;border-bottom:1px solid #e5e7eb;background-color:#f9fafb}.absolute-close-button{position:absolute;top:.75rem;right:.75rem;z-index:10;padding:.375rem!important;border-radius:.375rem;color:#6b7280;transition:all .15s ease}.absolute-close-button:hover{background-color:#f3f4f6;color:#374151}.dark .absolute-close-button{color:#9ca3af}.dark .absolute-close-button:hover{background-color:#374151;color:#f3f4f6}.dark .quick-view-modal-header{border-bottom-color:#374151;background-color:#1f2937}.header-content{display:flex;align-items:center;justify-content:space-between;padding:1rem 3.5rem 1rem 1.5rem}.header-title-row{display:flex;align-items:center;gap:.75rem}.site-id-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.dark .site-id-title{color:#f9fafb}.flag-icon{color:#ef4444}.header-loading,.header-error{display:flex;align-items:center;gap:.5rem;color:#6b7280}.header-error{color:#ef4444}.header-placeholder{color:#9ca3af;font-style:italic}.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.nav-button{display:flex;align-items:center;gap:.375rem;white-space:nowrap;padding:.5rem .75rem;font-size:.875rem;border:1px solid #e5e7eb;border-radius:.375rem;background-color:transparent;color:#374151;transition:all .15s ease;flex-shrink:0;min-width:fit-content}.nav-button:hover{background-color:#f3f4f6;border-color:#d1d5db}.dark .nav-button{border-color:#4b5563;color:#d1d5db}.dark .nav-button:hover{background-color:#374151;border-color:#6b7280}.quick-view-tabs{display:flex;gap:0;padding:0 1.5rem;overflow-x:auto;scrollbar-width:thin}.quick-view-tabs::-webkit-scrollbar{height:4px}.quick-view-tabs::-webkit-scrollbar-track{background:transparent}.quick-view-tabs::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.dark .quick-view-tabs::-webkit-scrollbar-thumb{background:#4b5563}.quick-view-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;color:#6b7280;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:all .15s ease}.quick-view-tab:hover{color:#374151;background-color:#00000008}.quick-view-tab.active{color:#2563eb;border-bottom-color:transparent;position:relative}.quick-view-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,#2563eb,#3b82f6);border-radius:1px 1px 0 0}.dark .quick-view-tab{color:#9ca3af}.dark .quick-view-tab:hover{color:#f3f4f6;background-color:#ffffff0d}.dark .quick-view-tab.active{color:#60a5fa;border-bottom-color:transparent}.dark .quick-view-tab.active:after{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.quick-view-modal-content{flex:1;overflow-y:auto;padding:1.5rem 2rem;min-height:0}.content-loading,.content-error,.content-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:#6b7280;text-align:center}.content-error{color:#dc2626}.content-error h3{margin:0;font-size:1.125rem;font-weight:600}.content-error p{margin:0;color:#6b7280}.dark .content-loading,.dark .content-empty{color:#9ca3af}.tab-content{animation:fadeIn .15s ease-out}.section-content{max-width:100%}.section-title{font-size:1rem;font-weight:600;color:#374151;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.dark .section-title{color:#f9fafb;border-bottom-color:#4b5563}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.dark .section-header-row{border-bottom-color:#4b5563}.section-header-row .section-title{margin:0;padding-bottom:0;border-bottom:none}.field-row{display:flex;align-items:flex-start;padding:.75rem 0;gap:1rem;border-bottom:1px solid #f3f4f6}.field-row:last-child{border-bottom:none}.field-row.compact{padding:.375rem 0}.dark .field-row{border-bottom-color:#1f2937}.field-label{flex-shrink:0;width:180px;font-size:.875rem;font-weight:500;color:#4b5563}.dark .field-label{color:#d1d5db}.field-value{flex:1;font-size:.875rem;color:#111827;min-width:0;word-break:break-word;overflow-wrap:break-word;line-height:1.5}.field-value.pending{opacity:.6}.field-value.code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;background-color:#f3f4f6;padding:.5rem;border-radius:.375rem;overflow-x:auto;white-space:pre-wrap}.dark .field-value{color:#f9fafb}.dark .field-value.code{background-color:#1f2937}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.image-card{position:relative;border-radius:.5rem;overflow:hidden;background-color:#f3f4f6;aspect-ratio:16 / 9}.dark .image-card{background-color:#1f2937}.site-image{width:100%;height:100%;object-fit:cover}.primary-badge{position:absolute;top:.5rem;right:.5rem}.no-images{color:#9ca3af;font-style:italic}.quick-view-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background-color:#f9fafb;flex-shrink:0}.dark .quick-view-modal-footer{border-top-color:#374151;background-color:#1f2937}.footer-left{display:flex;align-items:center;gap:.5rem}.site-meta{font-size:.75rem;color:#9ca3af}.footer-right{display:flex;align-items:center;gap:.75rem}@media (max-width: 768px){.site-quick-view-modal-overlay{padding:0;padding-top:env(safe-area-inset-top)}.site-quick-view-modal{width:100vw;max-width:100vw;max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:0;padding-bottom:env(safe-area-inset-bottom)}.header-content{flex-wrap:wrap;gap:.5rem}.absolute-close-button{min-width:44px;min-height:44px;width:44px;height:44px;padding:10px!important;display:flex;align-items:center;justify-content:center;top:.5rem;right:.5rem}.quick-view-tabs{padding:0 1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.quick-view-tabs::-webkit-scrollbar{display:none}.quick-view-tab{padding:.75rem 1rem;min-height:44px;font-size:.813rem;flex-shrink:0}.quick-view-modal-content{padding:1rem 1.25rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.field-label{width:140px}.images-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.nav-button{min-width:44px;min-height:44px;padding:10px}.sqv-quick-action-btn,.action-btn,.edit-btn,.save-btn,.cancel-btn{min-height:44px;min-width:44px;padding:10px 16px}.tag-remove-btn{width:44px;height:44px;min-width:44px;min-height:44px}.add-tag-btn{min-height:44px;min-width:44px;padding:10px}}@media (max-width: 640px){.nav-button span{display:none}.nav-button{padding:.5rem}}@media (max-width: 480px){.field-row{flex-direction:column;gap:.25rem}.field-label{width:auto}.site-id-title{font-size:1.125rem}.quick-view-tab span{display:none}.quick-view-tab{padding:.625rem}}.sqv-quick-actions{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #e5e7eb;margin-bottom:1rem}.dark .sqv-quick-actions{border-bottom-color:#374151}.sqv-quick-actions button{display:flex;align-items:center;gap:.375rem;font-size:.813rem}.sqv-quick-actions button span{white-space:nowrap}.sqv-section-header{display:flex;align-items:center;gap:.375rem;padding:.75rem 0;margin-bottom:.5rem;border-bottom:1px solid #e5e7eb;-webkit-user-select:none;user-select:none}.sqv-section-header.dragging{opacity:.5}.dark .sqv-section-header{border-bottom-color:#374151}.sqv-drag-handle{display:flex;align-items:center;padding:.25rem;cursor:grab;color:#9ca3af;border-radius:.25rem;transition:color .15s ease}.sqv-drag-handle:hover{color:#6b7280}.sqv-drag-handle:active{cursor:grabbing}.dark .sqv-drag-handle:hover{color:#d1d5db}.sqv-section-toggle{display:flex;align-items:center;gap:.5rem;flex:1;padding:0;background:transparent;border:none;cursor:pointer;text-align:left;font-family:inherit}.sqv-section-toggle:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:.25rem}.sqv-section-icon{display:flex;align-items:center;color:#6b7280;transition:transform .15s ease}.dark .sqv-section-icon{color:#9ca3af}.sqv-section-title-icon{display:flex;align-items:center;color:#6b7280}.dark .sqv-section-title-icon{color:#9ca3af}.sqv-section-title{font-size:.875rem;font-weight:600;color:#374151;flex:1}.dark .sqv-section-title{color:#f3f4f6}.sqv-section-badge{display:flex;align-items:center}.sqv-section-content{padding-left:1.5rem;animation:fadeIn .15s ease-out}.sqv-section-content.collapsed{display:none}.sqv-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;color:#9ca3af;text-align:center;font-size:.875rem}.sqv-empty-state p{margin:0}.dark .sqv-empty-state{color:#6b7280}.sqv-list-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:.5rem;background-color:#f9fafb;margin-bottom:.5rem}.sqv-list-item:last-child{margin-bottom:0}.dark .sqv-list-item{background-color:#1f2937}.sqv-list-item-icon{display:flex;align-items:center;flex-shrink:0;padding-top:.125rem}.sqv-list-item-content{flex:1;min-width:0}.sqv-list-item-title{font-size:.875rem;font-weight:500;color:#111827;margin-bottom:.25rem}.dark .sqv-list-item-title{color:#f9fafb}.sqv-list-item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;font-size:.75rem;color:#6b7280}.dark .sqv-list-item-meta{color:#9ca3af}.sqv-link-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f3f4f6}.sqv-link-item:last-child{border-bottom:none}.dark .sqv-link-item{border-bottom-color:#1f2937}.sqv-link{display:flex;align-items:center;gap:.5rem;color:#2563eb;text-decoration:none;font-size:.875rem;transition:color .15s ease}.sqv-link:hover{color:#1d4ed8;text-decoration:underline}.dark .sqv-link{color:#60a5fa}.dark .sqv-link:hover{color:#93c5fd}.sqv-tags-list{display:flex;flex-wrap:wrap;gap:.5rem}.sqv-note-item{padding:.75rem;border-radius:.5rem;background-color:#fffbeb;border-left:3px solid #f59e0b;margin-bottom:.5rem}.sqv-note-item:last-child{margin-bottom:0}.dark .sqv-note-item{background-color:#422006;border-left-color:#d97706}.sqv-note-content{font-size:.875rem;color:#111827;white-space:pre-wrap;word-break:break-word}.dark .sqv-note-content{color:#fef3c7}.sqv-note-meta{display:flex;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.75rem;color:#6b7280}.dark .sqv-note-meta{color:#9ca3af}.subsection-title{font-size:.875rem;font-weight:600;color:#6b7280;margin:1rem 0 .5rem}.dark .subsection-title{color:#9ca3af}.field-group{margin-bottom:.5rem}.empty-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;gap:.5rem}.uuid-code,.session-id-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;background-color:#f3f4f6;padding:.25rem .5rem;border-radius:.25rem;word-break:break-all}.dark .uuid-code,.dark .session-id-code{background-color:#1f2937}.uuid-row{display:flex;align-items:center;gap:.5rem}.copy-button{flex-shrink:0}.code-block{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;background-color:#f3f4f6;padding:.75rem;border-radius:.375rem;overflow-x:auto;white-space:pre-wrap;max-height:200px;overflow-y:auto}.dark .code-block{background-color:#1f2937}.utilization-bar-container{width:100px;height:8px;background-color:#e5e7eb;border-radius:4px;overflow:hidden}.dark .utilization-bar-container{background-color:#374151}.utilization-bar{height:100%;border-radius:4px;transition:width .3s ease}.health-score-bar{width:100px;height:8px;background-color:#e5e7eb;border-radius:4px;overflow:hidden}.dark .health-score-bar{background-color:#374151}.health-score-fill{height:100%;border-radius:4px;transition:width .3s ease}.clocks-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.dark .clocks-section{border-top-color:#374151}.clocks-list{display:flex;flex-direction:column;gap:.5rem}.clocks-list.expired{margin-top:.75rem}.clock-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background-color:#f9fafb;border-radius:.5rem}.dark .clock-item{background-color:#1f2937}.clock-header{display:flex;align-items:center;gap:.5rem}.clock-name{flex:1;font-weight:500;font-size:.875rem}.clock-details{display:flex;align-items:center;gap:1rem;font-size:.75rem;color:#6b7280;padding-left:1.25rem}.dark .clock-details{color:#9ca3af}.constraints-summary{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.dark .constraints-summary{border-top-color:#374151}.constraints-stats{display:flex;gap:.5rem;margin-bottom:.75rem}.constraints-list{display:flex;flex-direction:column;gap:.5rem}.constraint-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background-color:#f9fafb;border-radius:.375rem}.dark .constraint-item{background-color:#1f2937}.constraint-name{font-size:.875rem}.constraints-summary-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.dark .constraints-summary-section{border-top-color:#374151}.date-field-with-action{display:flex;align-items:flex-start;gap:.5rem}.date-field-with-action>.field-row,.date-field-with-action>.editable-field-row{flex:1}.mark-complete-btn{flex-shrink:0;display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.75rem;color:#10b981;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:.375rem;cursor:pointer;transition:all .15s ease;margin-top:.25rem}.mark-complete-btn:hover{background-color:#d1fae5;border-color:#6ee7b7}.dark .mark-complete-btn{color:#34d399;background-color:#10b9811a;border-color:#10b9814d}.dark .mark-complete-btn:hover{background-color:#10b98133;border-color:#10b98180}.shot-clock-progress{width:100%;margin-top:.5rem}.image-card{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.image-card:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.image-card.primary{ring:2px solid #3b82f6}.image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#0000;transition:background-color .15s ease}.image-card:hover .image-overlay{background-color:#0000004d}.zoom-icon{color:#fff;opacity:0;transition:opacity .15s ease}.image-card:hover .zoom-icon{opacity:1}.image-name{position:absolute;bottom:0;left:0;right:0;padding:.5rem;background:linear-gradient(transparent,#000000b3);color:#fff;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#000000e6;z-index:10030;animation:fadeIn .15s ease-out}.lightbox-content{position:relative;max-width:90vw;max-height:90vh}.lightbox-content img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:.5rem}.lightbox-close{position:absolute;top:-2.5rem;right:0;color:#fff;font-size:1.5rem}.timestamps-group{margin-top:.5rem}.temporary-info{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #e5e7eb}.dark .temporary-info{border-top-color:#374151}.notes-field .field-value{white-space:pre-wrap}.primary-image-info{margin-top:1rem;padding-top:.5rem;border-top:1px solid #e5e7eb}.dark .primary-image-info{border-top-color:#374151}.coordinates-group{margin-top:.5rem;padding:.75rem;background-color:#f9fafb;border-radius:.5rem}.dark .coordinates-group{background-color:#1f2937}.field-row.editable{cursor:pointer;transition:background-color .15s ease}.field-row.editable:hover{background-color:#3b82f60d}.dark .field-row.editable:hover{background-color:#3b82f61a}.inline-field{display:flex;flex-direction:column;gap:.25rem;min-height:2rem;padding:.25rem .5rem;border-radius:.375rem;cursor:pointer;transition:background-color .15s ease}.inline-field:hover:not(.disabled):not(.editing){background-color:#f3f4f6}.inline-field:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.dark .inline-field:hover:not(.disabled):not(.editing){background-color:#1f2937}.inline-field-value{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:#111827;min-height:1.5rem}.inline-field-icon{flex-shrink:0;color:#6b7280}.dark .inline-field-icon{color:#9ca3af}.inline-field-chevron{flex-shrink:0;color:#9ca3af;margin-left:auto}.inline-field.editing{cursor:default;background-color:#f9fafb;padding:.5rem;border:1px solid #e5e7eb}.dark .inline-field.editing{background-color:#1f2937;border-color:#374151}.inline-field-edit-wrapper{display:flex;align-items:flex-start;gap:.5rem}.inline-field-input{flex:1;min-width:0;padding:.375rem .5rem;font-size:.875rem;font-family:inherit;color:#111827;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;transition:border-color .15s ease,box-shadow .15s ease}.inline-field-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.inline-field-input.error{border-color:#dc2626}.inline-field-input.saving{opacity:.6}.dark .inline-field-input{color:#f9fafb;background-color:#111827;border-color:#4b5563}.dark .inline-field-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.dark .inline-field-input.error{border-color:#ef4444}textarea.inline-field-input{resize:vertical;min-height:4rem}select.inline-field-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25rem 1.25rem;padding-right:2rem}.inline-field-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:none;border-radius:.25rem;cursor:pointer;transition:background-color .15s ease,color .15s ease}.inline-field-btn.save{color:#16a34a}.inline-field-btn.save:hover:not(:disabled){background-color:#dcfce7}.inline-field-btn.cancel{color:#dc2626}.inline-field-btn.cancel:hover:not(:disabled){background-color:#fee2e2}.dark .inline-field-btn.save:hover:not(:disabled){background-color:#14532d}.dark .inline-field-btn.cancel:hover:not(:disabled){background-color:#450a0a}.inline-field-saving{display:flex;align-items:center;padding:.25rem;color:#6b7280}.inline-field-error{font-size:.75rem;color:#dc2626;margin-top:.25rem}.dark .inline-field-error{color:#ef4444}.view-config-modal{display:flex;flex-direction:column;gap:1.5rem}.config-section{display:flex;flex-direction:column;gap:.75rem}.config-section-title{font-size:.875rem;font-weight:600;color:#374151;margin:0}.dark .config-section-title{color:#f3f4f6}.config-section-desc{font-size:.75rem;color:#6b7280;margin:0}.dark .config-section-desc{color:#9ca3af}.tabs-list{display:flex;flex-direction:column;gap:.25rem;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.dark .tabs-list{border-color:#374151}.tab-config-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background-color:#fff;border-bottom:1px solid #f3f4f6;transition:background-color .15s ease}.tab-config-item:last-child{border-bottom:none}.tab-config-item:hover{background-color:#f9fafb}.tab-config-item.dragging{opacity:.5;background-color:#e5e7eb}.dark .tab-config-item{background-color:#111827;border-bottom-color:#1f2937}.dark .tab-config-item:hover{background-color:#1f2937}.dark .tab-config-item.dragging{background-color:#374151}.tab-drag-handle{display:flex;align-items:center;cursor:grab;color:#9ca3af;transition:color .15s ease}.tab-drag-handle:hover{color:#6b7280}.tab-drag-handle:active{cursor:grabbing}.tab-label{flex:1;font-size:.875rem;color:#111827}.dark .tab-label{color:#f9fafb}.tab-visibility-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .15s ease,color .15s ease}.tab-visibility-btn.visible{color:#16a34a}.tab-visibility-btn.hidden{color:#9ca3af}.tab-visibility-btn:hover{background-color:#f3f4f6}.dark .tab-visibility-btn:hover{background-color:#374151}.config-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151;cursor:pointer}.config-checkbox input{width:1rem;height:1rem;accent-color:#2563eb}.dark .config-checkbox{color:#f3f4f6}.config-select-row{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.config-select-row label{color:#374151}.dark .config-select-row label{color:#f3f4f6}.config-select-row select{flex:1;padding:.375rem .5rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:.375rem;background-color:#fff;color:#111827}.dark .config-select-row select{background-color:#111827;border-color:#4b5563;color:#f9fafb}.saved-views-list{display:flex;flex-direction:column;gap:.5rem}.saved-view-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background-color:#f9fafb;border-radius:.375rem}.dark .saved-view-item{background-color:#1f2937}.saved-view-name{font-size:.875rem;color:#111827}.dark .saved-view-name{color:#f9fafb}.saved-view-actions{display:flex;align-items:center;gap:.25rem}.no-saved-views{font-size:.875rem;color:#6b7280;font-style:italic}.save-as-form{display:flex;align-items:center;gap:.5rem}.save-as-form input{flex:1}.inline-field{display:flex;flex-direction:column;gap:.25rem;cursor:pointer;padding:.375rem .5rem;border-radius:.375rem;border:1px solid transparent;transition:all .15s ease;min-height:2.25rem}.inline-field:hover:not(.disabled):not(.editing){background-color:#f3f4f6;border-color:#d1d5db}.dark .inline-field:hover:not(.disabled):not(.editing){background-color:#1f2937;border-color:#4b5563}.inline-field.disabled{cursor:default;opacity:.6}.inline-field.editing{cursor:default;background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.dark .inline-field.editing{background-color:#111827;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa26}.inline-field-label{font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.dark .inline-field-label{color:#9ca3af}.inline-field-value{font-size:.875rem;color:#111827}.dark .inline-field-value{color:#f9fafb}.inline-field-value.empty{color:#9ca3af;font-style:italic}.dark .inline-field-value.empty{color:#6b7280}.inline-field-edit-wrapper{display:flex;align-items:center;gap:.375rem;position:relative}.inline-field-input{flex:1;min-width:0;padding:.375rem .5rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:.375rem;background-color:#fff;color:#111827;transition:border-color .15s ease,box-shadow .15s ease}.dark .inline-field-input{background-color:#1f2937;border-color:#4b5563;color:#f9fafb}.inline-field-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.dark .inline-field-input:focus{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa33}.inline-field-input.error{border-color:#ef4444}.inline-field-input.saving{opacity:.7}.inline-field-input::placeholder{color:#9ca3af}textarea.inline-field-input{resize:vertical;min-height:60px}.inline-field-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.inline-field-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:.25rem;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.inline-field-btn.save{background-color:#22c55e;color:#fff}.inline-field-btn.save:hover:not(:disabled){background-color:#16a34a}.inline-field-btn.cancel{background-color:#6b7280;color:#fff}.inline-field-btn.cancel:hover:not(:disabled){background-color:#4b5563}.inline-field-btn:disabled{opacity:.5;cursor:not-allowed}.inline-field-error{font-size:.75rem;color:#ef4444;margin-top:.25rem}.inline-field-saving{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);color:#6b7280}.inline-field-chevron{margin-left:auto;color:#9ca3af;transition:transform .15s ease}.inline-field.select-field:hover:not(.disabled) .inline-field-chevron{color:#6b7280}.status-field-editor{display:inline-flex;align-items:center;cursor:pointer;padding:.25rem;border-radius:.375rem;transition:background-color .15s ease}.status-field-editor:hover:not(.disabled):not(.editing){background-color:#f3f4f6}.dark .status-field-editor:hover:not(.disabled):not(.editing){background-color:#1f2937}.status-field-editor.disabled{cursor:default}.status-field-editor.editing{padding:0}.status-field-options{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a}.dark .status-field-options{background-color:#1f2937;border-color:#374151}.status-option{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;border:none;background:transparent;cursor:pointer;border-radius:.375rem;transition:background-color .15s ease}.status-option:hover:not(:disabled){background-color:#f3f4f6}.dark .status-option:hover:not(:disabled){background-color:#374151}.status-option.selected{background-color:#eff6ff}.dark .status-option.selected{background-color:#1e3a5f}.status-option:disabled{opacity:.5;cursor:not-allowed}.status-check{color:#22c55e}.status-empty{font-size:.875rem;color:#9ca3af;font-style:italic}.status-field-error{font-size:.75rem;color:#ef4444;margin-top:.25rem}.inline-toggle-field{display:inline-flex;align-items:center;gap:.5rem}.inline-toggle-field.disabled{opacity:.6}.inline-toggle-label{font-size:.875rem;color:#6b7280}.dark .inline-toggle-label{color:#9ca3af}.inline-toggle-button{display:flex;align-items:center;gap:.5rem;padding:0;border:none;background:transparent;cursor:pointer}.inline-toggle-button:disabled{cursor:not-allowed}.inline-toggle-track{position:relative;width:2.5rem;height:1.375rem;background-color:#d1d5db;border-radius:9999px;transition:background-color .2s ease}.inline-toggle-button.on .inline-toggle-track{background-color:#22c55e}.dark .inline-toggle-track{background-color:#4b5563}.dark .inline-toggle-button.on .inline-toggle-track{background-color:#22c55e}.inline-toggle-thumb{position:absolute;top:.125rem;left:.125rem;width:1.125rem;height:1.125rem;background-color:#fff;border-radius:9999px;box-shadow:0 1px 3px #00000026;transition:transform .2s ease;display:flex;align-items:center;justify-content:center}.inline-toggle-button.on .inline-toggle-thumb{transform:translate(1.125rem)}.inline-toggle-button.saving .inline-toggle-thumb{background-color:#f3f4f6}.inline-toggle-value-label{font-size:.75rem;font-weight:500;color:#6b7280;min-width:2rem}.inline-toggle-button.on .inline-toggle-value-label{color:#22c55e}.dark .inline-toggle-value-label{color:#9ca3af}.dark .inline-toggle-button.on .inline-toggle-value-label{color:#4ade80}.inline-toggle-field.sm .inline-toggle-track{width:2rem;height:1.125rem}.inline-toggle-field.sm .inline-toggle-thumb{width:.875rem;height:.875rem}.inline-toggle-field.sm .inline-toggle-button.on .inline-toggle-thumb{transform:translate(.875rem)}.inline-toggle-field.lg .inline-toggle-track{width:3rem;height:1.625rem}.inline-toggle-field.lg .inline-toggle-thumb{width:1.375rem;height:1.375rem}.inline-toggle-field.lg .inline-toggle-button.on .inline-toggle-thumb{transform:translate(1.375rem)}.inline-toggle-error{font-size:.75rem;color:#ef4444}.color-picker-editor{position:relative}.color-picker-editor.disabled{opacity:.6;cursor:not-allowed}.color-picker-trigger{display:flex;flex-direction:column;gap:.25rem;padding:.375rem .5rem;border-radius:.375rem;border:1px solid transparent;cursor:pointer;transition:all .15s ease}.color-picker-trigger:hover:not(.open){background-color:#f3f4f6;border-color:#d1d5db}.dark .color-picker-trigger:hover:not(.open){background-color:#1f2937;border-color:#4b5563}.color-picker-trigger.open{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.dark .color-picker-trigger.open{background-color:#111827;border-color:#60a5fa}.color-picker-value{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#111827}.dark .color-picker-value{color:#f9fafb}.color-swatch{width:1rem;height:1rem;border-radius:.25rem;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.color-label{flex:1}.color-empty{color:#9ca3af;font-style:italic}.dark .color-empty{color:#6b7280}.color-picker-dropdown{position:absolute;top:100%;left:0;z-index:50;min-width:200px;padding:.75rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a;margin-top:.25rem}.dark .color-picker-dropdown{background-color:#1f2937;border-color:#374151}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.75rem}.color-option{position:relative;display:flex;align-items:center;justify-content:center;padding:.25rem;border:none;border-radius:.375rem;background:transparent;cursor:pointer;transition:transform .15s ease}.color-option:hover:not(:disabled){transform:scale(1.1)}.color-option.selected{ring:2px solid #3b82f6;ring-offset:2px}.color-option:disabled{opacity:.5;cursor:not-allowed}.color-swatch-lg{width:1.75rem;height:1.75rem;border-radius:.375rem;border:1px solid rgba(0,0,0,.1)}.color-check{position:absolute;color:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.color-clear-btn{display:block;width:100%;padding:.5rem;margin-bottom:.75rem;font-size:.75rem;color:#6b7280;background:transparent;border:1px dashed #d1d5db;border-radius:.375rem;cursor:pointer;transition:all .15s ease}.color-clear-btn:hover:not(:disabled){color:#374151;border-color:#9ca3af;background-color:#f9fafb}.color-clear-btn:disabled{opacity:.5;cursor:not-allowed}.dark .color-clear-btn{color:#9ca3af;border-color:#4b5563}.dark .color-clear-btn:hover:not(:disabled){color:#f3f4f6;border-color:#6b7280;background-color:#374151}.color-custom{display:flex;align-items:center;gap:.5rem;padding-top:.75rem;border-top:1px solid #e5e7eb}.dark .color-custom{border-top-color:#374151}.color-custom svg{flex-shrink:0;color:#6b7280}.color-custom-input{flex:1;min-width:0;padding:.375rem .5rem;font-size:.75rem;font-family:ui-monospace,monospace;border:1px solid #d1d5db;border-radius:.25rem;background-color:#fff;color:#111827}.dark .color-custom-input{background-color:#111827;border-color:#4b5563;color:#f9fafb}.color-custom-btn{padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:#fff;background-color:#3b82f6;border:none;border-radius:.25rem;cursor:pointer;transition:background-color .15s ease}.color-custom-btn:hover:not(:disabled){background-color:#2563eb}.color-custom-btn:disabled{opacity:.5;cursor:not-allowed}.color-picker-error{display:block;margin-top:.5rem;font-size:.75rem;color:#ef4444}.currency-field .currency-input-wrapper{display:flex;align-items:center;flex:1;min-width:0}.currency-prefix{padding:.375rem .5rem .375rem .75rem;font-size:.875rem;font-weight:500;color:#6b7280;background-color:#f3f4f6;border:1px solid #d1d5db;border-right:none;border-radius:.375rem 0 0 .375rem}.dark .currency-prefix{background-color:#374151;border-color:#4b5563;color:#9ca3af}.currency-input{border-radius:0 .375rem .375rem 0!important;padding-left:.5rem!important}.coordinates-field .coordinate-direction{margin-left:.25rem;font-size:.75rem;font-weight:500;color:#6b7280}.dark .coordinates-field .coordinate-direction{color:#9ca3af}.tags-field{flex:1;min-width:0}.tags-display{display:flex;align-items:center;min-height:32px}.tag-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.tag-color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tag-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;margin-left:.125rem;background:transparent;border:none;border-radius:50%;color:currentColor;opacity:.6;cursor:pointer;transition:all .15s ease}.tag-remove-btn:hover{opacity:1;background:#0000001a}.tag-remove-btn:disabled{cursor:wait}.add-tag-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;color:#6b7280}.add-tag-btn:hover{color:#3b82f6}.dark .add-tag-btn{color:#9ca3af}.dark .add-tag-btn:hover{color:#60a5fa}.tag-selector-wrapper{display:flex;flex-direction:column;gap:.5rem;width:100%}.tag-selector-wrapper .cancel-btn{align-self:flex-end;font-size:.75rem}.trash-modal{max-width:1200px;width:90vw;max-height:80vh;display:flex;flex-direction:column}.modal-title{display:flex;align-items:center;gap:12px}.modal-title h2{margin:0;font-size:20px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trash-toolbar{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border);gap:16px}.search-box{flex:1;max-width:400px;position:relative;display:flex;align-items:center}.search-box input{width:100%;padding:8px 12px 8px 38px;border:1px solid var(--border);border-radius:4px;font-size:14px;background:var(--background);color:var(--text-primary)}.search-box input:focus{outline:none;border-color:#06c;box-shadow:0 0 0 2px #06c3}.toolbar-actions{display:flex;gap:12px}.trash-content{flex:1;overflow-y:auto;padding:20px}.loading-state,.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:16px}.trash-table{width:100%;border-collapse:collapse;font-size:14px}.trash-table thead{background-color:var(--surface);position:sticky;top:0;z-index:10}.trash-table th{padding:12px;text-align:left;font-weight:600;border-bottom:2px solid var(--border);white-space:nowrap;color:var(--text-primary)}.trash-table td{padding:12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.trash-table tbody tr:hover{background-color:var(--hover-bg)}.trash-table input[type=checkbox]{width:18px;height:18px;cursor:pointer}.confirm-dialog{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.confirm-content{background:var(--background);padding:32px;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;width:90%;text-align:center}.warning-icon{color:#ff9800;margin-bottom:16px}.confirm-content h3{margin:0 0 16px;font-size:20px;font-weight:600;color:var(--text-primary)}.confirm-content p{margin:0 0 24px;color:var(--text-secondary);line-height:1.5}.confirm-actions{display:flex;gap:12px;justify-content:center}@media (max-width: 768px){.trash-modal{max-width:100%;width:100%;height:100vh;max-height:100vh;border-radius:0}.trash-toolbar{flex-direction:column;align-items:stretch}.search-box{max-width:100%}.toolbar-actions{justify-content:space-between}.trash-table{font-size:12px}.trash-table th,.trash-table td{padding:8px}}:root.dark .trash-modal{background:#1f2937}:root.dark .modal-title h2{color:#f9fafb}:root.dark .trash-toolbar{border-bottom-color:#374151}:root.dark .search-box svg{color:#9ca3af}:root.dark .search-box input{background:#374151;border-color:#4b5563;color:#f9fafb}:root.dark .search-box input::placeholder{color:#6b7280}:root.dark .search-box input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}:root.dark .trash-content{background:#1f2937}:root.dark .loading-state,:root.dark .empty-state{color:#9ca3af}:root.dark .trash-table thead{background-color:#111827}:root.dark .trash-table th{color:#d1d5db;border-bottom-color:#374151}:root.dark .trash-table td{color:#d1d5db;border-bottom-color:#374151}:root.dark .trash-table tbody tr:hover{background-color:#374151}:root.dark .confirm-dialog{background-color:#000000b3}:root.dark .confirm-content{background:#1f2937;box-shadow:0 4px 6px #0000004d}:root.dark .confirm-content h3{color:#f9fafb}:root.dark .confirm-content p{color:#9ca3af}.temporary-sites-modal{position:relative;background:var(--background);border-radius:8px;box-shadow:0 2px 8px #00000026;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column}.header-title h2{margin:0;font-size:1.5rem;font-weight:600}.site-count{background-color:var(--warning);color:var(--text-on-warning, white);padding:2px 8px;border-radius:12px;font-size:.875rem;font-weight:500}.modal-subheader{padding:12px 20px;background-color:var(--warning-surface);border-bottom:1px solid var(--warning-border)}.session-info{display:flex;align-items:center;gap:8px;color:var(--warning-text)}.warning-text{font-size:.875rem;font-weight:500}.time-remaining{font-size:.875rem;opacity:.8}.modal-body{flex:1;overflow-y:auto;padding:20px;min-height:300px}.loading{text-align:center;padding:40px;color:var(--text-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{color:var(--warning);opacity:.3;margin-bottom:16px}.empty-state p{margin:0;color:var(--text-secondary);font-size:1.1rem}.empty-hint{margin-top:8px!important;font-size:.875rem!important;opacity:.7}.action-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.select-all{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.875rem;color:var(--text-secondary)}.select-all input[type=checkbox]{cursor:pointer}.btn-convert{background-color:var(--success);color:var(--text-on-success, white);border:none;padding:8px 16px;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-convert:hover{background-color:var(--success-hover)}.btn-convert:disabled{background-color:var(--disabled);color:var(--text-disabled);cursor:not-allowed}.sites-list{display:flex;flex-direction:column;gap:12px}.temporary-site-item{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border);border-radius:8px;background-color:var(--surface);transition:all .2s}.temporary-site-item:hover{border-color:var(--warning);background-color:var(--warning-surface-hover)}.temporary-site-item input[type=checkbox]{margin-top:4px;cursor:pointer}.site-info{flex:1}.site-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.site-header h3{margin:0;font-size:1rem;font-weight:600}.jurisdiction{font-size:.875rem;color:var(--text-secondary);padding:2px 8px;background-color:var(--border);border-radius:4px}.site-details{display:flex;flex-direction:column;gap:4px}.detail-item{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-secondary)}.detail-item.address{margin-left:20px;color:var(--text-secondary)}.map-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px;background-color:var(--border);color:var(--text-secondary);transition:all .2s;text-decoration:none}.map-link:hover{background-color:var(--primary);color:var(--text-on-primary, white)}.modal-footer{padding:16px 20px;border-top:1px solid var(--border);background-color:var(--surface)}.footer-note{margin:0;font-size:.875rem;color:var(--text-secondary);text-align:center}[data-theme=dark] .temporary-sites-modal{box-shadow:0 2px 8px #0006}[data-theme=dark] .site-count,[data-theme=dark] .btn-convert{color:var(--text-primary)}[data-theme=dark] .btn-convert:disabled{background-color:var(--surface);color:var(--text-disabled)}[data-theme=dark] .map-link:hover{color:var(--text-primary)}.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--background);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 25px #0000001a;max-height:400px;overflow-y:auto;z-index:1000;animation:slideDown .2s ease-out;color:var(--text-primary)}.search-suggestions *{color:inherit}.search-suggestions.loading{min-height:120px}.search-suggestions.empty{padding:24px;text-align:center}.no-results p{margin:0;color:var(--text-secondary)!important;font-size:14px}.no-results .hint{margin-top:8px;color:var(--text-muted);font-size:13px}.suggestion-group{border-bottom:1px solid var(--border)}.suggestion-group:last-of-type{border-bottom:none}.suggestion-group-header{padding:8px 16px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--surface)}.suggestion-item{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:background-color .15s ease;color:var(--text-primary);background-color:transparent}.suggestion-item:hover,.suggestion-item:focus{background:var(--hover-bg);outline:none}.suggestion-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:12px;background:var(--icon-teal-bg);border-radius:8px;color:var(--icon-teal);flex-shrink:0}.suggestion-item[data-type=recent] .suggestion-icon{background:var(--icon-orange-bg);color:var(--icon-orange)}.suggestion-item[data-type=saved] .suggestion-icon{background:var(--icon-yellow-bg);color:var(--icon-yellow)}.suggestion-content{flex:1;min-width:0}.suggestion-primary{font-size:14px;font-weight:500;color:var(--text-primary)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-secondary{font-size:12px;color:var(--text-muted)!important;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-highlight{background:var(--highlight-bg);color:var(--highlight-text);font-weight:600;padding:0 2px;border-radius:2px}.suggestion-count{margin-left:12px;padding:4px 8px;background:var(--hover-bg);border-radius:12px;font-size:12px;color:var(--text-secondary);font-weight:500;white-space:nowrap}.suggestion-skeleton{display:flex;align-items:center}.skeleton-icon{width:32px;height:32px;margin-right:12px;background:var(--border);border-radius:8px;animation:pulse 1.5s ease-in-out infinite}.skeleton-content{flex:1}.skeleton-text{height:12px;background:var(--border);border-radius:4px;animation:pulse 1.5s ease-in-out infinite}.skeleton-text.primary{width:60%;margin-bottom:6px}.skeleton-text.secondary{width:40%}.search-tips{padding:12px 16px;background:var(--surface);border-top:1px solid var(--border);border-bottom-left-radius:12px;border-bottom-right-radius:12px}.tip{font-size:12px;color:var(--text-muted);line-height:1.5}.tip strong{color:var(--text-secondary);font-weight:600}:root.dark .search-suggestions{background:var(--background);border-color:var(--border);box-shadow:0 10px 25px #0006;color:var(--text-primary)}:root.dark .suggestion-group{border-color:var(--border)}:root.dark .suggestion-group-header{background:var(--surface-dark);color:var(--text-muted)}:root.dark .suggestion-item{color:var(--text-primary)}:root.dark .suggestion-item:hover,:root.dark .suggestion-item:focus{background:var(--hover-bg)}:root.dark .suggestion-icon{background:var(--icon-blue-bg-dark);color:var(--icon-blue-dark)}:root.dark .suggestion-item[data-type=recent] .suggestion-icon{background:var(--icon-orange-bg-dark);color:var(--icon-orange-dark)}:root.dark .suggestion-item[data-type=saved] .suggestion-icon{background:var(--icon-yellow-bg-dark);color:var(--icon-yellow-dark)}:root.dark .suggestion-primary{color:var(--text-primary)!important}:root.dark .suggestion-secondary{color:var(--text-muted)!important}:root.dark .no-results p{color:var(--text-secondary)!important}:root.dark .no-results .hint{color:var(--text-muted)}:root.dark .search-highlight{background:var(--highlight-bg-dark);color:var(--highlight-text-dark)}:root.dark .suggestion-count{background:var(--hover-bg);color:var(--text-secondary)}:root.dark .skeleton-icon,:root.dark .skeleton-text{background:var(--border)}:root.dark .search-tips{background:var(--surface-dark);border-color:var(--border)}:root.dark .tip{color:var(--text-muted)}:root.dark .tip strong{color:var(--text-secondary)}.global-search-bar{position:relative;width:100%;max-width:700px}.search-input-container{position:relative;display:flex;align-items:center;background:transparent;border:none;border-radius:10px;padding:0;height:40px;transition:none;box-shadow:none;overflow:visible;white-space:nowrap}.search-input{flex:1;border:2px solid var(--border);outline:none;font-size:15px;color:var(--text-primary);background:var(--background);padding:0 120px 0 16px;margin:0;line-height:1.4;z-index:1;height:40px;border-radius:10px;box-shadow:0 1px 2px #0000000d}.search-input:hover{border-color:var(--border)}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha)}.clear-button{position:absolute;right:50px;display:flex!important;align-items:center;justify-content:center;background:var(--border);border:none;padding:0;cursor:pointer;color:var(--text-secondary)!important;border-radius:50%;transition:all .2s ease;width:24px;height:24px;font-size:16px;font-weight:700;line-height:1;z-index:2}.clear-button:hover{background:var(--hover-bg);color:var(--text-primary)}.search-button{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;background:var(--primary);border:none;padding:6px 12px;cursor:pointer;color:#fff;border-radius:6px;transition:all .2s ease;z-index:2}.search-button:hover{background:var(--primary-hover)}.search-button:active{background:var(--primary-active)}@media (max-width: 640px){.global-search-bar{max-width:100%}.search-input-container{height:44px;padding:0}.search-input{font-size:14px;height:44px;padding-right:96px}.clear-button{min-width:44px;min-height:44px;right:48px}.search-button{min-width:44px;min-height:44px;padding:10px;right:4px}}.search-error-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--background);border:1px solid var(--error-border, #fca5a5);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;padding:12px 16px}.search-error-content{display:flex;align-items:center;gap:10px}.search-error-icon{color:var(--error-color, #ef4444);flex-shrink:0}.search-error-message{flex:1;font-size:14px;color:var(--error-color, #ef4444)}.search-retry-button{display:flex;align-items:center;gap:4px;background:var(--primary);color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s}.search-retry-button:hover{background:var(--primary-hover)}.search-retry-button:active{background:var(--primary-active)}@media (max-width: 640px){.search-error-dropdown{padding:10px 12px}.search-error-content{flex-wrap:wrap;gap:8px}.search-error-message{font-size:13px}.search-retry-button{min-height:44px;padding:10px 16px}}:root.dark .search-input{background:var(--surface);border-color:var(--border);color:var(--text-primary);box-shadow:0 1px 2px #0003}:root.dark .search-input::placeholder{color:var(--text-muted)}:root.dark .search-input:hover{border-color:var(--border-hover)}:root.dark .search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha)}:root.dark .clear-button{background:var(--border);color:var(--text-secondary)!important}:root.dark .clear-button:hover{background:var(--hover-bg);color:var(--text-primary)!important}:root.dark .search-button{background:var(--primary);color:#fff}:root.dark .search-button:hover{background:var(--primary-hover)}:root.dark .search-button:active{background:var(--primary-active)}:root.dark .search-error-dropdown{background:var(--surface);border-color:var(--error-border, #f87171);box-shadow:0 4px 12px #0000004d}:root.dark .search-error-icon{color:var(--error-color, #f87171)}:root.dark .search-error-message{color:var(--error-color, #f87171)}:root.dark .search-retry-button{background:var(--primary)}:root.dark .search-retry-button:hover{background:var(--primary-hover)}.skip-navigation{position:absolute;top:-40px;left:0;z-index:9999}.skip-link{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;background-color:var(--primary-color, #2563eb);color:#fff;padding:.75rem 1.5rem;text-decoration:none;border-radius:0 0 4px 4px;font-weight:500}.skip-link:focus{position:absolute;left:0;top:40px;width:auto;height:auto;overflow:visible;outline:3px solid var(--primary-color, #2563eb);outline-offset:2px}.skip-link:nth-child(2):focus{left:160px}.skip-link:nth-child(3):focus{left:380px}.gis-discovery-panel{position:fixed;top:0;right:0;width:480px;height:100%;background:var(--background);box-shadow:-4px 0 16px #00000014;display:flex;flex-direction:column;z-index:1100;animation:slideIn .3s cubic-bezier(.4,0,.2,1)}.gis-discovery-content{width:100%;height:100%;display:flex;flex-direction:column;background:var(--background);overflow:hidden}.gis-discovery-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);background:var(--background)}.gis-discovery-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:10px}.gis-discovery-header h2 svg{width:20px;height:20px;color:var(--primary)}.close-button{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;color:var(--text-secondary)}.close-button:hover{background-color:var(--hover-bg);color:var(--text-primary)}.gis-discovery-body{flex:1;overflow-y:auto;padding:24px;background:var(--background)}.error-container{background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;padding:16px;margin-bottom:20px;display:flex;align-items:flex-start;gap:12px}.error-container svg{color:var(--error);width:20px;height:20px;flex-shrink:0;margin-top:1px}.error-container p{margin:0;color:var(--error-text);font-size:14px;line-height:1.5}.form-section{margin-bottom:24px}.form-section h3{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:16px;text-transform:uppercase;letter-spacing:.05em}.form-help-text{font-size:12px;color:var(--text-secondary);margin-top:4px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text-primary);background:var(--background);transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.form-input::placeholder{color:var(--text-muted)}.form-textarea{min-height:80px;resize:vertical}.source-card{border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .2s;background:var(--background)}.source-card:hover{border-color:var(--border);background:var(--surface)}.source-card.selected{border-color:var(--primary);background:var(--primary-bg)}.source-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.source-card-title{font-weight:600;color:var(--text-primary);font-size:14px}.source-card-url{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-item{display:flex;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:6px;margin-bottom:8px;transition:all .2s;background:var(--background)}.layer-item:hover{background:var(--surface);border-color:var(--border)}.layer-checkbox{margin-right:12px;margin-top:2px}.layer-info{flex:1}.layer-name{font-weight:500;color:var(--text-primary);font-size:14px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-type{font-size:12px;color:var(--text-secondary)}.panel-footer{border-top:1px solid var(--border);padding:16px 24px;background:var(--surface);display:flex;justify-content:space-between;align-items:center}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center}.loading-spinner{animation:spin 1s linear infinite}.loading-text{margin-top:16px;color:var(--text-secondary);font-size:14px}.success-container{background:var(--success-bg);border:1px solid var(--success-border);border-radius:8px;padding:20px;text-align:center;margin-bottom:24px}.success-icon{color:var(--success);width:48px;height:48px;margin:0 auto 16px}.success-title{font-size:18px;font-weight:600;color:var(--success-text);margin-bottom:8px}.success-message{color:var(--success-text);font-size:14px}.import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}.summary-stat{text-align:center;padding:16px;background:var(--surface);border-radius:8px}.summary-value{font-size:24px;font-weight:700;color:var(--primary);margin-bottom:4px}.summary-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.w-full{width:100%}.flex{display:flex}.flex-1{flex:1}.gap-3{gap:12px}.space-y-2>*+*{margin-top:8px}.text-sm{font-size:14px;line-height:1.5}.text-gray-600{color:var(--text-secondary)}.text-gray-500{color:var(--text-muted)}.text-green-600{color:var(--success)}.text-blue-600{color:var(--primary)}.text-lg{font-size:18px;line-height:1.75}.font-semibold{font-weight:600}.mb-4{margin-bottom:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.w-4{width:16px}.h-4{height:16px}.w-5{width:20px}.h-5{height:20px}.w-8{width:32px}.h-8{height:32px}.w-12{width:48px}.h-12{height:48px}@media (max-width: 640px){.gis-discovery-panel{width:100%}.import-summary{grid-template-columns:repeat(2,1fr)}}[data-theme=dark] .gis-discovery-panel{box-shadow:-4px 0 16px #0000004d}[data-theme=dark] .source-card.selected{background:#3b82f626}.gis-error-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;background:var(--error-bg, rgba(239, 68, 68, .08));border:1px solid var(--error-border, rgba(239, 68, 68, .2));border-radius:12px}.gis-error-icon{color:var(--warning, #f59e0b);margin-bottom:16px}.gis-error-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.gis-error-message{font-size:14px;color:var(--text-secondary);margin:0 0 24px;line-height:1.5;max-width:320px}.gis-error-actions{display:flex;gap:12px}.gis-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;background:var(--surface);border:2px dashed var(--border);border-radius:12px}.gis-empty-icon{color:var(--text-muted);margin-bottom:16px}.gis-empty-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.gis-empty-message{font-size:14px;color:var(--text-secondary);margin:0 0 24px;line-height:1.5;max-width:320px}[data-theme=dark] .gis-error-state{background:#ef44441f;border-color:#ef44444d}[data-theme=dark] .gis-empty-state{background:var(--surface);border-color:var(--border)}@media (max-width: 640px){.gis-error-state,.gis-empty-state{padding:32px 16px}.gis-error-actions{flex-direction:column;width:100%}.gis-error-actions button{width:100%}}.rules-panel{display:flex;flex-direction:column;height:100%;background:var(--background);border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;position:relative}.rules-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.rules-panel .header-title{display:flex;align-items:center;gap:12px;color:#8b5cf6}.rules-panel .header-title h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.rules-panel .header-subtitle{font-size:12px;color:var(--text-secondary)}.rules-panel .header-actions{display:flex;gap:8px}.rules-panel .refresh-btn{padding:8px;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.rules-panel .refresh-btn:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-primary)}.rules-panel .create-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:#8b5cf6;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.rules-panel .create-btn:hover{background-color:#7c3aed}.info-banner{display:flex;align-items:center;gap:8px;padding:10px 24px;background-color:#eff6ff;border-bottom:1px solid #dbeafe;color:#2563eb;font-size:13px}.rules-panel .panel-content{flex:1;overflow-y:auto;padding:16px 24px}.create-first-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;margin-top:8px;background-color:#8b5cf6;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.create-first-btn:hover{background-color:#7c3aed}.rules-list{display:flex;flex-direction:column;gap:8px}.rule-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--background);border:1px solid var(--border);border-radius:10px;cursor:grab;transition:all .2s}.rule-card:hover{border-color:var(--border);box-shadow:0 2px 4px #0000000d}.rule-card.inactive{opacity:.7;background-color:var(--surface)}.rule-card.dragging{opacity:.5;cursor:grabbing}.rule-card.drag-over{border-color:#8b5cf6;background-color:#faf5ff;box-shadow:0 0 0 2px #8b5cf633}.drag-handle{flex-shrink:0;padding:4px;color:var(--text-muted);cursor:grab}.rule-card.dragging .drag-handle{cursor:grabbing}.priority-badge{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:8px;color:#fff;font-size:12px;font-weight:600}.rule-card.inactive .priority-badge{background:#9ca3af}.rule-info{flex:1;min-width:0}.rule-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.rule-name{font-weight:600;font-size:15px;color:var(--text-primary)}.inactive-badge{padding:2px 8px;font-size:10px;font-weight:600;text-transform:uppercase;background-color:var(--hover-bg);color:var(--text-secondary);border-radius:10px}.rule-description{margin:0 0 6px;font-size:13px;color:var(--text-secondary);line-height:1.4}.rule-conditions{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rule-target{flex-shrink:0;min-width:150px;padding:8px 12px;background-color:var(--surface);border-radius:8px}.target-label{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.target-value{font-size:13px;font-weight:500;color:var(--text-primary)}.workload-limit{font-size:11px;color:var(--text-secondary);margin-top:2px}.rule-stats{flex-shrink:0;min-width:100px}.rule-stats .stat{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.rule-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.toggle-btn{padding:6px;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:all .2s}.toggle-btn:hover:not(:disabled){background-color:var(--hover-bg)}.toggle-btn.active{color:#10b981}.action-btn:hover{background-color:var(--hover-bg);border-color:var(--border);color:var(--text-primary)}.action-btn.delete:hover{background-color:#fef2f2;border-color:#fecaca;color:#dc2626}.delete-confirm{display:flex;gap:4px}.confirm-delete-btn{padding:4px 10px;background-color:#ef4444;border:none;border-radius:4px;color:#fff;font-size:12px;font-weight:500;cursor:pointer}.confirm-delete-btn:hover:not(:disabled){background-color:#dc2626}.cancel-delete-btn{padding:4px 10px;background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:12px;cursor:pointer}.cancel-delete-btn:hover{background-color:var(--hover-bg)}.reorder-indicator{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:#111827;border-radius:8px;color:#fff;font-size:13px;box-shadow:0 4px 12px #0003}@media (max-width: 900px){.rule-card{flex-wrap:wrap}.rule-target{min-width:auto;flex:1}.rule-stats{min-width:auto}.rule-actions{width:100%;justify-content:flex-end;margin-top:8px;padding-top:12px;border-top:1px solid var(--border)}}@media (max-width: 640px){.rules-panel .panel-header{flex-direction:column;align-items:flex-start;gap:12px}.rules-panel .header-actions{width:100%;justify-content:flex-end}}:root.dark .rules-panel{background:#1f2937;box-shadow:0 1px 3px #0000004d}:root.dark .rules-panel .panel-header{border-bottom-color:#374151;background:linear-gradient(135deg,#111827,#1f2937)}:root.dark .rules-panel .header-title{color:#a78bfa}:root.dark .rules-panel .header-title h2{color:#f9fafb}:root.dark .rules-panel .header-subtitle{color:var(--text-muted)}:root.dark .rules-panel .refresh-btn{border-color:#374151;color:var(--text-muted)}:root.dark .rules-panel .refresh-btn:hover:not(:disabled){background-color:#374151;color:#f9fafb}:root.dark .info-banner{background-color:#3b82f626;border-bottom-color:#3b82f64d;color:#60a5fa}:root.dark .rule-card{background:#1f2937;border-color:#374151}:root.dark .rule-card:hover{border-color:#4b5563;box-shadow:0 2px 4px #0003}:root.dark .rule-card.inactive{background-color:#111827}:root.dark .rule-card.drag-over{border-color:#8b5cf6;background-color:#8b5cf61a;box-shadow:0 0 0 2px #8b5cf64d}:root.dark .drag-handle{color:var(--text-secondary)}:root.dark .rule-card.inactive .priority-badge{background:#4b5563}:root.dark .rule-name{color:#f9fafb}:root.dark .inactive-badge{background-color:#374151;color:var(--text-muted)}:root.dark .rule-description{color:var(--text-muted)}:root.dark .rule-conditions{color:var(--text-secondary)}:root.dark .rule-target{background-color:#111827}:root.dark .target-label{color:var(--text-secondary)}:root.dark .target-value{color:#d1d5db}:root.dark .workload-limit{color:var(--text-muted)}:root.dark .rule-stats .stat{color:var(--text-muted)}:root.dark .toggle-btn{color:var(--text-secondary)}:root.dark .toggle-btn:hover:not(:disabled){background-color:#374151}:root.dark .toggle-btn.active{color:#4ade80}:root.dark .action-btn.delete:hover{background-color:#ef444426;border-color:#ef44444d;color:#f87171}:root.dark .cancel-delete-btn{border-color:#374151;color:var(--text-muted)}:root.dark .cancel-delete-btn:hover{background-color:#374151}:root.dark .reorder-indicator{background-color:#f9fafb;color:#111827}.user-management-panel{display:flex;flex-direction:column;height:100%;background:var(--background);border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.user-management-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.panel-header .header-title{display:flex;align-items:center;gap:12px;color:var(--text-primary)}.panel-header .header-title h2{margin:0;font-size:1.25rem;font-weight:600}.panel-header .refresh-btn{padding:8px;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.panel-header .refresh-btn:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-primary)}.user-management-panel .panel-toolbar{display:flex;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border);background-color:var(--surface);flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:8px;flex:1;min-width:200px;padding:8px 12px;background:var(--background);border:1px solid var(--border);border-radius:8px}.search-box input{flex:1;border:none;outline:none;font-size:14px}.search-box svg{color:var(--text-muted)}.filter-group svg{color:var(--text-secondary)}.filter-group select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--background);cursor:pointer}.user-management-panel .panel-content{flex:1;overflow-y:auto;padding:16px 24px}.error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:16px}.empty-state p{margin:0}.users-list{display:flex;flex-direction:column;gap:8px}.user-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--background);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s}.user-card:hover{border-color:var(--border);box-shadow:0 2px 4px #0000000d}.user-card.selected{border-color:#8b5cf6;background-color:#faf5ff}.user-card.inactive{opacity:.7}.user-avatar{position:relative;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px;flex-shrink:0}.user-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.user-avatar .status-dot{position:absolute;bottom:0;right:0;width:12px;height:12px;border-radius:50%;border:2px solid white}.user-avatar .status-dot.active{background-color:#10b981}.user-avatar .status-dot.inactive{background-color:#9ca3af}.user-info{flex:1;min-width:0}.user-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--text-primary);margin-bottom:2px}.role-badge{padding:2px 8px;font-size:10px;font-weight:600;text-transform:uppercase;border-radius:10px}.role-badge.admin{background-color:#fee2e2;color:#dc2626}.user-email{font-size:13px;color:var(--text-secondary);margin-bottom:2px}.user-job-title{font-size:12px;color:var(--text-muted);margin-bottom:6px}.capability-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.capability-badge{padding:2px 8px;font-size:10px;font-weight:500;background-color:#ede9fe;color:#7c3aed;border-radius:10px}.capability-badge.more{background-color:var(--hover-bg);color:var(--text-secondary)}.user-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.workload-indicator{display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;background-color:var(--hover-bg);color:var(--text-secondary);border-radius:12px}.workload-indicator.at-capacity{background-color:#fef3c7;color:#d97706}.workload-indicator.has-overdue{background-color:#fee2e2;color:#dc2626}.workload-indicator .overdue-badge{padding:1px 5px;font-size:9px;font-weight:600;background-color:#dc2626;color:#fff;border-radius:8px;margin-left:2px}.action-buttons{display:flex;align-items:center;gap:4px}.action-btn{padding:6px;background:none;border:1px solid transparent;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.action-btn:hover{background-color:var(--hover-bg);border-color:#e5e7eb;color:var(--text-primary)}.user-management-panel .panel-footer{padding:12px 24px;border-top:1px solid var(--border);background-color:var(--surface)}.user-count{font-size:12px;color:var(--text-secondary)}@media (max-width: 768px){.user-management-panel .panel-toolbar{flex-direction:column}.search-box{width:100%}.user-card{flex-wrap:wrap}.user-actions{width:100%;flex-direction:row;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}}:root.dark .user-management-panel{background:#1f2937;box-shadow:0 1px 3px #0000004d}:root.dark .user-management-panel .panel-header{border-bottom-color:#374151;background:linear-gradient(135deg,#111827,#1f2937)}:root.dark .panel-header .header-title{color:#d1d5db}:root.dark .panel-header .header-title h2{color:#f9fafb}:root.dark .panel-header .refresh-btn{border-color:#374151;color:var(--text-muted)}:root.dark .panel-header .refresh-btn:hover:not(:disabled){background-color:#374151;color:#f9fafb}:root.dark .user-management-panel .panel-toolbar{border-bottom-color:#374151;background-color:#111827}:root.dark .search-box{background:#1f2937;border-color:#374151}:root.dark .search-box input{background:transparent;color:#f9fafb}:root.dark .search-box input::placeholder{color:var(--text-secondary)}:root.dark .search-box svg{color:var(--text-secondary)}:root.dark .filter-group svg{color:var(--text-muted)}:root.dark .error-message{background-color:#ef444426;border-color:#ef44444d;color:#f87171}:root.dark .user-card{background:#1f2937;border-color:#374151}:root.dark .user-card:hover{border-color:#4b5563;box-shadow:0 2px 4px #0003}:root.dark .user-card.selected{border-color:#8b5cf6;background-color:#8b5cf626}:root.dark .user-avatar .status-dot{border-color:#1f2937}:root.dark .user-name{color:#f9fafb}:root.dark .role-badge.admin{background-color:#ef444426;color:#f87171}:root.dark .user-email{color:var(--text-muted)}:root.dark .user-job-title{color:var(--text-secondary)}:root.dark .capability-badge{background-color:#8b5cf633;color:#a78bfa}:root.dark .capability-badge.more{background-color:#374151;color:var(--text-muted)}:root.dark .workload-indicator{background-color:#374151;color:var(--text-muted)}:root.dark .workload-indicator.at-capacity{background-color:#f59e0b26;color:#fbbf24}:root.dark .workload-indicator.has-overdue{background-color:#ef444426;color:#f87171}:root.dark .action-btn{color:var(--text-muted)}:root.dark .action-btn:hover{background-color:#374151;border-color:#4b5563;color:#f9fafb}:root.dark .user-management-panel .panel-footer{border-top-color:#374151;background-color:#111827}:root.dark .user-count{color:var(--text-muted)}@media (max-width: 768px){:root.dark .user-actions{border-top-color:#374151}}.settings-tabs{border-bottom:1px solid var(--border, #e5e7eb);display:flex;gap:0;padding:0 24px}.settings-tab{padding:12px 20px;border:none;background:none;color:var(--text-secondary, #6b7280);font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s;position:relative}.settings-tab:hover{color:var(--text-primary, #111827)}.settings-tab.active{color:var(--primary-color, #2563eb)}.settings-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary-color, #2563eb)}.loading-state{text-align:center;padding:60px 20px;color:var(--text-secondary, #6b7280)}.settings-content{display:flex;flex-direction:column;gap:24px}.settings-section{display:flex;flex-direction:column;gap:16px}.settings-section h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #111827)}.form-group label{font-weight:500;color:var(--text-primary, #111827);font-size:.875rem}.form-group input[type=text],.form-group input[type=number],.form-group select{padding:10px 12px;border:1px solid var(--border, #e5e7eb);border-radius:6px;font-size:.875rem;transition:border-color .2s;background:var(--input-bg, #ffffff);color:var(--text-primary, #111827)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.form-group small{font-size:.75rem;color:var(--text-secondary, #6b7280)}.checkbox-group{display:flex;gap:16px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.875rem;color:var(--text-primary, #111827)}.theme-selector{display:flex;gap:8px}.theme-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;border:2px solid var(--border, #e5e7eb);border-radius:8px;background:var(--input-bg, #ffffff);cursor:pointer;transition:all .2s;color:var(--text-secondary, #6b7280)}.theme-option:hover{border-color:var(--primary-color, #2563eb);color:var(--text-primary, #111827)}.theme-option.active{border-color:var(--primary-color, #2563eb);background:#2563eb0d;color:var(--primary-color, #2563eb)}.theme-option span{font-size:.75rem;font-weight:500;color:inherit}.theme-option svg{color:inherit}.alert{padding:12px 16px;border-radius:6px;display:flex;align-items:center;gap:8px;font-size:.875rem;margin-top:16px}.alert-error{background:var(--error-bg, #fee);color:var(--error-color, #dc2626);border:1px solid var(--error-border, #fecaca)}.alert-success{background:var(--success-bg, #f0fdf4);color:var(--success-color, #16a34a);border:1px solid var(--success-border, #bbf7d0)}:root.dark .settings-tabs{border-color:#374151}:root.dark .settings-tab{color:#9ca3af}:root.dark .settings-tab:hover{color:#f9fafb}:root.dark .settings-section h3{color:#f9fafb}:root.dark .form-group label{color:#f9fafb!important}:root.dark .form-group input[type=text],:root.dark .form-group input[type=number],:root.dark .form-group select{background:#374151;border-color:#4b5563;color:#f9fafb}:root.dark .form-group input:focus,:root.dark .form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}:root.dark .form-group small{color:#d1d5db}:root.dark .checkbox-label{color:#f9fafb}:root.dark .theme-option{background:#374151!important;border-color:#4b5563!important;color:#e5e7eb!important}:root.dark .theme-option:hover{border-color:#3b82f6!important;color:#f9fafb!important}:root.dark .theme-option.active{border-color:#3b82f6!important;background:#3b82f633!important;color:#60a5fa!important}:root.dark .theme-option span,:root.dark .theme-option svg{color:inherit!important}:root.dark .alert-error{background:#dc262626;border-color:#dc26264d;color:#f87171}:root.dark .alert-success{background:#16a34a26;border-color:#16a34a4d;color:#4ade80}.admin-panel-content{padding:0;gap:0;min-height:500px;max-height:600px;overflow:hidden}.admin-panel-content>div{height:100%}@media (max-width: 768px){.checkbox-group{flex-direction:column;gap:12px}.settings-tab{padding:12px 16px;font-size:.8125rem}.admin-panel-content{min-height:400px;max-height:500px}}.more-menu-container{position:relative}.more-menu-trigger{display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:.375rem;background:none;border:none;transition:all .2s}.more-menu-trigger:hover{transform:translateY(-1px)}.more-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:220px;background:var(--background);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden;animation:menuFadeIn .15s ease-out}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.more-menu-section{padding:.5rem 0}.more-menu-section-title{display:block;padding:.25rem 1rem .5rem;font-size:.75rem;font-weight:600;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.05em}.more-menu-dropdown button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem 1rem;font-size:.875rem;color:var(--text-primary);background:none;border:none;cursor:pointer;text-align:left;transition:background-color .15s}.more-menu-dropdown button:hover{background-color:var(--surface, #f8f9fa)}.more-menu-dropdown button:focus{outline:none;background-color:var(--surface, #f8f9fa)}.more-menu-dropdown button:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}.more-menu-dropdown button svg{color:var(--text-secondary, #6b7280);flex-shrink:0}.more-menu-dropdown button span{flex:1}.more-menu-divider{height:1px;background:var(--border);margin:.25rem 0}:root.dark .more-menu-dropdown{background:var(--surface-dark, #1f2937);border-color:var(--border-dark, #374151);box-shadow:0 4px 12px #0006}:root.dark .more-menu-dropdown button:hover,:root.dark .more-menu-dropdown button:focus{background-color:var(--background-dark, #111827)}:root.dark .more-menu-section-title{color:var(--text-muted-dark, #9ca3af)}:root.dark .more-menu-dropdown button svg{color:var(--text-secondary-dark, #9ca3af)}@media (max-width: 768px){.more-menu-dropdown{min-width:200px;right:-10px}}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:500px;background:var(--background);border-radius:12px;box-shadow:0 10px 40px #00000026,0 2px 10px #0000001a;display:flex;flex-direction:column;overflow:hidden;z-index:1000;animation:dropdown-appear .2s ease-out}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border)}.dropdown-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.mark-all-read{background:none;border:none;color:#3b82f6;font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s}.mark-all-read:hover{background:var(--surface)}.mark-all-read:disabled{color:#9ca3af;cursor:not-allowed}.dropdown-content{flex:1;overflow-y:auto;max-height:380px}.dropdown-loading{display:flex;align-items:center;justify-content:center;padding:40px}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.dropdown-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:#9ca3af}.dropdown-empty .empty-icon{margin-bottom:12px;opacity:.5}.dropdown-empty p{margin:0;font-size:14px}.notification-list{display:flex;flex-direction:column}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid var(--surface);cursor:pointer;text-decoration:none;color:inherit;transition:background-color .15s;position:relative;background-color:var(--background)}.notification-item:hover{background:var(--surface)}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:#eff6ff}.notification-item.unread:hover{background:#dbeafe}.notification-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.notification-icon.color-blue{background:#dbeafe}.notification-icon.color-green{background:#d1fae5}.notification-icon.color-red{background:#fee2e2}.notification-icon.color-yellow{background:#fef3c7}.notification-icon.color-orange{background:#ffedd5}.notification-icon.color-purple{background:#ede9fe}.notification-icon.color-gray{background:#f3f4f6}.notification-body{flex:1;min-width:0}.notification-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px;line-height:1.3}.notification-message{font-size:13px;color:var(--text-secondary);line-height:1.4;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-meta{display:flex;align-items:center;gap:8px}.notification-time{font-size:12px;color:#9ca3af}.priority-indicator{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase}.priority-indicator.priority-high{background:#ffedd5;color:#c2410c}.priority-indicator.priority-urgent{background:#fee2e2;color:#b91c1c}.unread-indicator{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:8px;height:8px;background:#3b82f6;border-radius:50%}.dropdown-footer{padding:12px 16px;border-top:1px solid var(--border);text-align:center;background-color:var(--background)}.view-all-link{color:#3b82f6;text-decoration:none;font-size:14px;font-weight:500}.dropdown-content::-webkit-scrollbar{width:6px}.dropdown-content::-webkit-scrollbar-track{background:transparent}.dropdown-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.dropdown-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width: 480px){.notification-dropdown{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;max-height:70vh;border-radius:16px 16px 0 0;animation:slide-up .2s ease-out}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.notification-bell-container{position:relative;display:inline-flex}.notification-bell{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;background:transparent;border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.notification-bell:hover{background:var(--surface);color:var(--text-primary)}.notification-bell.active{background:var(--primary-bg-light, #eff6ff);color:var(--primary-color)}.notification-bell .bell-icon{transition:transform .15s}.notification-bell:hover .bell-icon{transform:scale(1.1)}.notification-bell.pulse .bell-icon{animation:bell-ring .5s ease-in-out}@keyframes bell-ring{0%{transform:rotate(0)}15%{transform:rotate(15deg)}30%{transform:rotate(-15deg)}45%{transform:rotate(10deg)}60%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}90%{transform:rotate(-5deg)}to{transform:rotate(0)}}.notification-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;background:var(--error-color, #ef4444);color:var(--text-on-primary, white);font-size:11px;font-weight:600;line-height:18px;text-align:center;border-radius:9px;box-shadow:0 1px 2px #0000001a;animation:badge-pop .3s ease-out}@keyframes badge-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@media (max-width: 640px){.notification-bell{width:36px;height:36px}.notification-badge{top:2px;right:2px;min-width:16px;height:16px;font-size:10px;line-height:16px}}:root.dark .notification-bell{color:var(--text-secondary)}:root.dark .notification-bell:hover{background:var(--surface-dark, #374151);color:var(--text-primary)}:root.dark .notification-bell.active{background:var(--primary-bg-dark, #1e3a5f);color:var(--primary-color-dark, #60a5fa)}:root.dark .notification-badge{box-shadow:0 1px 2px #0000004d}.list-filter-modal{display:flex;flex-direction:column;gap:1rem}.list-filter-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:var(--color-error-bg, #fee2e2);border:1px solid var(--color-error-border, #fecaca);border-radius:.5rem;color:var(--color-error-text, #991b1b);font-size:.875rem}.list-filter-input-step{display:flex;flex-direction:column;gap:1rem}.list-filter-scope{display:flex;flex-direction:column;gap:.5rem}.list-filter-scope-label{font-weight:500;font-size:.875rem;color:var(--color-text-secondary, #6b7280)}.list-filter-scope-options{display:flex;gap:1.5rem}.list-filter-radio{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.list-filter-radio input[type=radio]{width:1rem;height:1rem;accent-color:var(--color-primary, #3b82f6)}.list-filter-radio input[type=radio]:disabled{opacity:.5;cursor:not-allowed}.list-filter-radio input[type=radio]:disabled+span{opacity:.5}.list-filter-advanced-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;background:none;border:none;color:var(--color-text-secondary, #6b7280);font-size:.875rem;cursor:pointer;transition:color .15s}.list-filter-advanced-toggle:hover{color:var(--color-primary, #3b82f6)}.list-filter-advanced{display:flex;flex-direction:column;gap:1rem;padding:1rem;background-color:var(--color-bg-secondary, #f9fafb);border-radius:.5rem;border:1px solid var(--color-border, #e5e7eb)}.dark .list-filter-advanced{background-color:var(--color-bg-dark-secondary, #1f2937);border-color:var(--color-border-dark, #374151)}.list-filter-config-row{display:flex;flex-direction:column;gap:.5rem}.list-filter-config-row label{display:flex;flex-direction:column;gap:.25rem}.list-filter-config-row label>span{font-size:.875rem;color:var(--color-text-secondary, #6b7280)}.list-filter-checkbox{flex-direction:row!important;align-items:center;gap:.5rem;cursor:pointer}.list-filter-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary, #3b82f6)}.list-filter-matching{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem}.list-filter-spinner{width:2.5rem;height:2.5rem;border:3px solid var(--color-border, #e5e7eb);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.list-filter-results-step{display:flex;flex-direction:column;gap:1rem}.list-filter-summary{display:flex;gap:1rem;padding:1rem;background-color:var(--color-bg-secondary, #f9fafb);border-radius:.5rem}.dark .list-filter-summary{background-color:var(--color-bg-dark-secondary, #1f2937)}.list-filter-summary-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem}.list-filter-summary-item.matched{background-color:#dcfce7;color:#166534}.dark .list-filter-summary-item.matched{background-color:#22c55e33;color:#86efac}.list-filter-summary-item.close{background-color:#fef3c7;color:#92400e}.dark .list-filter-summary-item.close{background-color:#f59e0b33;color:#fcd34d}.list-filter-summary-item.unmatched{background-color:#fee2e2;color:#991b1b}.dark .list-filter-summary-item.unmatched{background-color:#ef444433;color:#fca5a5}.paste-input{display:flex;flex-direction:column;gap:.5rem}.paste-input-label{display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.875rem;color:var(--color-text-primary, #1f2937)}.dark .paste-input-label{color:var(--color-text-dark-primary, #f9fafb)}.paste-input-textarea{width:100%;min-height:150px;padding:.75rem;border:1px solid var(--color-border, #e5e7eb);border-radius:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem;line-height:1.5;resize:vertical;transition:border-color .15s,box-shadow .15s}.dark .paste-input-textarea{background-color:var(--color-bg-dark-secondary, #1f2937);border-color:var(--color-border-dark, #374151);color:var(--color-text-dark-primary, #f9fafb)}.paste-input-textarea:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.paste-input-info{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.paste-input-detected{display:flex;align-items:center;gap:.25rem}.paste-input-detected-type{padding:.125rem .375rem;background-color:var(--color-primary, #3b82f6);border-radius:.25rem;color:#fff;font-weight:500;text-transform:capitalize}.paste-input-warning{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;margin-top:.5rem;background-color:#fef3c7;border:1px solid #fcd34d;border-radius:.5rem;color:#92400e;font-size:.8125rem;line-height:1.4}.paste-input-warning svg{flex-shrink:0;margin-top:.125rem}.dark .paste-input-warning{background-color:#f59e0b26;border-color:#f59e0b66;color:#fcd34d}.match-results-panel{display:flex;flex-direction:column;gap:.5rem}.match-results-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;font-weight:500;font-size:.875rem}.match-results-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding-right:.5rem}.match-result-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:var(--color-bg-secondary, #f9fafb);border-radius:.5rem;font-size:.875rem}.dark .match-result-item{background-color:var(--color-bg-dark-secondary, #1f2937)}.match-result-item.matched{border-left:3px solid #22c55e}.match-result-item.close{border-left:3px solid #f59e0b}.match-result-item.unmatched{border-left:3px solid #ef4444}.match-result-icon{flex-shrink:0}.match-result-icon.matched{color:#22c55e}.match-result-icon.close{color:#f59e0b}.match-result-icon.unmatched{color:#ef4444}.match-result-content{flex:1;min-width:0}.match-result-input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--color-text-secondary, #6b7280)}.match-result-arrow{color:var(--color-text-tertiary, #9ca3af);margin:0 .25rem}.match-result-site{font-weight:500;color:var(--color-text-primary, #1f2937)}.dark .match-result-site{color:var(--color-text-dark-primary, #f9fafb)}.match-result-confidence{font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.close-match-resolver{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background-color:#fef3c7;border:1px solid #fcd34d;border-radius:.5rem}.dark .close-match-resolver{background-color:#f59e0b1a;border-color:#f59e0b4d}.close-match-resolver-header{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#92400e}.dark .close-match-resolver-header{color:#fcd34d}.close-match-item{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background-color:#fff;border-radius:.375rem}.dark .close-match-item{background-color:var(--color-bg-dark-secondary, #1f2937)}.close-match-input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem;color:var(--color-text-secondary, #6b7280)}.close-match-candidates{display:flex;flex-wrap:wrap;gap:.5rem}.close-match-candidate{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;background-color:var(--color-bg-secondary, #f3f4f6);border:1px solid var(--color-border, #e5e7eb);border-radius:.375rem;font-size:.8125rem;cursor:pointer;transition:all .15s}.dark .close-match-candidate{background-color:var(--color-bg-dark-tertiary, #374151);border-color:var(--color-border-dark, #4b5563)}.close-match-candidate:hover{background-color:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6);color:#fff}.close-match-candidate-confidence{font-size:.75rem;opacity:.7}.close-match-skip{padding:.375rem .625rem;background-color:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:.375rem;font-size:.8125rem;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s}.close-match-skip:hover{background-color:#fee2e2;border-color:#fecaca;color:#991b1b}.list-filter-bar{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background-color:var(--color-primary, #3b82f6);color:#fff;font-size:.875rem}.list-filter-bar-content,.list-filter-bar-actions{display:flex;align-items:center;gap:.5rem}.list-filter-bar-btn{padding:.25rem .5rem;background-color:#fff3;border:none;border-radius:.25rem;color:#fff;font-size:.75rem;cursor:pointer;transition:background-color .15s}.list-filter-bar-btn:hover{background-color:#ffffff4d}.list-filter-saved{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border, #e5e7eb)}.list-filter-saved-header{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.list-filter-saved-list{display:flex;flex-direction:column;gap:.25rem;max-height:150px;overflow-y:auto}.list-filter-saved-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;background-color:var(--color-bg-secondary, #f9fafb);border-radius:.375rem;font-size:.8125rem;cursor:pointer;transition:background-color .15s}.list-filter-saved-item:hover{background-color:var(--color-bg-hover, #f3f4f6)}.list-filter-saved-item-name{font-weight:500}.list-filter-saved-item-count{font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.list-filter-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:1rem}.list-filter-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary, #6b7280);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.list-filter-tab:hover{color:var(--color-text-primary, #1f2937)}.list-filter-tab.active{color:var(--color-primary, #3b82f6);border-bottom-color:var(--color-primary, #3b82f6)}.dark .list-filter-tab{color:var(--color-text-dark-secondary, #9ca3af)}.dark .list-filter-tab:hover{color:var(--color-text-dark-primary, #f9fafb)}.dark .list-filter-tab.active{color:var(--color-primary, #3b82f6)}.saved-filters-loading,.saved-filters-error{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--color-text-secondary, #6b7280);font-size:.875rem}.saved-filters-error{color:var(--color-error-text, #991b1b)}.saved-filters-loading .spinning{animation:spin 1s linear infinite}.saved-filters-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 2rem;text-align:center;color:var(--color-text-secondary, #6b7280)}.saved-filters-empty h3{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-primary, #1f2937)}.dark .saved-filters-empty h3{color:var(--color-text-dark-primary, #f9fafb)}.saved-filters-empty p{margin:0;font-size:.875rem;max-width:300px}.saved-filters-list{display:flex;flex-direction:column;gap:.75rem}.saved-filters-header{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary, #6b7280);padding-bottom:.5rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.saved-filters-items{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto;padding-right:.25rem}.saved-filter-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background-color:var(--color-bg-secondary, #f9fafb);border-radius:.5rem;border:1px solid var(--color-border, #e5e7eb);transition:background-color .15s}.dark .saved-filter-item{background-color:var(--color-bg-dark-secondary, #1f2937);border-color:var(--color-border-dark, #374151)}.saved-filter-item:hover{background-color:var(--color-bg-hover, #f3f4f6)}.dark .saved-filter-item:hover{background-color:var(--color-bg-dark-tertiary, #374151)}.saved-filter-info{flex:1;min-width:0}.saved-filter-name{font-weight:500;font-size:.875rem;color:var(--color-text-primary, #1f2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .saved-filter-name{color:var(--color-text-dark-primary, #f9fafb)}.saved-filter-meta{display:flex;align-items:center;gap:.75rem;margin-top:.25rem;font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.saved-filter-count{display:flex;align-items:center;gap:.25rem}.saved-filter-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.saved-filter-actions .action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:1px solid var(--color-border, #e5e7eb);border-radius:.375rem;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s}.saved-filter-actions .action-btn:hover{background-color:var(--color-bg-hover, #f3f4f6);color:var(--color-text-primary, #1f2937)}.saved-filter-actions .action-btn.delete:hover{background-color:#fee2e2;border-color:#fecaca;color:#991b1b}.dark .saved-filter-actions .action-btn{border-color:var(--color-border-dark, #4b5563)}.dark .saved-filter-actions .action-btn:hover{background-color:var(--color-bg-dark-tertiary, #374151);color:var(--color-text-dark-primary, #f9fafb)}.saved-filter-edit{display:flex;align-items:center;gap:.5rem;width:100%}.saved-filter-edit input{flex:1}.saved-filter-edit-actions{display:flex;gap:.25rem}.saved-filter-edit-actions .edit-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:.375rem;cursor:pointer;transition:all .15s}.saved-filter-edit-actions .edit-btn.save{background-color:#dcfce7;color:#166534}.saved-filter-edit-actions .edit-btn.save:hover{background-color:#bbf7d0}.saved-filter-edit-actions .edit-btn.save:disabled{opacity:.5;cursor:not-allowed}.saved-filter-edit-actions .edit-btn.cancel{background-color:var(--color-bg-secondary, #f3f4f6);color:var(--color-text-secondary, #6b7280)}.saved-filter-edit-actions .edit-btn.cancel:hover{background-color:#e5e7eb}.saved-filter-delete-confirm{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem;font-size:.875rem;color:var(--color-error-text, #991b1b)}.saved-filter-delete-actions{display:flex;gap:.5rem}.feature-tour-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;z-index:10000}.feature-tour-highlight{position:fixed;border:3px solid #4f46e5;border-radius:8px;box-shadow:0 0 0 9999px #0009;z-index:10001;pointer-events:none;transition:all .3s ease}.feature-tour-tooltip{position:fixed;width:400px;max-width:calc(100vw - 40px);background:#fff;border-radius:12px;box-shadow:0 20px 50px #0000004d;z-index:10002;overflow:hidden;animation:tooltipFadeIn .2s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dark .feature-tour-tooltip{background:#1f2937}.feature-tour-close{position:absolute;top:12px;right:12px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .2s}.feature-tour-close:hover{background:#f3f4f6;color:#374151}.dark .feature-tour-close:hover{background:#374151;color:#e5e7eb}.feature-tour-content{padding:1.5rem 1.5rem 1rem}.feature-tour-content h3{font-size:1.125rem;font-weight:600;margin:0 0 .75rem;color:#111827;padding-right:24px}.dark .feature-tour-content h3{color:#f9fafb}.feature-tour-content p{font-size:.9375rem;line-height:1.6;color:#6b7280;margin:0}.dark .feature-tour-content p{color:#9ca3af}.feature-tour-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#f9fafb;border-top:1px solid #e5e7eb}.dark .feature-tour-footer{background:#111827;border-top-color:#374151}.feature-tour-progress{display:flex;gap:6px}.progress-dot{width:8px;height:8px;border-radius:50%;background:#d1d5db;transition:all .2s}.dark .progress-dot{background:#4b5563}.progress-dot.active{background:#4f46e5;transform:scale(1.2)}.dark .progress-dot.active{background:#818cf8}.progress-dot.completed{background:#10b981}.dark .progress-dot.completed{background:#34d399}.feature-tour-actions{display:flex;gap:.5rem}.tour-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.tour-btn-secondary{background:#fff;border:1px solid #e5e7eb;color:#374151}.tour-btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.dark .tour-btn-secondary{background:#374151;border-color:#4b5563;color:#e5e7eb}.dark .tour-btn-secondary:hover{background:#4b5563}.tour-btn-primary{background:#4f46e5;border:1px solid #4f46e5;color:#fff}.tour-btn-primary:hover{background:#4338ca;border-color:#4338ca}.dark .tour-btn-primary{background:#6366f1;border-color:#6366f1}.dark .tour-btn-primary:hover{background:#818cf8;border-color:#818cf8}.feature-tour-hint{padding:.5rem 1.5rem 1rem;font-size:.75rem;color:#9ca3af;text-align:center}.dark .feature-tour-hint{color:#6b7280}@media (max-width: 480px){.feature-tour-tooltip{width:calc(100vw - 20px);left:10px!important;right:10px}.feature-tour-footer{flex-direction:column;gap:1rem}.feature-tour-actions{width:100%}.tour-btn{flex:1;justify-content:center}}.keyboard-shortcuts-content{padding:0}.shortcuts-search{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f9fafb;border-bottom:1px solid #e5e7eb;margin:-1rem -1.5rem 0}.dark .shortcuts-search{background:#111827;border-bottom-color:#374151}.shortcuts-search svg{color:#9ca3af;flex-shrink:0}.shortcuts-search input{flex:1;border:none;background:none;font-size:.9375rem;color:#111827;outline:none}.shortcuts-search input::placeholder{color:#9ca3af}.dark .shortcuts-search input{color:#f9fafb}.shortcuts-platform{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#9ca3af;border-bottom:1px solid #e5e7eb;margin:0 -1.5rem;padding:.75rem 1.5rem}.dark .shortcuts-platform{border-bottom-color:#374151}.shortcuts-list{padding-top:.5rem;max-height:50vh;overflow-y:auto;margin:0 -1.5rem;padding-left:1.5rem;padding-right:1.5rem}.shortcuts-empty{padding:2rem;text-align:center;color:#9ca3af}.shortcuts-category{margin-bottom:1.5rem}.shortcuts-category:last-child{margin-bottom:0}.shortcuts-category h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0 0 .75rem}.dark .shortcuts-category h4{color:#9ca3af}.shortcuts-grid{display:flex;flex-direction:column;gap:.25rem}.shortcut-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:6px;transition:background .15s}.shortcut-item:hover{background:#f3f4f6}.dark .shortcut-item:hover{background:#1f2937}.shortcut-description{font-size:.875rem;color:#374151}.dark .shortcut-description{color:#e5e7eb}.shortcut-keys{display:flex;align-items:center;gap:.25rem}.key-separator{font-size:.75rem;color:#9ca3af;margin:0 .125rem}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 .5rem;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif;font-size:.75rem;font-weight:500;color:#374151;background:linear-gradient(180deg,#fff,#f3f4f6);border:1px solid #d1d5db;border-radius:5px;box-shadow:0 1px 1px #00000014,inset 0 1px #fffc}.dark kbd{color:#e5e7eb;background:linear-gradient(180deg,#374151,#1f2937);border-color:#4b5563;box-shadow:0 1px 1px #0000004d,inset 0 1px #ffffff0d}.shortcuts-close-btn{padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s}.shortcuts-close-btn:hover{background:#e5e7eb}.dark .shortcuts-close-btn{color:#e5e7eb;background:#374151;border-color:#4b5563}.dark .shortcuts-close-btn:hover{background:#4b5563}@media (max-width: 640px){.shortcut-item{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.625rem .75rem}.shortcuts-list{max-height:60vh}}.about-modal-content{text-align:center}.about-logo{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.logo-icon svg{display:block}.logo-text{text-align:left}.logo-text h2{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.dark .logo-text h2{color:#f9fafb}.logo-text .version{font-size:.875rem;color:#6b7280}.dark .logo-text .version{color:#9ca3af}.about-description{font-size:.9375rem;color:#6b7280;line-height:1.6;margin:0 0 1.5rem}.dark .about-description{color:#9ca3af}.about-details{background:#f9fafb;border-radius:8px;padding:.75rem 1rem;margin-bottom:1.5rem}.dark .about-details{background:#1f2937}.detail-row{display:flex;justify-content:space-between;padding:.375rem 0}.detail-row:not(:last-child){border-bottom:1px solid #e5e7eb}.dark .detail-row:not(:last-child){border-bottom-color:#374151}.detail-label{font-size:.8125rem;color:#6b7280}.dark .detail-label{color:#9ca3af}.detail-value{font-size:.8125rem;font-weight:500;color:#111827}.dark .detail-value{color:#f9fafb}.about-features{text-align:left;margin-bottom:1.5rem}.about-features h4{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0 0 .5rem}.dark .about-features h4{color:#9ca3af}.about-features ul{list-style:none;padding:0;margin:0}.about-features li{position:relative;padding:.25rem 0 .25rem 1.25rem;font-size:.875rem;color:#374151}.dark .about-features li{color:#e5e7eb}.about-features li:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;background:#4f46e5;border-radius:50%}.dark .about-features li:before{background:#818cf8}.about-footer-text{border-top:1px solid #e5e7eb;padding-top:1rem;margin-top:.5rem}.dark .about-footer-text{border-top-color:#374151}.about-footer-text p{margin:0;font-size:.75rem;color:#9ca3af}.legal-links{margin-top:.5rem!important}.legal-links a{color:#6b7280;text-decoration:none;transition:color .2s}.legal-links a:hover{color:#4f46e5}.dark .legal-links a:hover{color:#818cf8}.legal-links .separator{margin:0 .5rem;color:#d1d5db}.dark .legal-links .separator{color:#4b5563}.about-close-btn{padding:.5rem 1.5rem;font-size:.875rem;font-weight:500;color:#fff;background:#4f46e5;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.about-close-btn:hover{background:#4338ca}.dark .about-close-btn{background:#6366f1}.dark .about-close-btn:hover{background:#818cf8}.app-layout{display:flex;flex-direction:column;height:100vh}.app-header{background-color:var(--background);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem;height:60px;position:relative;z-index:2100}.header-brand{display:flex;align-items:center;gap:.75rem;color:var(--primary-color)}.header-brand h1{font-size:1.25rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-search{flex:1;display:flex;justify-content:center;max-width:800px;margin:0 2rem}.header-nav{display:flex;align-items:center;gap:2rem}.nav-item{color:var(--text-secondary);cursor:pointer;transition:all .2s}.nav-item:hover{color:var(--text-primary);transform:translateY(-1px)}.app-body{display:flex;flex:1;overflow:hidden}.app-content{flex:1;overflow-y:auto;background-color:var(--surface)}.add-sites-btn{display:flex;align-items:center;gap:4px;transition:all .2s}.add-sites-btn:hover{transform:translateY(-1px)}.add-sites-label{display:inline}@media (max-width: 768px){.add-sites-label{display:none}}.trash-btn{position:relative}.trash-count{position:absolute;top:-8px;right:-8px;background:var(--warning-color, #ff9966);color:var(--text-on-primary, white);font-size:11px;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;opacity:.9}.temporary-btn{position:relative}.temporary-count{position:absolute;top:-8px;right:-8px;background:var(--orange-500, #ff9800);color:var(--text-on-primary, white);font-size:11px;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;opacity:.9}.gis-btn{display:flex;align-items:center;gap:4px;transition:all .2s}.gis-btn:hover{transform:translateY(-1px)}.list-filter-btn{display:flex;align-items:center;border-radius:4px;transition:all .2s}.list-filter-btn.active{background-color:var(--color-primary, #3b82f6);color:#fff;padding:4px}.header-brand:focus{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:.25rem}.nav-item:focus{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:.25rem}.mobile-menu-toggle{display:none;background:none;border:none;color:var(--text-primary);padding:.5rem;cursor:pointer}.sidebar-fab{position:fixed;bottom:1rem;left:1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003;z-index:2001;cursor:pointer;transition:transform .2s,box-shadow .2s}.sidebar-fab:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.sidebar-fab:active{transform:translateY(0)}.sidebar-open .sidebar-fab{opacity:0;pointer-events:none;transform:scale(.8)}@media (max-width: 1024px){.app-header{padding:0 1rem}.header-search{margin:0 1rem}.header-nav{gap:1rem}}@media (max-width: 768px){.app-header{height:auto;min-height:60px;flex-wrap:wrap;padding:.75rem 1rem}.header-brand{flex:0 0 auto}.header-brand h1{font-size:1.125rem}.mobile-menu-toggle{display:block;margin-left:auto}.header-search{order:3;flex-basis:100%;max-width:100%;margin:.75rem 0 0}.header-nav{position:fixed;top:60px;right:-100%;width:280px;height:calc(100vh - 60px);background-color:var(--background);border-left:1px solid var(--border);flex-direction:column;gap:0;padding:1rem;box-shadow:-2px 0 8px #0000001a;transition:right .3s ease;z-index:1000;overflow-y:auto}.header-nav.mobile-open{right:0}.nav-item{padding:.75rem 1rem;border-bottom:1px solid var(--border);width:100%;text-align:left;display:flex;align-items:center;gap:.5rem}.nav-item:last-child{border-bottom:none}.app-body{flex-direction:column}.navigation-sidebar{position:fixed;left:-100%;top:60px;height:calc(100vh - 60px);width:280px;z-index:999;transition:left .3s ease;box-shadow:2px 0 8px #0000001a}.navigation-sidebar.mobile-open{left:0}.app-content{margin:0;width:100%}}@media (max-width: 480px){.header-brand h1{font-size:1rem}.trash-count,.temporary-count{font-size:10px;padding:1px 4px}.nav-item{font-size:.875rem}}:root.dark .app-header{background-color:var(--surface-dark, #1f2937);border-bottom-color:var(--border-dark, #374151)}:root.dark .header-brand{color:var(--primary-color-dark, #60a5fa)}:root.dark .header-nav{background-color:var(--surface-dark, #1f2937)}:root.dark .nav-item{color:var(--text-muted-dark, #9ca3af)}:root.dark .nav-item:hover{color:var(--text-primary-dark, #f9fafb)}:root.dark .app-content{background-color:var(--background-dark, #111827)}:root.dark .sidebar-fab{background-color:var(--primary-color-dark, #3b82f6);box-shadow:0 2px 8px #0006}:root.dark .sidebar-fab:hover{box-shadow:0 4px 12px #00000080}@media (max-width: 768px){:root.dark .header-nav{background-color:var(--surface-dark, #1f2937);border-left-color:var(--border-dark, #374151);box-shadow:-2px 0 8px #0000004d}:root.dark .nav-item{border-bottom-color:var(--border-dark, #374151)}:root.dark .navigation-sidebar{box-shadow:2px 0 8px #0000004d}}.add-note-modal{background:var(--background);border-radius:8px;box-shadow:0 4px 24px #00000026;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.add-note-modal .modal-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.add-note-modal .modal-title{display:flex;align-items:center;gap:10px}.add-note-modal .modal-title h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-note-modal .modal-body{flex:1;padding:20px;overflow-y:auto}.add-note-modal .site-info{background:var(--surface);padding:12px 16px;border-radius:6px;margin-bottom:24px}.add-note-modal .site-address{margin:0;color:var(--text-secondary);font-size:.875rem}.add-note-modal .site-location{margin:4px 0 0;color:var(--text-secondary);font-size:.8125rem}.note-input-section{margin-bottom:16px}.note-input-section label{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.note-input-section textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-family:inherit;resize:vertical;transition:border-color .2s;background:var(--background);color:var(--text-primary)}.note-input-section textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0066cc1a}.note-hint{margin:8px 0 0;font-size:.8125rem;color:var(--text-secondary);font-style:italic}.add-note-modal .modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px;background:var(--surface)}.site-system-notes{width:100%;margin-top:.5rem}.notes-header-button{display:flex;align-items:center;gap:.5rem;background:none;border:none;padding:.5rem;cursor:pointer;width:100%;text-align:left;color:var(--text-secondary);font-size:.875rem;transition:all .2s;border-radius:4px}.notes-header-button:hover{background-color:var(--surface);color:var(--text-primary)}.notes-content{margin-top:.5rem}.notes-actions{display:flex;justify-content:flex-end;margin-bottom:.5rem}.add-note-button{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background-color:#06c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8125rem;font-weight:500;transition:background-color .2s}.add-note-button:hover{background-color:#0052a3}.notes-entries{border:1px solid var(--border);border-radius:4px;overflow:hidden}.note-entry{border-bottom:1px solid var(--border)}.note-entry:last-child{border-bottom:none}.entry-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem;background:none;border:none;cursor:pointer;text-align:left;transition:background-color .2s}.entry-header:hover{background-color:var(--surface)}.entry-header-left{display:flex;align-items:center;gap:.5rem;flex:1}.entry-timestamp{font-size:.75rem;color:var(--text-secondary);font-family:monospace}.entry-preview{font-size:.875rem;color:var(--text-primary);margin-left:.5rem}.note-entry.location .entry-header{border-left:3px solid #2196F3}.note-entry.status .entry-header{border-left:3px solid #FFC107}.note-entry.other .entry-header{border-left:3px solid var(--border)}.entry-content{padding:0 .75rem .75rem 2.5rem;background-color:var(--surface)}.entry-content pre{margin:0;font-family:monospace;font-size:.8125rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary)}.restore-button{margin-top:.75rem;padding:.5rem 1rem;background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s}.restore-button:hover:not(:disabled){background-color:#1976d2}.restore-button:disabled{opacity:.6;cursor:not-allowed}.site-system-notes.compact{margin-top:0}.site-system-notes.compact .notes-header-button{padding:.25rem .5rem;font-size:.8125rem}.site-system-notes.compact .notes-entries{margin-top:.25rem}.site-system-notes.compact .entry-header{padding:.5rem}.site-system-notes.compact .entry-content{padding:0 .5rem .5rem 2rem}.site-card .site-system-notes{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.site-card .notes-header-button{padding:.375rem .5rem;font-size:.8125rem}.site-card .notes-entries{margin-top:.375rem}.site-card .entry-header{padding:.5rem}.site-card .entry-content{padding:0 .5rem .5rem 2rem}.unified-street-view{position:relative;display:flex;flex-direction:column;width:100%;height:100%;background:var(--surface);overflow:hidden}.street-view-container{flex:1;width:100%;min-height:200px;height:100%;position:relative;background:var(--surface)}.street-view-wrapper{position:relative;width:100%;height:100%;flex:1}.unified-street-view.variant-panel{position:absolute;top:0;left:0;width:25%;height:100%;background:var(--background);box-shadow:2px 0 8px #0000001a;z-index:500;animation:slideInFromLeft .3s ease-out}.unified-street-view.variant-panel .street-view-container{min-height:400px}.unified-street-view.variant-modal{border-radius:8px;overflow:hidden}.unified-street-view.variant-modal .street-view-container{min-height:300px}.unified-street-view.variant-mini,.unified-street-view.variant-inline{position:relative;width:100%;height:200px;border-radius:8px;overflow:hidden}.unified-street-view.variant-mini .street-view-container,.unified-street-view.variant-inline .street-view-container{min-height:100%}.unified-street-view.variant-mini.map-context,.unified-street-view.variant-inline.map-context{height:250px}.street-view-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.street-view-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.close-button{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s;color:var(--text-secondary)}.close-button:hover{background-color:var(--border);color:var(--text-primary)}.site-info-bar{padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px;flex-shrink:0}.site-id{font-weight:600;color:var(--primary-color);font-size:14px}.site-address{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-mode-indicator{font-size:12px;color:var(--error-color);background:var(--error-surface, rgba(239, 68, 68, .1));padding:2px 8px;border-radius:12px;margin-top:4px;display:inline-block;font-weight:500}.no-site-selected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;color:var(--text-secondary)}.no-site-selected p{margin:0;font-size:18px;font-weight:500;color:var(--text-primary)}.no-site-selected .hint{margin-top:8px;font-size:14px;font-weight:400;color:var(--text-secondary)}.capture-button{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;background:#ffffffe6;border:1px solid var(--border, #e5e7eb);color:var(--text-primary, #111827);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.capture-button:hover:not(:disabled){background:var(--background);box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.capture-button:active:not(:disabled){transform:translateY(0)}.capture-button:disabled{cursor:not-allowed;opacity:.7}.capture-button.capturing{background:var(--primary-color, #2563eb);color:#fff;cursor:not-allowed}.capture-button.success{background:var(--success-color, #10b981);color:#fff}.capture-button.error{background:var(--error-color, #ef4444);color:#fff}.unified-street-view.variant-panel .capture-button{top:80px;width:48px;height:48px}.capture-button.map-context{position:absolute!important;bottom:12px!important;right:12px!important;top:auto!important;z-index:999!important;background:var(--background)!important;box-shadow:0 2px 8px #0000004d!important;width:48px!important;height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}.capture-button.map-context:hover:not(:disabled){background:var(--surface);box-shadow:0 4px 12px #00000059;transform:scale(1.05)}.capture-button.map-context.success{background:var(--success-color);color:#fff}.capture-button.map-context.error{background:var(--error-color);color:#fff}.capture-status{position:absolute;bottom:12px;left:12px;right:12px;padding:8px 12px;border-radius:6px;font-size:.8125rem;font-weight:500;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:slideInUp .3s ease-out;z-index:10}.capture-status.capturing{background:#2563ebe6;color:#fff}.capture-status.success{background:#10b981e6;color:#fff}.capture-status.error{background:#ef4444e6;color:#fff}.unified-street-view.variant-panel .capture-status{left:50%;right:auto;transform:translate(-50%);bottom:20px;padding:8px 16px;font-size:14px}.image-count-indicator{position:absolute;top:12px;left:12px;padding:4px 8px;background:#000000b3;color:#fff;font-size:.75rem;font-weight:500;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}.unified-street-view.variant-panel .image-count-indicator{top:140px;left:12px;right:auto}.street-view-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;z-index:5}.loading-spinner{color:var(--text-secondary);font-size:.875rem}.unified-street-view.variant-mini .street-view-loading-overlay,.unified-street-view.variant-inline .street-view-loading-overlay{border-radius:8px}.street-view-unavailable-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:var(--surface);z-index:5}.unavailable-content{text-align:center;padding:32px}.unavailable-content svg{color:var(--text-secondary);margin-bottom:16px}.unavailable-content h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary)}.unavailable-content p{margin:0 0 8px;font-size:14px;color:var(--text-secondary)}.coordinates-display{font-size:12px;color:var(--text-secondary);font-family:monospace}.mini-street-view-unavailable{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:.875rem;background:var(--surface);border:1px dashed var(--border);border-radius:8px}.street-view-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:32px;text-align:center}.street-view-error h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--error-color)}.street-view-error p{margin:0;font-size:14px;color:var(--text-secondary)}.unified-street-view-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--surface);border-radius:8px}.placeholder-content{text-align:center;padding:24px}.placeholder-icon{position:relative;display:inline-block;margin-bottom:16px}.placeholder-icon .alert-icon{position:absolute;bottom:-4px;right:-4px}.placeholder-content h4{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary)}.placeholder-content p{margin:0;font-size:14px;color:var(--text-secondary)}@keyframes slideInFromLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideInUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 1200px){.unified-street-view.variant-panel{width:35%}}@media (max-width: 768px){.unified-street-view.variant-panel{width:50%}.unified-street-view.variant-mini,.unified-street-view.variant-inline{height:150px}.capture-button{width:36px;height:36px;top:8px;right:8px}.capture-button svg{width:18px;height:18px}.capture-status{font-size:.75rem;padding:6px 10px;bottom:8px;left:8px;right:8px}.image-count-indicator{top:8px;left:8px;font-size:.7rem;padding:3px 6px}}@media (prefers-color-scheme: dark){.unified-street-view{background:#1f2937}.street-view-header{background:#111827;border-color:#374151}.street-view-header h3{color:#f3f4f6}.close-button{color:#9ca3af}.close-button:hover{background-color:#374151;color:#f3f4f6}.site-info-bar{background:#111827;border-color:#374151}.site-id{color:#60a5fa}.site-address{color:#9ca3af}.no-site-selected p{color:#f3f4f6}.no-site-selected .hint{color:#9ca3af}.street-view-loading-overlay{background:#111827e6}.loading-spinner{color:#9ca3af}.mini-street-view-unavailable{background:#111827;border-color:#374151;color:#9ca3af}.capture-button{background:#1f2937e6;border-color:#374151;color:#f3f4f6}.capture-button:hover:not(:disabled){background:#1f2937}}.coordinate-editor-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.coordinate-editor-modal{background-color:var(--background);border-radius:8px;width:95%;max-width:1600px;height:90vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease-out}.coordinate-editor-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border)}.coordinate-editor-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.coordinate-editor-search{padding:1rem 1.5rem;background-color:var(--surface);border-bottom:1px solid var(--border)}.search-container{display:flex;gap:.75rem;align-items:center}.back-button{display:flex;align-items:center;justify-content:center;padding:.5rem;background-color:var(--background);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;flex-shrink:0}.back-button:hover{background-color:var(--surface);border-color:var(--text-secondary);color:var(--text-primary)}.search-input-wrapper{flex:1;display:flex;position:relative}.search-input{flex:1;padding:.625rem 3rem .625rem 1rem;border:1px solid var(--border);border-radius:4px;font-size:.875rem;transition:border-color .2s;background-color:var(--background);color:var(--text-primary)}.search-input:disabled{background-color:var(--surface);color:var(--text-secondary)}.search-button{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:.5rem;background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.search-button:hover:not(:disabled){background-color:#1976d2}.search-button:disabled{background-color:#ccc;cursor:not-allowed}.coordinate-editor-body{flex:1;display:flex;overflow:hidden;min-height:0}.map-panel-container,.street-view-panel-container{flex:1;position:relative;overflow:hidden;min-width:0;min-height:0;display:flex;flex-direction:column}.map-panel-container{border-right:1px solid var(--border)}.map-panel{width:100%;height:100%;position:relative;display:flex;flex-direction:column}.map-container{width:100%;flex:1;position:relative}.map-instructions{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background-color:var(--overlay-white-95, rgba(255, 255, 255, .95));text-align:center;font-size:.875rem;color:var(--text-secondary);border-top:1px solid var(--border)}.map-error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:1rem}.marker-label{background-color:var(--background);padding:4px 8px;border-radius:4px;border:1px solid var(--border);margin-top:10px;white-space:nowrap;font-weight:600}.current-location-label{border-color:#dc2626;color:#dc2626;background-color:#fee2e2f2}.new-location-label{border-color:#16a34a;color:#16a34a;background-color:#dcfce7f2}:root.dark .current-location-label,.dark .current-location-label{border-color:#fca5a5;color:#fca5a5;background-color:#ef444433}:root.dark .new-location-label,.dark .new-location-label{border-color:#4ade80;color:#4ade80;background-color:#4ade8033}.coordinate-editor-modal .street-view-panel{width:100%!important;height:100%;position:relative;background-color:var(--surface);display:flex;flex-direction:column;flex:1}.coordinate-editor-modal .street-view-wrapper{width:100%;height:100%;position:relative;flex:1;min-height:0}.coordinate-editor-modal .street-view-container{width:100%;height:100%;position:relative}.coordinate-editor-modal .street-view-container>div{width:100%!important;height:100%!important}.coordinate-editor-modal .street-view-container>div>div{width:100%!important;height:100%!important}.coordinate-editor-modal .street-view-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--surface)}.coordinate-editor-modal .street-view-unavailable{text-align:center;color:var(--text-secondary);padding:2rem}.coordinate-editor-modal .street-view-unavailable svg{color:var(--border);margin-bottom:1rem}.coordinate-editor-modal .street-view-unavailable h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary)}.coordinate-editor-modal .street-view-unavailable p{margin:.5rem 0;font-size:.875rem}.coordinates-display{font-family:monospace;font-size:.8125rem;color:var(--text-secondary);margin-top:1rem}.coordinate-editor-footer{padding:1.5rem;border-top:1px solid var(--border);background-color:var(--surface)}.coordinate-display-container{margin-bottom:1rem}.coordinate-display{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.coordinate-display.with-change{flex-direction:column;align-items:stretch;gap:.5rem}.coordinate-change{display:flex;align-items:center;gap:1rem}.coordinate-item{display:flex;align-items:center;gap:.5rem}.coordinate-label{color:var(--text-secondary);font-weight:500}.coordinate-value{font-family:monospace;color:var(--text-primary)}.coordinate-item.current .coordinate-value{color:var(--error-color, #d32f2f)}.coordinate-item.new .coordinate-value{color:var(--success-color, #388e3c)}.coordinate-arrow{color:var(--text-secondary);flex-shrink:0}.distance-moved{font-size:.8125rem;color:var(--text-secondary);margin-left:2rem}.error-message{background-color:var(--error-bg, #ffebee);color:var(--error-color-text, #c62828);padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem;font-size:.875rem;border:1px solid var(--error-color, #ef4444)}.success-message{background-color:var(--success-bg, rgba(16, 185, 129, .15));color:var(--success-color-text, #22c55e);padding:.5rem .75rem;border-radius:4px;font-size:.875rem;margin-bottom:.75rem;text-align:center;border:1px solid var(--success-color, #22c55e)}.infrastructure-fields{display:flex;gap:.75rem;margin-bottom:.75rem;align-items:flex-end}.infrastructure-field{flex:1}.infrastructure-label{font-size:.75rem;color:var(--text-secondary);display:block;margin-bottom:.25rem;font-weight:500}.infrastructure-input,.infrastructure-select{width:100%;padding:.375rem .5rem;border:1px solid var(--border);border-radius:4px;font-size:.875rem;background-color:var(--input-bg, #ffffff);color:var(--text-primary);transition:border-color .2s,background-color .2s,box-shadow .2s}.infrastructure-input:focus,.infrastructure-select:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.infrastructure-input::placeholder{color:var(--text-tertiary, #9ca3af)}.infrastructure-select option{background-color:var(--input-bg, #ffffff);color:var(--text-primary)}.action-buttons{display:flex;gap:.75rem;justify-content:flex-end;align-items:center}.reset-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--background);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s;margin-right:auto;white-space:nowrap;flex-shrink:0;min-width:fit-content}.reset-button:hover:not(:disabled){background-color:var(--surface);border-color:var(--text-secondary);color:var(--text-primary)}.cancel-button,.save-button{padding:.625rem 1.25rem;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-button{background-color:var(--background);color:var(--text-secondary);border:1px solid var(--border)}.cancel-button:hover:not(:disabled){background-color:var(--surface);border-color:var(--text-secondary);color:var(--text-primary)}.save-button{background-color:#4caf50;color:#fff;display:flex;align-items:center;gap:.5rem}.save-button:hover:not(:disabled){background-color:#45a049}.save-button:disabled,.cancel-button:disabled,.reset-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.coordinate-editor-modal{width:95%;height:90vh}.coordinate-editor-body{flex-direction:column}.map-panel-container{border-right:none;border-bottom:1px solid var(--border)}.coordinate-change{flex-direction:column;align-items:flex-start;gap:.5rem}.coordinate-arrow{transform:rotate(90deg);align-self:center}.distance-moved{margin-left:0;margin-top:.5rem}}.tag-editor-modal{background:var(--background);border-radius:8px;box-shadow:0 4px 24px #00000026;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.tag-editor-modal .modal-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.tag-editor-modal .modal-title{display:flex;align-items:center;gap:10px}.tag-editor-modal .modal-title h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag-editor-modal .modal-body{flex:1;padding:20px;overflow-y:auto}.site-project{margin:4px 0 0;color:var(--text-muted);font-size:.8125rem}.current-tags-section,.tag-selector-section{margin-bottom:24px}.current-tags-section h3,.tag-selector-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.current-tags{display:flex;flex-wrap:wrap;gap:8px}.no-tags{color:var(--text-muted);font-size:.875rem;font-style:italic;margin:0}.tag-editor-modal .modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px;background:var(--surface)}.project-editor-modal{background:var(--background);border-radius:8px;box-shadow:0 4px 24px #00000026;width:90%;max-width:500px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.project-editor-modal .modal-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.project-editor-modal .modal-title{display:flex;align-items:center;gap:10px}.project-editor-modal .modal-title h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.project-editor-modal .modal-body{flex:1;padding:20px;overflow-y:auto}.site-info{background:var(--surface);padding:12px 16px;border-radius:6px;margin-bottom:24px}.site-address{margin:0;color:var(--text-secondary);font-size:.875rem}.site-location{margin:4px 0 0;color:var(--text-secondary);font-size:.8125rem}.current-project-section,.project-selector-section{margin-bottom:24px}.current-project-section h3,.project-selector-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.current-project{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--info-bg, #e3f2fd);border-radius:6px;border:1px solid var(--info-border, #90caf9)}.project-badge{display:flex;align-items:center;gap:8px;color:var(--info-text, #1976d2);font-weight:500}.remove-project-btn{padding:6px 12px;background:var(--background);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;transition:all .2s}.remove-project-btn:hover{background:var(--surface);border-color:var(--border-hover, #bbb);color:var(--error-text, #d32f2f)}.no-project{color:var(--text-muted, #999);font-size:.875rem;font-style:italic;margin:0}.project-hint{margin:8px 0 0;color:var(--text-secondary);font-size:.8125rem;font-style:italic}.project-editor-modal .modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px;background:var(--surface)}:root.dark .project-editor-modal{box-shadow:0 4px 24px #0006}:root.dark .current-project{background:#3b82f626;border-color:#3b82f64d}:root.dark .project-badge{color:#60a5fa}:root.dark .remove-project-btn:hover{color:#f87171}.site-id-editor-modal{background:var(--background);border-radius:8px;box-shadow:0 4px 24px #00000026;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.site-id-editor-modal .modal-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.site-id-editor-modal .modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-id-editor-modal .modal-body{flex:1;padding:20px;overflow-y:auto}.site-id-editor-modal .site-info{background:var(--surface);padding:12px 16px;border-radius:6px;margin-bottom:24px}.site-id-editor-modal .site-address{margin:0;color:var(--text-secondary);font-size:.875rem}.site-id-editor-modal .site-location{margin:4px 0 0;color:var(--text-secondary);font-size:.8125rem}.site-id-input-section{margin-bottom:24px}.site-id-input-section label{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.site-id-input-section input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;transition:border-color .2s}.site-id-input-section input:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.history-section{border-top:1px solid var(--border);padding-top:16px}.history-toggle{display:flex;align-items:center;gap:8px;background:none;border:none;padding:8px 12px;cursor:pointer;color:var(--text-primary);font-size:.875rem;font-weight:500;border-radius:6px;transition:background-color .2s;width:100%;text-align:left}.history-toggle:hover{background-color:var(--surface)}.history-content{margin-top:12px;padding:12px;background:var(--surface);border-radius:6px}.history-loading,.no-history{text-align:center;color:var(--text-secondary);font-size:.875rem;padding:20px}.history-list{display:flex;flex-direction:column;gap:12px}.history-entry{background:var(--background);padding:12px;border-radius:6px;border:1px solid var(--border)}.history-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.history-date{font-size:.75rem;color:var(--text-secondary)}.current-badge{background:#4caf50;color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.history-entry-content{display:flex;align-items:center;gap:8px;font-family:monospace;font-size:.875rem}.old-id{color:var(--text-secondary);text-decoration:line-through}.arrow{color:var(--text-muted)}.new-id{color:var(--text-primary);font-weight:500}.initial-id{color:var(--text-primary)}.site-id-editor-modal .modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px;background:var(--surface)}.search-ring-assignment-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column}.modal-title{display:flex;align-items:center;gap:8px}.modal-title h2{margin:0;font-size:20px;font-weight:600}.site-info{background-color:#f5f5f5;border-radius:8px;padding:12px 16px;margin-bottom:20px}.site-address{font-size:14px;color:#333;margin:0 0 8px}.site-coordinates{font-size:13px;color:#666;margin:0;font-family:monospace}.current-ring-section,.ring-selector-section{margin-bottom:24px}.current-ring-section h3,.ring-selector-section h3{font-size:16px;font-weight:600;margin:0 0 12px;color:#333}.current-ring{padding:12px 16px;border:1px solid #e0e0e0;border-radius:8px;background-color:#f8f9fa}.ring-info{display:flex;align-items:center;gap:8px}.ring-name{font-weight:500;color:#333}.ring-details{font-size:13px;color:#666}.no-ring{color:#666;font-style:italic;font-size:14px;margin:0}.ring-options{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;padding:4px}.ring-option{display:flex;align-items:center;padding:12px;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;background-color:#fff}.ring-option:hover{background-color:#f5f5f5;border-color:#4299e1}.ring-option input[type=radio]{margin-right:12px}.ring-option-content{display:flex;align-items:center;gap:8px;flex:1}.ring-color-indicator{width:20px;height:20px;border-radius:50%;border:2px solid #e0e0e0}.option-label{font-size:14px;color:#333;flex:1}.ring-stats{font-size:12px;color:#666}.create-new-section{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.create-new-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:none;border:2px dashed #4299e1;border-radius:8px;color:#4299e1;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.create-new-button:hover{background-color:#e6f2ff;border-style:solid}.create-new-form{display:flex;gap:8px;align-items:center}.create-new-form input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.create-new-form input:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 2px #4299e133}.loading{text-align:center;color:#666;padding:20px;font-size:14px}.color-customization-section{margin-top:16px;padding:16px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.color-customization-section h4{font-size:14px;font-weight:600;margin:0 0 12px;color:#333}.color-controls{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.color-control{display:flex;align-items:center;gap:8px}.color-control label,.opacity-control label{font-size:13px;color:#666;margin:0}.color-preview-button{width:40px;height:40px;border-radius:8px;border:2px solid #e0e0e0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.color-preview-button:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.opacity-control{display:flex;flex-direction:column;gap:4px}.opacity-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e2e8f0;border-radius:3px;outline:none}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#4299e1;border-radius:50%;cursor:pointer}.opacity-slider::-moz-range-thumb{width:16px;height:16px;background:#4299e1;border-radius:50%;cursor:pointer;border:none}.update-color-button{padding:8px 16px;background-color:#4299e1;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.update-color-button:hover:not(:disabled){background-color:#3182ce}.update-color-button:disabled{background-color:#cbd5e0;cursor:not-allowed}.create-new-expanded{display:flex;flex-direction:column;gap:12px}.new-ring-settings{padding:12px;background-color:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0}.color-settings-row{display:flex;gap:16px;align-items:center}.color-setting{display:flex;align-items:center;gap:8px}.color-setting label,.opacity-setting label{font-size:12px;color:#666}.color-preview-small{width:28px;height:28px;border-radius:6px;border:2px solid #e0e0e0;cursor:pointer;transition:all .2s}.color-preview-small:hover{transform:scale(1.1);box-shadow:0 2px 6px #0000001a}.opacity-setting{flex:1;display:flex;flex-direction:column;gap:4px}.opacity-slider-small{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e2e8f0;border-radius:2px;outline:none}.opacity-slider-small::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:#4299e1;border-radius:50%;cursor:pointer}.opacity-slider-small::-moz-range-thumb{width:14px;height:14px;background:#4299e1;border-radius:50%;cursor:pointer;border:none}.budget-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500;background-color:var(--surface);color:var(--text-primary);transition:all .2s ease}.budget-badge__icon{flex-shrink:0}.budget-badge__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-badge__bar{width:40px;height:4px;background-color:var(--border);border-radius:2px;overflow:hidden}.budget-badge__bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.budget-badge--healthy{background-color:#ecfdf5;color:#065f46}.budget-badge--healthy .budget-badge__bar-fill{background-color:#10b981}.budget-badge--warning{background-color:#fffbeb;color:#92400e}.budget-badge--warning .budget-badge__bar-fill{background-color:#f59e0b}.budget-badge--critical{background-color:#fef2f2;color:#991b1b}.budget-badge--critical .budget-badge__bar-fill{background-color:#ef4444}.budget-badge--over-budget{background-color:#fee2e2;color:#7f1d1d;border:1px solid #fecaca}.budget-badge--over-budget .budget-badge__bar-fill{background-color:#dc2626}.budget-badge--compact{padding:2px 6px;font-size:.65rem;gap:3px}.budget-badge--compact .budget-badge__percent{font-weight:600}.budget-badge:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.sites-table-container{padding:1.5rem 1.5rem 3rem;overflow:visible;position:relative;min-height:200px}.bulk-actions-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.5rem;margin-bottom:1rem}.bulk-actions-bar.table-bulk-actions{position:sticky;top:12px;z-index:1020;background-color:#f5f5f5fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 12px #0000001f}:root.dark .bulk-actions-bar.table-bulk-actions{background-color:#202020fa}.bulk-actions-bar .selection-count{font-weight:600;color:var(--text-primary);font-size:.9375rem}.bulk-actions-bar .bulk-actions-buttons{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.table-bulk-status-menu{position:absolute;top:calc(100% + 4px);left:0;background:var(--background, #fff);border:1px solid var(--border, #e0e0e0);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1100;min-width:160px;padding:4px 0}.table-bulk-status-menu .status-option{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;background:none;text-align:left;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--status-color);transition:background-color .15s}.table-bulk-status-menu .status-option:hover{background-color:var(--status-bg)}.table-status-dropdown-wrapper{position:relative;display:inline-block}.table-row-status-menu{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:var(--background, #fff);border:1px solid var(--border, #e0e0e0);border-radius:8px;box-shadow:0 -4px 12px #00000026;z-index:1100;min-width:140px;padding:4px 0}.table-row-status-menu .status-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;text-align:left;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--status-color);transition:background-color .15s}.table-row-status-menu .status-option:hover{background-color:var(--status-bg)}.table-row-status-menu .status-option.active{background-color:var(--status-bg);font-weight:600}.table-row-status-menu .status-option.active:after{content:"✓";margin-left:auto;font-size:12px}.status-toggle{position:relative}.bulk-actions-bar span{font-weight:500;color:var(--text-primary)}.sites-table{width:100%;border-collapse:collapse;background-color:var(--background);border:1px solid var(--border);border-radius:.5rem;overflow:visible;position:relative;table-layout:auto}.sites-table th.checkbox-column,.sites-table td.checkbox-column{width:40px;min-width:40px;max-width:40px}.sites-table .color-column{width:60px;min-width:60px;max-width:60px}.sites-table .flag-column{width:70px;min-width:70px;max-width:70px}.sites-table .review-status{width:130px;min-width:130px}.sites-table .actions{width:60px;min-width:60px}.sites-table thead{background-color:var(--surface)}.sites-table thead tr{border-bottom:2px solid var(--border)}.sites-table th{text-align:left;padding:.75rem 1rem;font-size:.8125rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.025em;border-bottom:none}.sites-table td{padding:.75rem 1rem;border-top:1px solid var(--border);font-size:.875rem;vertical-align:middle;line-height:1.5}.sites-table tbody tr:hover{background-color:var(--surface)}.sites-table tbody tr.selected{background-color:var(--primary-bg, #e3f2fd)}.sites-table tbody tr.flagged{background-color:#2196f314;position:relative}.sites-table tbody tr.flagged td{border-top-color:#2196f3;border-bottom:1px solid #2196F3}.sites-table tbody tr.flagged td:first-child{border-left:2px solid #2196F3}.sites-table tbody tr.flagged td:last-child{border-right:2px solid #2196F3}.checkbox-column{width:40px;text-align:center}.site-id{font-weight:500;color:var(--primary-color)}.coordinates{padding:0!important}.carrier-id,.carrier,.install-type,.pole-material,.pole-owner,.target-height,.antenna-config{font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.carrier{font-weight:500;color:var(--primary-color)}.install-type,.pole-material{color:var(--text-secondary)}.target-height{text-align:center;font-family:monospace}.antenna-config{max-width:180px;cursor:help}.antenna-config .infrastructure-field-editor{max-width:100%}.infrastructure-field-editor{display:flex;align-items:center;gap:4px;position:relative}.infrastructure-field-display{cursor:pointer;padding:2px 4px;border-radius:3px;transition:background-color .2s;flex:1;min-width:0}.infrastructure-field-display:hover{background-color:var(--surface)}.infrastructure-field-display .field-value{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.infrastructure-field-input,.infrastructure-field-select{width:100%;padding:2px 4px;border:1px solid var(--primary-color);border-radius:3px;font-size:.875rem;background-color:var(--background);color:var(--text-primary);outline:none}.infrastructure-field-input:focus,.infrastructure-field-select:focus{box-shadow:0 0 0 2px #2196f333}.copy-to-all-btn{padding:2px 6px;background-color:transparent;border:1px solid var(--border);border-radius:3px;cursor:pointer;display:flex;align-items:center;gap:2px;color:var(--text-secondary);font-size:.75rem;transition:all .2s;white-space:nowrap}.copy-to-all-btn:hover{background-color:var(--surface);border-color:var(--primary-color);color:var(--primary-color)}.copy-to-all-btn.confirm{background-color:#4caf50;border-color:#4caf50;color:#fff}.copy-to-all-btn.confirm:hover{background-color:#45a049}.copy-confirm-text{font-size:.7rem}.coordinates-link{display:inline-flex;align-items:center;gap:.375rem;color:var(--text-secondary);font-family:monospace;font-size:.8125rem;line-height:1;background:none;border:none;padding:.75rem 1rem;width:100%;text-align:left;cursor:pointer;transition:all .2s;text-decoration:none}.coordinates-link:hover{color:var(--primary-color);text-decoration:underline;background-color:#2196f30d}.coordinates-link:focus{outline:2px solid var(--primary-color);outline-offset:-2px}.address{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.address-link{background:none;border:none;padding:4px 8px;cursor:pointer;color:var(--text-primary);text-align:left;font-size:inherit;font-family:inherit;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;transition:all .2s ease}.status{display:inline-flex;align-items:center;gap:.5rem;line-height:1}.status-icon.success{color:var(--success-color)}.status-icon.warning{color:var(--warning-color)}.status-icon.error{color:var(--error-color)}.actions{text-align:center;position:relative}.action-dropdown{position:relative;display:inline-block}.action-button{background:none;border:none;padding:.25rem;border-radius:.25rem;cursor:pointer;color:var(--text-secondary);transition:all .2s}.action-button:hover{background-color:var(--surface);color:var(--text-primary)}.table-dropdown-menu{background:var(--background);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #00000026;min-width:150px;overflow:hidden}.dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 16px;background:none;border:none;width:100%;text-align:left;cursor:pointer;font-size:14px;color:var(--text-primary);text-decoration:none;transition:background-color .2s}.dropdown-item:hover{background-color:var(--surface)}.dropdown-item.delete{color:var(--error-color)}.dropdown-item.delete:hover{background-color:#ffebee}.empty-row{text-align:center;color:var(--text-secondary);padding:3rem 1rem}.color-picker-dropdown{position:absolute;right:0;top:100%;margin-top:4px;background:var(--background);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1001;padding:12px;min-width:220px}.color-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;font-weight:500}.color-picker-header .close-btn{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px}.color-picker-header .close-btn:hover{background-color:var(--surface)}.color-grid .color-option{width:40px;height:40px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .2s}.color-grid .color-option:hover{transform:scale(1.1);box-shadow:0 2px 8px #0003}.color-grid .color-option.selected{border-color:#333;box-shadow:0 0 0 3px #0000001a}.notes-row td{padding:0;border-top:none;background-color:var(--surface)}.notes-row:hover td{background-color:var(--surface)}.color-column{text-align:center;width:60px;position:relative}.color-indicator.clickable:hover{transform:scale(1.1);box-shadow:0 2px 8px #00000026}.flag-column{text-align:center;width:80px}.flag-button{background:none;border:1px solid var(--border);padding:.375rem .75rem;border-radius:.25rem;cursor:pointer;color:var(--text-secondary);transition:all .2s;display:inline-flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle}.flag-button:hover{background-color:var(--surface);border-color:#2196f3;color:#2196f3}.flag-button.flagged{background-color:#2196f3;border-color:#2196f3;color:#fff}.flag-button.flagged:hover{background-color:#1976d2;border-color:#1976d2}.flag-button svg.filled{fill:currentColor}.review-status{text-align:center;width:120px}.status-toggle{background:none;border:1px solid var(--border);padding:.375rem .75rem;border-radius:.25rem;cursor:pointer;font-size:.8125rem;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:.25rem;line-height:1;vertical-align:middle}.tags-cell{max-width:200px}.tags-link{background:none;border:none;padding:4px 8px;cursor:pointer;display:inline-block;width:100%;text-align:left;transition:all .2s;border-radius:4px}.tags-link:hover{background-color:#0066cc0d}.tags-link:focus{outline:2px solid var(--primary-color);outline-offset:-2px}.tags-link .site-tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.tags-link .more-tags{font-size:11px;color:var(--text-secondary);font-style:italic;margin-left:4px}.add-tag-link{display:inline-flex;align-items:center;gap:4px;color:#06c;font-size:13px;font-weight:500}.add-tag-link:hover{color:#0052a3;text-decoration:underline}.project{max-width:200px}.project-link{background:none;border:none;padding:4px 8px;cursor:pointer;display:inline-block;width:100%;text-align:left;transition:all .2s;border-radius:4px}.project-link:hover{background-color:#1976d20d}.project-link:focus{outline:2px solid var(--primary-color);outline-offset:-2px}.project-name{display:inline-flex;align-items:center;gap:4px;color:#1976d2;font-weight:500}.add-project-link{display:inline-flex;align-items:center;gap:4px;color:#1976d2;font-size:13px;font-weight:500}.add-project-link:hover{color:#1565c0;text-decoration:underline}.site-id{font-weight:500}.site-id-link{background:none;border:none;padding:0;cursor:pointer;font-weight:500;text-align:left;display:inline-flex;align-items:center;gap:4px;transition:opacity .2s}.site-id-link:hover{opacity:.8}.site-id-link .edit-icon{opacity:0;transition:opacity .2s}.site-id-link:hover .edit-icon{opacity:.6}.site-id-container{display:inline-flex;align-items:center;gap:6px}.site-detail-link{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-secondary);opacity:.4;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.site-detail-link:hover{opacity:1;color:#1976d2;background-color:#1976d214}.site-detail-link:focus{outline:2px solid #1976d2;outline-offset:1px;opacity:1}.site-detail-link:active{transform:scale(.95)}.search-ring-link{background:none;border:none;padding:4px 8px;cursor:pointer;display:inline-block;width:100%;text-align:left;transition:all .2s;border-radius:4px}.search-ring-link:hover{background-color:#4299e10d}.search-ring-link:focus{outline:2px solid var(--primary-color);outline-offset:-2px}.search-ring-name{display:inline-flex;align-items:center;gap:4px;color:#4299e1;font-weight:500}.add-search-ring-link{display:inline-flex;align-items:center;gap:4px;color:#4299e1;font-size:13px;font-weight:500}.add-search-ring-link:hover{color:#3182ce;text-decoration:underline}@media (max-width: 1200px){.sites-table{font-size:.875rem}.sites-table th,.sites-table td{padding:.5rem}.sites-table th:nth-child(9),.sites-table td:nth-child(9),.sites-table th:nth-child(10),.sites-table td:nth-child(10){display:none}}@media (max-width: 768px){.sites-table{display:block}.sites-table thead{display:none}.sites-table tbody{display:block}.sites-table tr{display:block;margin-bottom:1rem;border:1px solid var(--border);border-radius:8px;padding:1rem;background:var(--background)}.sites-table td{display:block;padding:.5rem 0;border:none;position:relative;padding-left:40%}.sites-table td:before{content:attr(data-label);position:absolute;left:0;width:35%;font-weight:600;color:var(--text-secondary)}.checkbox-column{display:none}.action-dropdown{position:static}.flag-column,.review-status{display:inline-block;width:auto;padding-left:0}.flag-column:before,.review-status:before{display:none}}:root.dark .sites-table tbody tr.selected{background-color:#3b82f633}:root.dark .dropdown-item.delete:hover{background-color:#f4433626}:root.dark .table-dropdown-menu{box-shadow:0 4px 12px #0006}:root.dark .color-picker-dropdown{box-shadow:0 4px 12px #0006}:root.dark .sites-table tbody tr.flagged{background-color:#2196f326}:root.dark .sites-table tbody tr.flagged td{border-top-color:#42a5f5;border-bottom-color:#42a5f5}:root.dark .sites-table tbody tr.flagged td:first-child{border-left-color:#42a5f5}:root.dark .sites-table tbody tr.flagged td:last-child{border-right-color:#42a5f5}.card-inline-map-container{position:relative;width:100%;height:200px;background:var(--surface);border-radius:8px;overflow:hidden;margin-top:12px}.card-inline-map{width:100%;height:100%}.card-inline-map-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#fffc;pointer-events:none}.card-inline-map-error{display:flex;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--text-secondary);font-size:.875rem;background:var(--surface);border:1px dashed var(--border)}.card-inline-map-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:#fffffff2;border:1px solid var(--border, #e5e7eb);color:var(--text-primary, #111827);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a;padding:0}.card-inline-map-close:hover{background:#fff;transform:scale(1.05);box-shadow:0 4px 6px #0000001a}.card-inline-map-close:active{transform:scale(.95)}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--primary, #3b82f6);border-radius:50%;animation:spin .6s linear infinite}:root.dark .card-inline-map-container{background:#374151}:root.dark .card-inline-map-error{background:#1f2937;border-color:#4b5563;color:#9ca3af}:root.dark .card-inline-map-close{background:#1f2937f2;border-color:#4b5563;color:#fff}:root.dark .card-inline-map-close:hover{background:#1f2937}:root.dark .spinner{border-color:#4b5563;border-top-color:#60a5fa}.image-metadata-content{display:flex;flex-direction:column;gap:24px}.image-preview{width:100%;max-height:300px;background:var(--surface);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.image-preview img{max-width:100%;max-height:300px;object-fit:contain;border-radius:4px}.image-preview .image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;color:var(--text-secondary);text-align:center}.image-preview .image-placeholder svg{color:var(--text-muted)}.image-preview .image-placeholder p{margin:0;font-size:.875rem}.metadata-form{display:flex;flex-direction:column;gap:16px}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group textarea{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-family:inherit;transition:border-color .2s;background:var(--background);color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.metadata-section{display:flex;flex-direction:column;gap:12px}.metadata-section h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);padding-bottom:8px;border-bottom:1px solid var(--border)}.metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.metadata-item{display:flex;gap:8px;align-items:flex-start}.metadata-item>svg{flex-shrink:0;margin-top:2px;color:var(--text-secondary)}.metadata-item>div{flex:1;display:flex;flex-direction:column;gap:2px}.metadata-item label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.metadata-item span{font-size:.875rem;color:var(--text-primary);word-break:break-word;font-weight:500}.metadata-item .monospace{font-family:Courier New,Courier,monospace;font-size:.8125rem;background:var(--surface);color:var(--text-primary);padding:2px 4px;border-radius:3px;font-weight:500}.relocation-warning{display:flex;align-items:center;gap:8px;padding:12px;background:var(--warning-bg, #fef3c7);border:1px solid var(--warning-border, #fcd34d);border-radius:6px;color:var(--warning-text, #92400e);font-size:.875rem;font-weight:500}.relocation-warning svg{flex-shrink:0;color:var(--warning, #f59e0b)}.error-message{padding:12px;background:var(--error-bg, #fee2e2);border:1px solid var(--error-border, #fecaca);border-radius:6px;color:var(--error-text, #991b1b);font-size:.875rem}@media (max-width: 768px){.metadata-grid{grid-template-columns:1fr}.image-preview,.image-preview img{max-height:200px}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer: coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.cropper-body{flex:1;padding:20px;display:flex;flex-direction:column;gap:20px;background:var(--background)}.cropper-main{flex:1;display:flex;align-items:center;justify-content:center;min-height:400px;background:var(--surface);border-radius:8px;padding:20px;position:relative}.cropper-container{max-width:100%;max-height:500px;background:var(--background);border-radius:4px;box-shadow:0 2px 8px #0000001a}.cropper-image{max-width:100%;max-height:500px;display:block}.ReactCrop{position:relative;display:inline-block;cursor:crosshair}.ReactCrop__crop-selection{border:2px solid var(--primary);box-shadow:0 0 0 1px #ffffff80,0 0 10px #2563eb33}.ReactCrop__drag-handle{width:10px;height:10px;background-color:var(--primary);border:2px solid var(--background);box-shadow:0 2px 4px #0003}.ReactCrop__drag-handle:hover{background-color:var(--primary-hover)}.cropper-controls{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.cropper-options{display:flex;gap:12px}.aspect-toggle,.reset-crop{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.aspect-toggle:hover:not(:disabled),.reset-crop:hover:not(:disabled){background:var(--surface);border-color:var(--text-muted)}.aspect-toggle.active{background:var(--primary-bg, rgba(37, 99, 235, .1));border-color:var(--primary);color:var(--primary)}.aspect-toggle:disabled,.reset-crop:disabled{opacity:.5;cursor:not-allowed}.crop-info{display:flex;align-items:center;gap:12px}.crop-dimensions{font-size:.875rem;color:var(--text-secondary);font-family:Courier New,Courier,monospace;background:var(--background);padding:4px 8px;border-radius:4px;border:1px solid var(--border)}.cropper-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px;text-align:center}.cropper-error p{margin:0;color:var(--error, #991b1b);font-size:1rem;font-weight:500}.cropper-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px;text-align:center;min-height:300px}.cropper-loading p{margin:0;color:var(--text-secondary);font-size:1rem;font-weight:500}@media (max-width: 768px){.cropper-body{padding:16px;gap:16px}.cropper-main{min-height:300px;padding:16px}.cropper-image{max-height:350px}.cropper-controls{flex-direction:column;gap:12px;align-items:flex-start}}@media (max-width: 480px){.cropper-main{min-height:250px;padding:12px}.cropper-image{max-height:250px}.cropper-options{flex-direction:column;width:100%}.aspect-toggle,.reset-crop{width:100%;justify-content:center}}.image-carousel{margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.image-carousel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--text-secondary);font-size:.875rem;background:var(--surface);border-radius:6px;border:1px dashed var(--border)}.carousel-main{display:flex;flex-direction:column;gap:12px}.carousel-image-container{position:relative;width:100%;aspect-ratio:16 / 10;background:var(--surface);border-radius:8px;overflow:hidden}.carousel-image{width:100%;height:100%;object-fit:contain;cursor:zoom-in}.carousel-image-loading{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface);color:var(--text-secondary);gap:12px}.spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.spinner-small{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.thumbnail-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--surface)}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;background:var(--background);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:5;color:var(--text-primary)}.carousel-nav:hover{background:var(--surface);box-shadow:0 2px 8px #00000026}.carousel-nav-prev{left:12px}.carousel-nav-next{right:12px}.carousel-counter{position:absolute;bottom:12px;right:12px;padding:4px 8px;background:#000000b3;color:#fff;font-size:.75rem;font-weight:500;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.primary-badge{position:absolute;top:12px;left:12px;padding:4px 8px;background:var(--warning, #f59e0b);color:#fff;font-size:.75rem;font-weight:500;border-radius:4px;display:flex;align-items:center;gap:4px}.carousel-info{display:flex;flex-direction:column;gap:4px}.carousel-title{font-weight:500;color:var(--text-primary);font-size:.875rem}.carousel-date{font-size:.75rem;color:var(--text-secondary)}.carousel-actions{display:flex;gap:8px;margin-top:8px}.carousel-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:8px 0;margin-top:12px;scroll-behavior:smooth}.carousel-thumbnails::-webkit-scrollbar{height:6px}.carousel-thumbnails::-webkit-scrollbar-track{background:var(--surface);border-radius:3px}.carousel-thumbnails::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.carousel-thumbnails::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.thumbnail{position:relative;flex-shrink:0;width:60px;height:60px;border-radius:6px;overflow:hidden;border:2px solid transparent;cursor:pointer;transition:all .2s}.thumbnail:hover{border-color:var(--primary);transform:scale(1.05)}.thumbnail.active{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb33}.thumbnail.primary{border-color:var(--warning, #f59e0b)}.thumbnail img{width:100%;height:100%;object-fit:cover}.thumbnail-primary-indicator{position:absolute;top:2px;right:2px;background:var(--warning, #f59e0b);color:#fff;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.thumbnail-relocation-indicator{position:absolute;bottom:2px;right:2px;background:var(--error, #ef4444);color:#fff;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}.fullscreen-viewer{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out;animation:fadeIn .3s ease-out}.fullscreen-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.fullscreen-content img{max-width:100%;max-height:90vh;object-fit:contain;cursor:default}.fullscreen-close{position:absolute;top:-40px;right:0;width:40px;height:40px;background:#ffffff1a;border:none;color:#fff;font-size:24px;line-height:1;cursor:pointer;border-radius:50%;transition:background .2s}.fullscreen-close:hover{background:#fff3}@media (max-width: 768px){.carousel-image-container{aspect-ratio:4 / 3}.carousel-nav{width:32px;height:32px}.carousel-nav-prev{left:8px}.carousel-nav-next{right:8px}.carousel-counter{bottom:8px;right:8px;font-size:.7rem}.primary-badge{top:8px;left:8px;font-size:.7rem}.thumbnail{width:50px;height:50px}.carousel-actions{flex-wrap:wrap}}.relocation-alert{background:var(--warning-bg, #fef3c7);border:1px solid var(--warning-border, #fcd34d);border-radius:8px;margin-bottom:16px;overflow:hidden;transition:all .3s ease}.relocation-alert.expanded{box-shadow:0 4px 12px #f59e0b26}.relocation-alert-header{display:flex;align-items:center;gap:12px;padding:16px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.relocation-alert-icon{flex-shrink:0;width:40px;height:40px;background:var(--warning-color, #f59e0b);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}.relocation-alert-content{flex:1}.relocation-alert-content h4{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--warning-text-dark, #92400e)}.relocation-alert-content p{margin:0;font-size:.875rem;color:var(--warning-text, #b45309)}.relocation-alert-content strong{font-weight:600;color:var(--warning-text-dark, #92400e)}.relocation-alert-close{position:absolute;top:12px;right:12px;background:none;border:none;padding:4px;cursor:pointer;color:var(--warning-text, #b45309);transition:all .2s;border-radius:4px}.relocation-alert-close:hover{background:#92400e1a;color:var(--warning-text-dark, #92400e)}.relocation-alert-details{padding:0 16px 16px;animation:slideDown .3s ease-out}.relocation-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px;padding:16px;background:#ffffff80;border-radius:6px}.relocation-info-item{display:flex;flex-direction:column;gap:4px}.relocation-info-item.full-width{grid-column:1 / -1}.relocation-info-item label{font-size:.75rem;font-weight:500;color:var(--warning-text, #b45309);text-transform:uppercase;letter-spacing:.5px}.relocation-info-item span{font-size:.875rem;color:var(--warning-text-dark, #92400e)}.relocation-info-item .monospace{font-family:Courier New,Courier,monospace;font-size:.8125rem;display:flex;align-items:center;gap:4px}.distance-highlight{font-size:1rem;font-weight:600;color:var(--error-color, #dc2626)}.relocation-map-preview{margin-bottom:16px;height:200px;background:#ffffffb3;border:1px solid rgba(146,64,14,.2);border-radius:6px;overflow:hidden}.map-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--warning-text, #b45309);font-size:.875rem}.relocation-actions{display:flex;gap:12px;justify-content:flex-end}.btn-reject,.btn-accept{padding:8px 16px;font-size:.875rem;font-weight:500;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-reject{background:#fff;border-color:var(--error-color, #dc2626);color:var(--error-color, #dc2626)}.btn-reject:hover:not(:disabled){background:#fee;border-color:var(--error-color, #dc2626)}.btn-accept{background:var(--success-color, #10b981);color:#fff}.btn-accept:hover:not(:disabled){background:var(--success-hover, #059669)}.btn-reject:disabled,.btn-accept:disabled{opacity:.6;cursor:not-allowed}.processing-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fef3c7e6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:10}.processing-overlay .spinner{width:24px;height:24px;border:3px solid rgba(245,158,11,.3);border-top-color:var(--warning-color, #f59e0b);border-radius:50%;animation:spin .8s linear infinite}.processing-overlay span{font-size:.875rem;font-weight:500;color:var(--warning-text-dark, #92400e)}@media (max-width: 768px){.relocation-alert-header{padding:12px}.relocation-alert-icon{width:36px;height:36px}.relocation-alert-content h4{font-size:.9375rem}.relocation-alert-content p{font-size:.8125rem}.relocation-info-grid{grid-template-columns:1fr;gap:12px;padding:12px}.relocation-map-preview{height:150px}.relocation-actions{flex-direction:column}.btn-reject,.btn-accept{width:100%;justify-content:center}}@media (prefers-color-scheme: dark){.relocation-alert{background:#78350f;border-color:#92400e}.relocation-alert-icon{background:#b45309}.relocation-alert-content h4{color:#fef3c7}.relocation-alert-content p{color:#fde68a}.relocation-alert-content strong{color:#fef3c7}.relocation-alert-close{color:#fde68a}.relocation-alert-close:hover{background:#fde68a1a;color:#fef3c7}.relocation-info-grid{background:#0003}.relocation-info-item label{color:#fde68a}.relocation-info-item span{color:#fef3c7}.distance-highlight{color:#fca5a5}.relocation-map-preview{background:#0000004d;border-color:#fbbf2433}.map-placeholder{color:#fde68a}.btn-reject{background:#1f2937;border-color:#ef4444;color:#fca5a5}.btn-reject:hover:not(:disabled){background:#7f1d1d}.processing-overlay{background:#78350ff2}.processing-overlay span{color:#fef3c7}}.share-modal-content{display:flex;flex-direction:column;gap:1.5rem}.report-info{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary, #f5f5f5);border-radius:8px}.report-icon{color:var(--primary, #3b82f6);flex-shrink:0}.report-details{flex:1;min-width:0}.report-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1f2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-id{margin:.25rem 0 0;font-size:.75rem;color:var(--text-secondary, #6b7280)}.share-error{padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.875rem}.share-disabled-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1rem}.share-icon-container{margin-bottom:1rem}.share-icon-off{color:var(--text-tertiary, #9ca3af)}.share-disabled-state h4{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary, #1f2937)}.share-description{margin:0 0 1.5rem;font-size:.875rem;color:var(--text-secondary, #6b7280);max-width:350px}.enable-sharing-button{display:flex;align-items:center;gap:.5rem}.share-enabled-state{display:flex;flex-direction:column;gap:1rem}.share-status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#dcfce7;color:#16a34a;border-radius:9999px;font-size:.75rem;font-weight:500;width:fit-content}.share-link-container{display:flex;flex-direction:column;gap:.5rem}.share-link-container label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em}.share-link-input-group{display:flex;gap:.25rem}.share-link-input{flex:1;padding:.625rem .875rem;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;font-size:.875rem;color:var(--text-primary, #1f2937);background:var(--bg-primary, #fff);font-family:ui-monospace,monospace}.share-link-input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.copy-button,.open-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;background:var(--bg-primary, #fff);color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.copy-button:hover,.open-button:hover{background:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #1f2937)}.copy-button.copied{background:#dcfce7;border-color:#16a34a;color:#16a34a}.copied-message{font-size:.75rem;color:#16a34a;font-weight:500}.short-link-info{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.short-link-label{color:var(--text-secondary, #6b7280)}.short-link-code{padding:.25rem .5rem;background:var(--bg-secondary, #f5f5f5);border-radius:4px;font-family:ui-monospace,monospace;font-size:.8125rem;color:var(--primary, #3b82f6)}.view-count{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--text-secondary, #6b7280)}.share-actions{padding-top:.5rem;border-top:1px solid var(--border-color, #e5e7eb)}.disable-sharing-button{color:var(--text-secondary, #6b7280);font-size:.875rem}.disable-sharing-button:hover{color:#dc2626}.share-info{padding:1rem;background:#eff6ff;border-radius:8px;border:1px solid #dbeafe}.share-info h5{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--text-primary, #1f2937)}.share-info ul{margin:0;padding-left:1.25rem;font-size:.8125rem;color:var(--text-secondary, #6b7280)}.share-info li{margin-bottom:.375rem}.share-info li:last-child{margin-bottom:0}.password-protection-section{padding:1rem;background:var(--bg-secondary, #f5f5f5);border-radius:8px;border:1px solid var(--border-color, #e5e7eb)}.password-protection-section h4{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.875rem;font-weight:600;color:var(--text-primary, #1f2937)}.password-disabled-state{display:flex;flex-direction:column;gap:1rem}.password-description{margin:0;font-size:.8125rem;color:var(--text-secondary, #6b7280)}.password-options{display:flex;flex-direction:column;gap:.75rem}.password-option-row{display:flex;justify-content:center}.generate-password-btn{display:flex;align-items:center;gap:.5rem}.password-divider{display:flex;align-items:center;gap:.75rem;color:var(--text-tertiary, #9ca3af);font-size:.75rem}.password-divider:before,.password-divider:after{content:"";flex:1;height:1px;background:var(--border-color, #e5e7eb)}.custom-password-row{display:flex;gap:.5rem}.custom-password-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;font-size:.875rem;color:var(--text-primary, #1f2937);background:var(--bg-primary, #fff)}.custom-password-input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.password-enabled-state{display:flex;flex-direction:column;gap:1rem}.password-status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#fef3c7;color:#d97706;border-radius:9999px;font-size:.75rem;font-weight:500;width:fit-content}.password-display{display:flex;flex-direction:column;gap:.5rem}.password-display label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em}.password-input-group{display:flex;gap:.25rem}.password-value-input{flex:1;padding:.625rem .875rem;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;font-size:.875rem;color:var(--text-primary, #1f2937);background:var(--bg-primary, #fff);font-family:ui-monospace,monospace;letter-spacing:.1em}.toggle-password-btn,.copy-password-btn,.regenerate-password-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;background:var(--bg-primary, #fff);color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.toggle-password-btn:hover,.copy-password-btn:hover,.regenerate-password-btn:hover{background:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #1f2937)}.copy-password-btn.copied{background:#dcfce7;border-color:#16a34a;color:#16a34a}.regenerate-password-btn:disabled{opacity:.5;cursor:not-allowed}.password-copied-message{font-size:.75rem;color:#16a34a;font-weight:500}.remove-password-btn{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary, #6b7280)}.remove-password-btn:hover{color:#dc2626}:root.dark .password-protection-section{background:var(--bg-secondary);border-color:var(--border-color)}:root.dark .custom-password-input,:root.dark .password-value-input{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-primary)}:root.dark .toggle-password-btn,:root.dark .copy-password-btn,:root.dark .regenerate-password-btn{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-secondary)}:root.dark .toggle-password-btn:hover,:root.dark .copy-password-btn:hover,:root.dark .regenerate-password-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}:root.dark .password-status-badge{background:#d9770626;color:#fbbf24}:root.dark .share-error{background:#ef444426;border-color:#f871714d;color:#f87171}.report-success-modal{background:var(--background);border-radius:8px;box-shadow:0 4px 24px #00000026;width:90%;max-width:600px;display:flex;flex-direction:column;overflow:hidden}.report-success-modal .modal-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.report-success-modal .modal-title{display:flex;align-items:center;gap:10px}.report-success-modal .modal-title h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);font-family:Inter,sans-serif}.report-success-modal .close-button{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.report-success-modal .close-button:hover{background-color:var(--hover-bg)}.report-success-modal .modal-body{padding:24px}.success-message{text-align:center;padding:24px;background:var(--success-gradient-bg);border-radius:8px;margin-bottom:24px}.success-text{font-size:1.125rem;font-weight:600;color:var(--success);margin:16px 0 8px;font-family:Inter,sans-serif}.success-details{font-size:.875rem;color:var(--success-text);line-height:1.6}.success-details strong{font-weight:600;color:var(--success-strong)}.download-section{margin-bottom:20px}.download-section h3{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0 0 12px;font-family:Inter,sans-serif}.download-buttons{display:flex;flex-direction:column;gap:12px}.download-button{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--background);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;text-align:left;font-family:Inter,sans-serif}.download-button:hover{background-color:var(--surface);border-color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.download-button.html{border-left:3px solid var(--primary)}.download-button.csv{border-left:3px solid var(--success)}.download-button.kml{border-left:3px solid var(--purple)}.download-info{flex:1;display:flex;flex-direction:column;gap:2px}.download-label{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.download-description{font-size:.8125rem;color:var(--text-secondary)}.view-section{margin-bottom:20px;text-align:center}.view-button{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background-color:var(--primary-light-bg);color:var(--primary);border:1px solid var(--primary);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.view-button:hover{background-color:var(--primary);color:#fff}.share-section{margin-bottom:20px}.share-section h3{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0 0 12px;font-family:Inter,sans-serif}.share-button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left;font-family:Inter,sans-serif;border-left:3px solid #0ea5e9}.share-button:hover{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-color:#0ea5e9;transform:translateY(-1px);box-shadow:0 2px 8px #0ea5e933}.share-button svg{color:#0ea5e9;flex-shrink:0}.share-button .share-info{flex:1;display:flex;flex-direction:column;gap:2px}.share-button .share-label{font-size:.9375rem;font-weight:600;color:#0c4a6e}.share-button .share-description{font-size:.8125rem;color:#0369a1}.info-section{padding:16px;background-color:var(--surface);border-radius:6px;margin-bottom:0}.info-text{margin:0;font-size:.8125rem;color:var(--text-secondary);line-height:1.5;font-family:Inter,sans-serif}.report-success-modal .modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:center}@media (max-width: 640px){.report-success-modal{max-width:95%}.download-button{padding:12px 14px}.download-label{font-size:.875rem}.download-description{font-size:.75rem}}:root.dark .report-success-modal{background:var(--background);box-shadow:0 4px 24px #0006}:root.dark .report-success-modal .modal-header{border-bottom-color:var(--border)}:root.dark .report-success-modal .modal-title h2{color:var(--text-primary)}:root.dark .report-success-modal .close-button{color:var(--text-muted)}:root.dark .report-success-modal .close-button:hover{background-color:var(--hover-bg);color:var(--text-primary)}:root.dark .success-message{background:var(--success-gradient-bg-dark)}:root.dark .success-text{color:var(--success-light)}:root.dark .success-details{color:var(--success-text-dark)}:root.dark .success-details strong{color:var(--success-light)}:root.dark .download-section h3{color:var(--text-primary)}:root.dark .download-button{background:var(--surface-dark);border-color:var(--border)}:root.dark .download-button:hover{background-color:var(--hover-bg);border-color:var(--primary);box-shadow:0 2px 8px #0000004d}:root.dark .download-button.html{border-left-color:var(--primary-light)}:root.dark .download-button.csv{border-left-color:var(--success-light)}:root.dark .download-button.kml{border-left-color:var(--purple-light)}:root.dark .download-label{color:var(--text-primary)}:root.dark .download-description{color:var(--text-muted)}:root.dark .view-button{background-color:var(--primary-dark-bg);color:var(--primary-light);border-color:var(--primary)}:root.dark .view-button:hover{background-color:var(--primary);color:#fff}:root.dark .info-section{background-color:var(--surface-dark)}:root.dark .info-text{color:var(--text-muted)}:root.dark .share-section h3{color:var(--text-primary)}:root.dark .share-button{background:linear-gradient(135deg,#0ea5e91a,#0ea5e90d);border-color:#0ea5e94d;border-left-color:#0ea5e9}:root.dark .share-button:hover{background:linear-gradient(135deg,#0ea5e926,#0ea5e91a);border-color:#0ea5e9;box-shadow:0 2px 8px #0ea5e94d}:root.dark .share-button svg{color:#38bdf8}:root.dark .share-button .share-label{color:#e0f2fe}:root.dark .share-button .share-description{color:#7dd3fc}:root.dark .report-success-modal .modal-footer{border-top-color:var(--border)}.system-notes-selector{margin-top:1rem;background:var(--surface);border-radius:6px;padding:12px}.notes-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.notes-selector-header label{font-weight:600;color:var(--text-primary);font-size:14px}.select-all-btn{padding:4px 12px;background:var(--background);border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.select-all-btn:hover{background:var(--hover-bg);border-color:var(--border)}.notes-loading,.no-notes{padding:20px;text-align:center;color:var(--text-muted);font-size:14px}.no-notes{display:flex;align-items:center;justify-content:center;gap:8px}.notes-list{background:var(--background);border-radius:4px;border:1px solid var(--border);overflow:hidden}.note-item{border-bottom:1px solid var(--border);transition:background-color .2s}.note-item:last-child{border-bottom:none}.note-item.selected{background-color:var(--primary-light-bg)}.note-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:default}.note-header-left{display:flex;align-items:center;gap:8px;flex:1}.note-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.note-expand-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:color .2s}.note-expand-btn:hover{color:var(--text-primary)}.note-meta{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:12px}.note-meta svg{color:var(--text-muted)}.note-date{color:var(--text-muted)}.note-selected-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--primary);border-radius:50%;color:#fff}.note-preview{padding:0 12px 10px 44px;color:var(--text-secondary);font-size:13px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-content{padding:0 12px 12px 44px;animation:slideDown .2s ease-out}.note-text{color:var(--text-primary);font-size:13px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;background:var(--surface);padding:10px;border-radius:4px}.notes-selector-footer{margin-top:12px;padding:8px 12px;background:var(--hover-bg);border-radius:4px;text-align:center}.selected-count{font-size:13px;color:var(--text-secondary);font-weight:500}@media (max-width: 640px){.note-meta{flex-wrap:wrap}.note-preview,.note-content{padding-left:36px}}:root.dark .system-notes-selector{background:var(--surface)}:root.dark .notes-selector-header label{color:var(--text-primary)}:root.dark .select-all-btn{background:var(--background);border-color:var(--border);color:var(--text-secondary)}:root.dark .select-all-btn:hover{background:var(--hover-bg)}:root.dark .notes-loading,:root.dark .no-notes{color:var(--text-muted)}:root.dark .notes-list{background:var(--background);border-color:var(--border)}:root.dark .note-item{border-bottom-color:var(--border)}:root.dark .note-item.selected{background-color:var(--primary-dark-bg)}:root.dark .note-expand-btn{color:var(--text-muted)}:root.dark .note-expand-btn:hover{color:var(--text-primary)}:root.dark .note-meta{color:var(--text-muted)}:root.dark .note-meta svg{color:var(--text-muted)}:root.dark .note-author{color:var(--text-secondary)}:root.dark .note-date{color:var(--text-muted)}:root.dark .note-selected-indicator{background:var(--primary)}:root.dark .note-preview{color:var(--text-secondary)}:root.dark .note-text{color:var(--text-primary);background:var(--surface-dark)}:root.dark .notes-selector-footer{background:var(--hover-bg)}:root.dark .selected-count{color:var(--text-secondary)}.report-config-modal{background:var(--background);border-radius:8px;box-shadow:0 4px 24px #00000026;width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.report-config-modal .modal-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.report-config-modal .modal-title{display:flex;align-items:center;gap:10px}.report-config-modal .modal-title h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);font-family:Inter,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-config-modal .close-button{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.report-config-modal .close-button:hover{background-color:var(--hover-bg)}.report-config-modal .modal-body{flex:1;padding:20px;overflow-y:auto}.report-config-modal .error-message{display:flex;align-items:center;gap:8px;padding:12px;background-color:var(--danger-light-bg);border:1px solid var(--danger-border);border-radius:6px;color:var(--danger);margin-bottom:16px;font-size:.875rem}.report-config-modal .form-section{margin-bottom:24px}.report-config-modal .form-section label{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:8px;font-family:Inter,sans-serif}.report-config-modal input[type=text],.report-config-modal textarea,.report-config-modal select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-family:Inter,sans-serif;transition:border-color .2s;background:var(--background);color:var(--text-primary)}.report-config-modal input[type=text]:focus,.report-config-modal textarea:focus,.report-config-modal select:focus{outline:none;border-color:var(--primary)}.report-config-modal textarea{resize:vertical;min-height:60px}.branding-options{display:flex;gap:16px;margin-bottom:12px}.radio-option{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s}.radio-option:hover{background-color:var(--surface)}.radio-option input[type=radio]{margin:0;width:auto}.radio-option.selected{border-color:var(--primary);background-color:var(--primary-light-bg)}.branding-input{margin-top:8px}.logo-upload-section{display:flex;align-items:center;gap:12px;margin-top:8px}.logo-preview{max-height:60px;max-width:200px;object-fit:contain;border:1px solid var(--border);border-radius:4px;padding:4px}.password-protection-section{background:linear-gradient(135deg,var(--surface) 0%,var(--hover-bg) 100%);border:1px solid var(--border);border-radius:8px;padding:16px}.password-protection-section label{display:flex;align-items:center;gap:8px}.password-protection-section .section-icon{color:var(--primary)}.password-protection-toggle{display:flex;align-items:center;gap:12px;margin-top:12px}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--text-muted);transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 3px var(--primary-light-bg)}.toggle-label{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-secondary);font-family:Inter,sans-serif}.toggle-label svg{color:var(--warning-color, #d97706)}.password-input-group{display:flex;gap:8px;margin-top:12px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.password-field{flex:1;position:relative;display:flex;align-items:center}.password-input{width:100%;padding:10px 40px 10px 12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-family:Inter,monospace;background:var(--background);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.password-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light-bg)}.password-toggle-btn{position:absolute;right:8px;background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s,background-color .2s}.password-toggle-btn:hover{color:var(--text-primary);background-color:var(--hover-bg)}.generate-password-btn{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.8125rem;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s;white-space:nowrap}.generate-password-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--primary-shadow)}.generate-password-btn:active{transform:translateY(0)}.generate-password-btn svg{transition:transform .3s ease}.generate-password-btn:hover svg{transform:rotate(180deg)}.section-helper{margin:12px 0 0;font-size:.8125rem;color:var(--text-secondary);font-family:Inter,sans-serif;line-height:1.5}.display-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.checkbox-option{display:flex;align-items:center;gap:8px;font-size:.875rem;cursor:pointer}.checkbox-option input[type=checkbox]{margin:0;width:auto;cursor:pointer}.checkbox-option span{font-family:Inter,sans-serif;color:var(--text-secondary)}.master-toggle-section{margin:16px 0;padding:16px;background:linear-gradient(135deg,var(--surface) 0%,var(--hover-bg) 100%);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 3px #0000000d}.master-toggle-buttons{display:flex;gap:12px;flex-wrap:wrap}.master-toggle-button{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s;width:fit-content}.master-toggle-button.enable{background-color:var(--primary);color:#fff}.master-toggle-button.enable:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--primary-shadow)}.master-toggle-button.clear{background-color:var(--danger);color:#fff}.master-toggle-button.clear:hover{background-color:var(--danger-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--danger-shadow)}.master-toggle-button:disabled{background-color:var(--text-muted);cursor:not-allowed;opacity:.8;transform:none}.master-toggle-button .spinner,.spinner{animation:spin 1s linear infinite;display:inline-block}.master-toggle-helper{margin:0;padding:8px 12px;font-size:.8125rem;color:var(--text-secondary);font-family:Inter,sans-serif;line-height:1.5;background-color:var(--surface-alpha);border-left:3px solid var(--primary);border-radius:4px}.sites-accordion{border:1px solid var(--border);border-radius:6px;max-height:400px;overflow-y:auto}.site-config-item{border-bottom:1px solid var(--border)}.site-config-item:last-child{border-bottom:none}.site-config-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;transition:background-color .2s}.site-config-header:hover{background-color:var(--surface)}.site-config-title{display:flex;align-items:center;gap:12px;flex:1}.site-config-title input[type=checkbox]{margin:0;width:auto}.site-config-title .site-id{font-weight:600;color:var(--text-primary);font-size:.875rem}.site-config-title .site-address{color:var(--text-secondary);font-size:.8125rem;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-config-body{padding:16px;background-color:var(--surface);border-top:1px solid var(--border)}.site-config-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.site-config-field{margin-bottom:12px}.site-config-field:last-child{margin-bottom:0}.site-config-field label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.site-config-field input,.site-config-field textarea,.site-config-field select{width:100%;padding:8px 10px;font-size:.8125rem}.report-config-modal .modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:3100}.sites-accordion::-webkit-scrollbar,.report-config-modal .modal-body::-webkit-scrollbar{width:8px}.sites-accordion::-webkit-scrollbar-track,.report-config-modal .modal-body::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}.sites-accordion::-webkit-scrollbar-thumb,.report-config-modal .modal-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.sites-accordion::-webkit-scrollbar-thumb:hover,.report-config-modal .modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}:root.dark .report-config-modal{background:var(--background);box-shadow:0 4px 24px #0006}:root.dark .report-config-modal .modal-header{border-bottom-color:var(--border)}:root.dark .report-config-modal .modal-title h2{color:var(--text-primary)}:root.dark .report-config-modal .close-button{color:var(--text-muted)}:root.dark .report-config-modal .close-button:hover{background-color:var(--hover-bg);color:var(--text-primary)}:root.dark .report-config-modal .error-message{background-color:var(--danger-dark-bg);border-color:var(--danger-dark-border);color:var(--danger-light)}:root.dark .report-config-modal input[type=text],:root.dark .report-config-modal textarea,:root.dark .report-config-modal select{background:var(--surface);border-color:var(--border);color:var(--text-primary)}:root.dark .report-config-modal input[type=text]:focus,:root.dark .report-config-modal textarea:focus,:root.dark .report-config-modal select:focus{border-color:var(--primary)}:root.dark .radio-option{border-color:var(--border)}:root.dark .radio-option:hover{background-color:var(--hover-bg)}:root.dark .radio-option.selected{border-color:var(--primary);background-color:var(--primary-dark-bg)}:root.dark .checkbox-option span{color:var(--text-secondary)}:root.dark .master-toggle-section{background:linear-gradient(135deg,var(--surface) 0%,var(--surface-dark) 100%);border-color:var(--border)}:root.dark .master-toggle-helper{background-color:var(--surface-dark-alpha);color:var(--text-secondary)}:root.dark .sites-accordion{border-color:var(--border)}:root.dark .site-config-item{border-bottom-color:var(--border)}:root.dark .site-config-header:hover{background-color:var(--hover-bg)}:root.dark .site-config-title .site-id{color:var(--text-primary)}:root.dark .site-config-title .site-address{color:var(--text-secondary)}:root.dark .site-config-body{background-color:var(--surface-dark);border-top-color:var(--border)}:root.dark .site-config-field label{color:var(--text-muted)}:root.dark .report-config-modal .modal-footer{border-top-color:var(--border)}:root.dark .logo-preview{border-color:var(--border)}:root.dark .password-protection-section{background:linear-gradient(135deg,var(--surface) 0%,var(--surface-dark) 100%);border-color:var(--border)}:root.dark .toggle-slider{background-color:var(--text-muted)}:root.dark .toggle-switch input:checked+.toggle-slider{background-color:var(--primary)}:root.dark .toggle-label{color:var(--text-secondary)}:root.dark .toggle-label svg{color:#fbbf24}:root.dark .password-input{background:var(--surface);border-color:var(--border);color:var(--text-primary)}:root.dark .password-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dark-bg)}:root.dark .password-toggle-btn{color:var(--text-muted)}:root.dark .password-toggle-btn:hover{color:var(--text-primary);background-color:var(--hover-bg)}:root.dark .generate-password-btn{background:var(--primary)}:root.dark .generate-password-btn:hover{background:var(--primary-hover)}:root.dark .section-helper{color:var(--text-muted)}@media (max-width: 768px){.report-config-modal{width:95%;max-width:none;max-height:90vh;margin:16px}.report-config-modal .modal-header{padding:16px}.report-config-modal .modal-title h2{font-size:1.125rem}.report-config-modal .modal-body{padding:16px}.report-config-modal .form-section{margin-bottom:20px}.branding-options{flex-direction:column;gap:8px}.radio-option{width:100%;justify-content:flex-start}.display-options{grid-template-columns:1fr;gap:10px}.password-protection-section{padding:12px}.password-protection-toggle{flex-wrap:wrap}.password-input-group{flex-direction:column}.password-field{width:100%}.generate-password-btn{width:100%;justify-content:center}.site-config-row{grid-template-columns:1fr;gap:12px}.sites-accordion{max-height:300px}.site-config-title{flex-wrap:wrap}.site-config-title .site-address{width:100%;flex:none;margin-top:4px;padding-left:28px}.report-config-modal .modal-footer{padding:12px 16px;flex-direction:column-reverse;gap:8px}.report-config-modal .modal-footer button{width:100%;justify-content:center}}@media (max-width: 480px){.report-config-modal{width:100%;margin:0;max-height:100vh;border-radius:0}.report-config-modal .modal-header{padding:12px 16px}.report-config-modal .modal-title h2{font-size:1rem}.checkbox-option{font-size:.8125rem}.site-config-header{padding:10px 12px}.site-config-body{padding:12px}.toggle-switch{width:40px;height:22px}.toggle-slider:before{height:16px;width:16px}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}}@media (hover: none){.radio-option:hover,.checkbox-option:hover,.site-config-header:hover{background-color:transparent}.radio-option:active,.checkbox-option:active{background-color:var(--hover-bg)}.site-config-header:active{background-color:var(--surface)}.generate-password-btn:hover{transform:none}.generate-password-btn:active{background:var(--primary-hover)}}.sites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;padding:20px}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:16px}.site-card{background:var(--background);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d;transition:all .2s ease}.site-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.site-card.selected{border-color:#1976d2;background-color:#e3f2fd;box-shadow:0 0 0 2px #1976d233}.site-card.flagged{border-color:#2196f3;border-width:2px;box-shadow:0 0 0 3px #2196f333}.site-card.review{border-color:#ffc107;border-width:2px;box-shadow:0 0 0 3px #ffc10733}.site-card.accepted{border-color:#4caf50;border-width:2px;box-shadow:0 0 0 3px #4caf5033}.site-card.flagged.review{border-color:#2196f3;box-shadow:0 0 0 3px #2196f333,0 0 0 6px #ffc10726}.site-card.flagged.accepted{border-color:#2196f3;box-shadow:0 0 0 3px #2196f333,0 0 0 6px #4caf5026}.site-card.rejected{border-color:#f44336;border-width:2px;box-shadow:0 0 0 3px #f4433633}.site-card.temporary{border-color:#ff9800;border-width:2px;box-shadow:0 0 0 3px #ff980033;background-color:#fffbf0}.site-card.flagged.rejected{border-color:#2196f3;box-shadow:0 0 0 3px #2196f333,0 0 0 6px #f4433626}.site-card-header{padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.site-card-header-top{display:flex;align-items:center;gap:8px}.site-card-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.site-card-header .site-id-link{background:none;border:none;padding:0;cursor:pointer;font-weight:600;font-size:inherit;text-align:left;display:inline-flex;align-items:center;gap:4px;transition:opacity .2s}.site-card-header .site-id-link:hover{opacity:.8}.site-card-header .site-id-link .edit-icon{opacity:0;transition:opacity .2s}.site-card-header .site-id-link:hover .edit-icon{opacity:.6}.site-card-header .site-detail-link{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-secondary);opacity:.4;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.site-card-header .site-detail-link:hover{opacity:1;color:#1976d2;background-color:#1976d214}.site-card-header .site-detail-link:focus{outline:2px solid #1976d2;outline-offset:1px;opacity:1}.site-card-header .site-detail-link:active{transform:scale(.95)}.site-card-actions{display:flex;gap:6px;flex-wrap:wrap}.action-button{width:28px;height:28px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.action-button:hover{background:var(--surface)}.action-button.flagged{color:#2196f3}.action-button.delete{font-size:18px;font-weight:700}.action-button.delete:hover{background:#fee;color:#d32f2f}.action-button.active{background-color:var(--primary-color, #2563eb);color:#fff}.action-button.active:hover{background-color:var(--primary-hover, #1d4ed8);color:#fff}.site-card-body{padding:16px}.site-info-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--text-secondary);font-size:14px}.site-info-row:last-child{margin-bottom:0}.coordinates{font-family:Courier New,monospace;font-size:13px;color:var(--text-secondary)}.coordinates-link{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;gap:4px;color:inherit;text-align:left;transition:color .2s}.coordinates-link:hover{color:#2196f3}.coordinates-link:hover .coordinates{text-decoration:underline}.address{color:var(--text-secondary);line-height:1.4}.city-state{color:var(--text-secondary);font-weight:500}.status-row{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.status{font-weight:500}.status-icon{width:16px;height:16px}.status-icon.success{color:#4caf50}.status-icon.warning{color:#ff9800}.status-icon.error{color:#f44336}.site-notes{margin-top:12px;padding:8px 12px;background:var(--surface);border-radius:4px;font-size:13px;color:var(--text-secondary);line-height:1.5}.color-picker-popover{position:absolute;bottom:0;left:0;right:0;background:var(--background);border-top:1px solid var(--border);padding:12px;box-shadow:0 -2px 8px #0000001a}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.color-option{width:100%;height:36px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .2s}.color-option:hover{transform:scale(1.05);box-shadow:0 2px 6px #0003}.color-option.selected{border-color:#333;box-shadow:0 0 0 3px #0000001a}.site-card{position:relative}.bulk-actions-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:var(--surface, #f5f5f5);border:1px solid var(--border, #e0e0e0);border-radius:.5rem;margin:0 20px 1rem;position:sticky;top:12px;z-index:var(--z-sticky, 1020);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 12px #0000001f;background-color:#f5f5f5fa}.bulk-actions-bar .actions-left{display:flex;align-items:center;gap:.5rem}.bulk-actions-bar .actions-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.bulk-actions-bar span{font-weight:500;color:var(--text-primary, #333)}.status-toggle{background:none;border:1px solid var(--border, #e0e0e0);padding:.375rem .75rem;border-radius:.25rem;cursor:pointer;font-size:.8125rem;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:.25rem;width:100%;justify-content:center;margin-top:.5rem}.status-toggle.review{color:#ffc107;border-color:#ffc107;background-color:#fff8e1}.status-toggle.review:hover{background-color:#ffe082}.status-toggle.accepted{color:#4caf50;border-color:#4caf50;background-color:#e8f5e9}.status-toggle.accepted:hover{background-color:#c8e6c9}.status-toggle.rejected{color:#f44336;border-color:#f44336;background-color:#ffebee}.status-toggle.rejected:hover{background-color:#ffcdd2}.status-toggle.temporary{color:#ff9800;border-color:#ff9800;background-color:#fff3cd;cursor:not-allowed;opacity:.8}.status-toggle.temporary:hover{background-color:#fff3cd}.tags-row{margin-top:8px}.site-tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.more-tags{font-size:11px;color:var(--text-secondary);font-style:italic;margin-left:4px}.site-image-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.image-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.image-count{display:flex;align-items:center;gap:4px;font-size:.875rem;color:var(--text-secondary);font-weight:500}.image-count svg{color:var(--text-secondary)}.btn-link{background:none;border:none;color:#2563eb;font-size:.875rem;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.btn-link:hover{background:#eff6ff;color:#1d4ed8}.site-card .image-carousel{margin-top:8px}.site-card .relocation-alert{margin:12px 0}.address-link{background:none;border:none;padding:4px 8px;cursor:pointer;color:var(--text-primary);font-size:inherit;font-family:inherit;text-align:left;width:100%;display:inline-block;transition:all .2s ease;border-radius:4px;text-decoration:none;margin:-4px -8px}.address-link:hover{color:var(--primary-color);background-color:#2196f30d;text-decoration:underline}.address-link:focus{outline:2px solid var(--primary-color);outline-offset:-2px}.feasibility-field{margin-top:12px;padding:10px;background-color:var(--surface);border-radius:4px;border:1px solid var(--border)}.feasibility-label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:4px;font-weight:600}.feasibility-content{display:flex;align-items:center;gap:8px}.feasibility-color-indicator{width:24px;height:24px;border-radius:4px;border:1px solid var(--border);flex-shrink:0;transition:background-color .3s ease;box-shadow:0 1px 3px #0000001a}:root.dark .site-card{box-shadow:0 2px 4px #0003}:root.dark .site-card:hover{box-shadow:0 4px 12px #0000004d}:root.dark .site-card.selected{background-color:#3b82f633;border-color:#3b82f6}:root.dark .site-card.temporary{background-color:#ff98001a}:root.dark .action-button.delete:hover{background:#f4433626}:root.dark .action-button.active{background-color:var(--primary-color, #3b82f6);color:#fff}:root.dark .action-button.active:hover{background-color:var(--primary-hover, #2563eb);color:#fff}:root.dark .color-picker-popover{box-shadow:0 -2px 8px #0000004d}:root.dark .btn-link:hover{background:#3b82f626}:root.dark .feasibility-color-indicator{box-shadow:0 1px 3px #0000004d}:root.dark .bulk-actions-bar{background-color:#1e293bfa;border-color:var(--border-dark, #475569);box-shadow:0 4px 12px #0006}.bulk-status-dropdown{position:relative}.bulk-status-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:160px;background:var(--background, #fff);border:1px solid var(--border, #e0e0e0);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:var(--z-dropdown, 1000);padding:4px}.bulk-status-dropdown-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;text-align:left;cursor:pointer;font-size:14px;border-radius:4px;transition:background-color .2s}.bulk-status-dropdown-menu button:hover{background-color:var(--surface, #f5f5f5)}.bulk-status-dropdown-menu button.status-review{color:#ffc107}.bulk-status-dropdown-menu button.status-accepted{color:#4caf50}.bulk-status-dropdown-menu button.status-rejected{color:#f44336}.bulk-status-dropdown-menu button.status-temporary{color:#ff9800}:root.dark .bulk-status-dropdown-menu{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-dark, #475569);box-shadow:0 4px 12px #0006}:root.dark .bulk-status-dropdown-menu button:hover{background-color:#ffffff1a}.card-status-dropdown{position:relative;width:100%;margin-top:.5rem}.card-status-dropdown .status-toggle{width:100%}.card-status-dropdown-menu{position:absolute;bottom:calc(100% + 4px);left:0;right:0;background:var(--background, #fff);border:1px solid var(--border, #e0e0e0);border-radius:8px;box-shadow:0 -4px 12px #00000026;z-index:var(--z-dropdown, 1000);padding:4px}.card-status-dropdown-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;background:none;text-align:left;cursor:pointer;font-size:14px;font-weight:500;border-radius:4px;transition:background-color .2s}.card-status-dropdown-menu button:hover{background-color:var(--surface, #f5f5f5)}.card-status-dropdown-menu button.status-review{color:#b8860b}.card-status-dropdown-menu button.status-accepted{color:#2e7d32}.card-status-dropdown-menu button.status-rejected{color:#c62828}.card-status-dropdown-menu button.status-temporary{color:#ef6c00}.card-status-dropdown-menu button.current{background-color:var(--surface, #f5f5f5);font-weight:600}.card-status-dropdown-menu button.current:after{content:"✓";margin-left:auto}:root.dark .card-status-dropdown-menu{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-dark, #475569);box-shadow:0 -4px 12px #0006}:root.dark .card-status-dropdown-menu button:hover{background-color:#ffffff1a}:root.dark .card-status-dropdown-menu button.current{background-color:#ffffff1a}:root.dark .bulk-project-dropdown{background:var(--bg-secondary-dark, #1e293b)!important;border-color:var(--border-dark, #475569)!important;box-shadow:0 4px 12px #0006!important}:root.dark .bulk-project-dropdown span{color:var(--text-primary-dark, #f1f5f9)}.street-view-panel{position:absolute;top:0;right:0;width:25%;height:100%;background:#fff;box-shadow:-2px 0 8px #0000001a;display:flex;flex-direction:column;z-index:500}.street-view-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.street-view-header h3{margin:0;font-size:16px;font-weight:600;color:#1e293b}.close-button{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s;color:#64748b}.close-button:hover{background-color:#e2e8f0;color:#334155}.street-view-content{flex:1;display:flex;flex-direction:column;position:relative}.site-info-bar{padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:4px}.site-id{font-weight:600;color:#2563eb;font-size:14px}.site-address{font-size:12px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-mode-indicator{font-size:12px;color:#ef4444;background:#fee2e2;padding:2px 8px;border-radius:12px;margin-top:4px;display:inline-block;font-weight:500}.street-view-container{flex:1;width:100%;min-height:400px;height:100%;position:relative;background:#f0f0f0}.no-site-selected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;color:#64748b}.no-site-selected p{margin:0;font-size:18px;font-weight:500;color:#334155}.no-site-selected .hint{margin-top:8px;font-size:14px;font-weight:400;color:#64748b}.no-street-view{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:32px;text-align:center;background:#f8fafc}.no-street-view p{margin:8px 0;color:#64748b}.no-street-view .site-info{font-weight:600;color:#2563eb;font-size:16px;margin-top:16px}.no-street-view .site-address{font-size:14px;color:#475569;max-width:100%;word-wrap:break-word;white-space:normal}.no-street-view .temp-position{font-size:12px;color:#ef4444;font-family:monospace;margin-top:12px;padding:6px 10px;background:#fee2e2;border-radius:4px;display:inline-block}.street-view-panel{animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@media (max-width: 1200px){.street-view-panel{width:35%}}@media (max-width: 768px){.street-view-panel{width:50%}}.location-info{background-color:var(--hover-bg);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.geocoding-status{color:var(--primary-color);font-style:italic}.required{color:var(--error-color)}.form-group input{width:100%;padding:.625rem .875rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.form-group input.error{border-color:var(--error-color)}.error-message{display:block;color:var(--error-color);font-size:.75rem;margin-top:.25rem}.jurisdiction-status{display:flex;align-items:center;gap:.625rem;padding:.75rem;border-radius:6px;font-size:.875rem;margin-top:.5rem;transition:all .2s ease}.jurisdiction-status.detecting{background-color:#3b82f61a;color:var(--primary-color);border:1px solid rgba(59,130,246,.3)}.jurisdiction-status.detected{background-color:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.3)}.jurisdiction-status.pending{background-color:#9ca3af1a;color:#6b7280;border:1px solid rgba(156,163,175,.3)}.jurisdiction-status.error{background-color:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.3);position:relative;padding-right:2rem}.jurisdiction-status .check-icon{flex-shrink:0;color:#16a34a}.jurisdiction-status .info-icon{flex-shrink:0;color:#6b7280}.jurisdiction-status .warning-icon{flex-shrink:0;color:#dc2626}.jurisdiction-status .jurisdiction-name{font-weight:500}.jurisdiction-status .dismiss-error{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#dc2626;font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;opacity:.7;transition:opacity .2s}.jurisdiction-status .dismiss-error:hover{opacity:1}.spinner-small{width:16px;height:16px;border:2px solid rgba(59,130,246,.3);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.enhanced-add-site-modal{width:700px;max-width:90vw}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.project-selector{display:flex;gap:.5rem;align-items:center}.project-selector select{flex:1;padding:.625rem .875rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background-color:var(--background);color:var(--text-primary)}.project-selector select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-icon{padding:.625rem;border:1px solid var(--border);border-radius:6px;background-color:var(--background);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover{background-color:var(--surface);border-color:var(--text-secondary)}.new-project-input{display:flex;gap:.5rem;align-items:center}.new-project-input input{flex:1;padding:.625rem .875rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background-color:var(--background);color:var(--text-primary)}.new-project-input input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.status-select{padding:.625rem .875rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background-color:var(--background);color:var(--text-primary);width:100%}.status-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.flag-icon{margin-right:.5rem;transition:color .2s}.flag-icon.flagged{color:#ef4444}.flag-checkbox{margin-left:.5rem}.form-group label{display:flex;align-items:center;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.form-group label.flag-label{display:flex;align-items:center;justify-content:flex-start;cursor:pointer}.tags-container{display:flex;flex-wrap:wrap;gap:.5rem}.tag-button{padding:.375rem .75rem;border:1px solid var(--border);border-radius:1rem;background-color:var(--background);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.tag-button:hover{background-color:var(--surface);border-color:var(--text-secondary)}.tag-button.selected{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.no-tags{color:var(--text-secondary);font-style:italic;font-size:.875rem;margin:0}.notes-textarea{width:100%;padding:.625rem .875rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-family:inherit;resize:vertical;min-height:80px;background-color:var(--background);color:var(--text-primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.modal-content{background-color:var(--background);border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.close-button{background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text-secondary);transition:color .2s;border-radius:4px}.close-button:hover{color:var(--text-primary);background-color:var(--surface)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1;max-height:calc(90vh - 200px)}.location-info{background-color:var(--surface);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.location-info p{margin:.25rem 0;color:var(--text-primary);font-size:.875rem}.geocoding-status{color:#3b82f6;font-style:italic}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.required{color:#ef4444}.form-group input{width:100%;padding:.625rem .875rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;transition:border-color .2s,box-shadow .2s;background-color:var(--background);color:var(--text-primary)}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input.error{border-color:#ef4444}.error-message{display:block;color:#ef4444;font-size:.75rem;margin-top:.25rem}.color-picker{display:flex;gap:.5rem;flex-wrap:wrap}.color-option{width:40px;height:40px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:700;box-shadow:0 1px 3px #0003}.color-option.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--text-primary)}.modal-footer{padding:1.5rem;border-top:1px solid var(--border);display:flex;gap:.75rem;justify-content:flex-end}@media (max-width: 640px){.enhanced-add-site-modal{width:100%;height:100%;max-width:100vw;max-height:100vh;border-radius:0}.form-row{grid-template-columns:1fr}.modal-body,.modal-header,.modal-footer{padding:1rem}}.gis-layer-card{background-color:var(--background);border:1px solid var(--border);border-radius:8px;padding:12px;transition:all .2s;flex:1}.gis-layer-card:hover{box-shadow:0 2px 8px #00000014;border-color:var(--border)}.gis-layer-card.hidden-layer{opacity:.6}.layer-info{display:flex;gap:10px;flex:1;min-width:0}.layer-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--hover-bg);border-radius:6px;color:var(--text-muted);flex-shrink:0}.layer-details{flex:1;min-width:0}.layer-name{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.layer-type{font-size:11px;padding:2px 6px;background-color:#eff6ff;color:#1e40af;border-radius:4px;font-weight:500}.sync-info{font-size:11px;color:var(--text-muted)}.distance-badge{width:10px;height:10px;border-radius:50%;flex-shrink:0;cursor:help;transition:all .2s ease;position:relative}.distance-badge.distance-threshold{background-color:#fbbf24;box-shadow:0 0 4px #fbbf244d}.distance-badge.perimeter-outline{background-color:transparent;border:2px solid #3b82f6}.distance-badge:hover{transform:scale(1.5);z-index:10}.distance-badge.distance-threshold{animation:subtle-pulse 2s ease-in-out infinite}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.7}}.layer-meta>.distance-badge{margin-left:2px}.layer-card-actions{display:flex;gap:4px;margin-left:auto}.layer-action-button{padding:6px;background-color:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-muted);transition:all .2s;display:flex;align-items:center;justify-content:center}.layer-action-button:hover{background-color:var(--hover-bg);color:var(--text-primary)}.layer-action-button:disabled{opacity:.5;cursor:not-allowed}.visibility-button.visible{color:#10b981}.visibility-button:not(.visible){color:var(--text-muted)}.sync-button{color:#3b82f6}.sync-button.syncing{color:#93c5fd}.config-button:hover{color:#3b82f6}.delete-button:hover{background-color:#fee2e2;color:#dc2626}.layer-visual-preview{display:flex;gap:6px;margin-top:8px}.color-preview{width:20px;height:20px;border-radius:4px;border:1px solid var(--border)}.color-preview.stroke{background-color:transparent;border-width:2px}.auto-hidden-indicator{font-size:11px;color:#f59e0b;margin-left:4px;font-style:italic}@media (max-width: 480px){.layer-card-header{flex-direction:column;gap:8px}.layer-card-actions{width:100%;justify-content:flex-end}}.gis-file-upload{width:100%;height:100%;display:flex;flex-direction:column}.upload-body{flex:1;padding:24px;display:flex;flex-direction:column;gap:20px}.upload-zone{flex:1;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed var(--border);border-radius:12px;background-color:var(--surface);cursor:pointer;transition:all .3s;padding:40px;text-align:center}.upload-zone:hover{border-color:var(--text-muted);background-color:var(--hover-bg)}.upload-zone.dragging{border-color:var(--primary);background-color:var(--primary-bg)}.upload-zone.has-file{cursor:default;border-style:solid}.upload-zone h3{margin:16px 0 8px;font-size:18px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-zone p{margin:0;font-size:14px;color:var(--text-secondary)}.supported-formats{margin-top:24px;padding:16px;background-color:var(--background);border-radius:8px;text-align:left}.supported-formats>p{margin:0 0 12px;font-weight:500;color:var(--text-primary)}.format-list{display:flex;flex-direction:column;gap:8px}.format-item{font-size:13px;color:var(--text-secondary)}.format-item strong{color:var(--text-primary);font-weight:500}.file-preview{display:flex;flex-direction:column;align-items:center;gap:12px}.preview-details{margin-top:16px;padding:16px;background-color:var(--background);border-radius:8px;width:100%;max-width:400px}.preview-stat{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.preview-stat:last-child{border-bottom:none}.preview-stat span:first-child{font-weight:500;color:var(--text-primary)}.preview-stat span:last-child{color:var(--text-secondary)}.change-file-button{margin-top:12px;padding:8px 16px;background-color:var(--background);border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s}.change-file-button:hover{background-color:var(--hover-bg);border-color:var(--text-muted)}.upload-error{display:flex;align-items:center;gap:8px;padding:12px;background-color:var(--error-bg);color:var(--error-text);border-radius:8px;font-size:14px}.upload-progress{display:flex;flex-direction:column;gap:8px}.progress-bar{height:8px;background-color:var(--border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background-color:var(--primary);transition:width .3s ease}.upload-progress p{margin:0;font-size:13px;color:var(--text-secondary);text-align:center}.upload-success{display:flex;align-items:center;gap:8px;padding:12px;background-color:var(--success-bg);color:var(--success-text);border-radius:8px;font-size:14px}.upload-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:var(--primary);color:var(--primary-foreground);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.upload-button:hover:not(:disabled){background-color:var(--primary-hover)}.upload-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.upload-body{padding:16px}.upload-zone{min-height:250px;padding:24px}.supported-formats{padding:12px}}[data-theme=dark] .upload-zone.dragging{border-color:var(--primary);background-color:#3b82f61a}.public-layer-browser{width:100%;height:100%;display:flex;flex-direction:column}.browser-toolbar{display:flex;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);background-color:var(--surface)}.search-bar{flex:1;display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:var(--background);border:1px solid var(--border);border-radius:8px}.search-bar input{flex:1;border:none;outline:none;font-size:14px;background-color:transparent;color:var(--text-primary)}.search-bar input::placeholder{color:var(--text-muted)}.filter-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:var(--background);border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s}.filter-button:hover{background-color:var(--hover-bg);border-color:var(--text-muted)}.filter-button.active{background-color:var(--primary-bg);border-color:var(--primary);color:var(--primary)}.browser-filters{display:flex;gap:16px;padding:16px 20px;background-color:var(--surface);border-bottom:1px solid var(--border)}.filter-group{display:flex;flex-direction:column;gap:6px;flex:1}.filter-group label{font-size:12px;font-weight:500;color:var(--text-secondary)}.filter-group select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;background-color:var(--background);color:var(--text-primary)}.browser-body{flex:1;overflow-y:auto;padding:20px;background-color:var(--surface)}.browser-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;gap:16px}.browser-loading p{margin:0;font-size:14px;color:var(--text-secondary)}.browser-empty{display:flex;align-items:center;justify-content:center;padding:60px;text-align:center}.browser-empty p{margin:0;font-size:14px;color:var(--text-secondary)}.layer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.public-layer-card{background-color:var(--background);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;transition:all .2s}.public-layer-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.layer-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.layer-type-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--primary-bg);border-radius:8px;color:var(--primary)}.layer-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.layer-provider{font-size:11px;padding:2px 6px;background-color:var(--hover-bg);color:var(--text-primary);border-radius:4px;font-weight:500}.layer-category{font-size:11px;padding:2px 6px;background-color:var(--warning-bg);color:var(--warning-text);border-radius:4px;font-weight:500}.layer-title{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary)}.layer-description{margin:0 0 12px;font-size:13px;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.layer-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.tag{font-size:11px;padding:3px 8px;background-color:var(--info-bg);color:var(--info-text);border-radius:12px}.layer-stats{display:flex;gap:12px;margin-bottom:16px;padding-top:12px;border-top:1px solid var(--border)}.stat{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.stat svg{color:var(--warning)}.add-layer-button{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;background-color:var(--primary);color:var(--primary-foreground);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:auto}.add-layer-button:hover:not(:disabled){background-color:var(--primary-hover)}.add-layer-button:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 768px){.browser-toolbar,.browser-filters{flex-direction:column}.layer-grid{grid-template-columns:1fr}}@media (max-width: 480px){.browser-body{padding:12px}.public-layer-card{padding:16px}}[data-theme=dark] .public-layer-card:hover{box-shadow:0 4px 12px #0000004d}[data-theme=dark] .filter-button.active,[data-theme=dark] .layer-type-icon{background-color:#3b82f626}.rest-service-wizard{width:100%;height:100%;display:flex;flex-direction:column;max-height:80vh}.wizard-progress{padding:20px;background-color:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.progress-steps{display:flex;justify-content:space-between;max-width:600px;margin:0 auto}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;position:relative;opacity:.5}.progress-step.active{opacity:1}.progress-step:not(:last-child):after{content:"";position:absolute;top:16px;left:50%;width:100%;height:2px;background-color:var(--border)}.progress-step.completed:not(:last-child):after{background-color:var(--success)}.step-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--background);border:2px solid var(--border);border-radius:50%;font-size:14px;font-weight:600;color:var(--text-secondary);z-index:1}.progress-step.active .step-number{border-color:var(--primary);color:var(--primary);background-color:var(--primary-bg)}.progress-step.completed .step-number{background-color:var(--success);border-color:var(--success);color:var(--success-foreground)}.progress-step span{font-size:12px;color:var(--text-secondary);font-weight:500}.progress-step.active span{color:var(--text-primary)}.wizard-body{flex:1;overflow-y:auto;padding:24px;min-height:0}.wizard-step-content{max-width:600px;margin:0 auto}.wizard-step-content h3{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--text-primary)}.step-description{margin:0 0 24px;font-size:14px;color:var(--text-secondary)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background-color:var(--background);color:var(--text-primary)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.form-hint{margin-top:6px;font-size:12px;color:var(--text-secondary)}.test-connection-button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background-color:var(--primary);color:var(--primary-foreground);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.test-connection-button:hover:not(:disabled){background-color:var(--primary-hover)}.test-connection-button:disabled{opacity:.5;cursor:not-allowed}.connection-success{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px;background-color:var(--success-bg);color:var(--success-text);border-radius:8px;font-size:14px}.connection-warning{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px;background-color:var(--warning-bg);color:var(--warning-text);border-radius:8px;font-size:14px}.breadcrumb-path{margin-bottom:12px;padding:8px 12px;background-color:var(--hover-bg);border-radius:6px;font-size:13px;color:var(--text-secondary)}.breadcrumb-path span{color:var(--text-primary);font-weight:500}.layers-selection{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding-right:8px}.layer-option{padding:16px;background-color:var(--background);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.layer-option:hover{border-color:var(--primary-light);background-color:var(--primary-bg-hover)}.layer-option.selected{border-color:var(--primary);background-color:var(--primary-bg)}.layer-option-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.layer-option-header h4{margin:0;font-size:16px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-option-details{display:flex;gap:16px;margin-left:28px;font-size:13px;color:var(--text-secondary)}.layer-option-details .badge{padding:2px 8px;background-color:var(--info-bg);color:var(--info-text);border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.layer-fields-preview{margin-top:8px;margin-left:28px;font-size:12px;color:var(--text-muted)}.layer-url-preview{margin-top:8px;margin-left:28px;font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkbox-label input[type=checkbox]{width:auto;margin:0}.sync-info-box{display:flex;gap:12px;padding:16px;background-color:var(--info-bg);border-radius:8px;margin-top:20px}.sync-info-box h4{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--info-text)}.sync-info-box p{margin:0;font-size:13px;color:var(--info-text)}.field-mapping-list{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.field-mapping-item{display:flex;gap:12px;align-items:center}.field-original{flex:1;font-size:13px;font-weight:500;color:var(--text-primary);font-family:Monaco,Menlo,monospace}.field-mapping-item input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background-color:var(--background);color:var(--text-primary)}.no-fields-message{text-align:center;padding:40px 20px;color:var(--text-secondary)}.no-fields-message p{margin:0 0 8px;font-size:14px}.wizard-error{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px;background-color:var(--error-bg);color:var(--error-text);border-radius:8px;font-size:14px}.wizard-footer{display:flex;justify-content:space-between;padding:20px;border-top:1px solid var(--border);flex-shrink:0;background-color:var(--background)}.wizard-back-button,.wizard-next-button{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.wizard-back-button{background-color:var(--background);border:1px solid var(--border);color:var(--text-primary)}.wizard-back-button:hover:not(:disabled){background-color:var(--hover-bg);border-color:var(--text-muted)}.wizard-next-button{background-color:var(--primary);color:var(--primary-foreground)}.wizard-next-button:hover:not(:disabled){background-color:var(--primary-hover)}.wizard-back-button:disabled,.wizard-next-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.progress-step span{display:none}.wizard-body{padding:16px}.field-mapping-item{flex-direction:column;align-items:stretch}}[data-theme=dark] .layer-option:hover{border-color:var(--primary-light);background-color:#3b82f61a}[data-theme=dark] .layer-option.selected,[data-theme=dark] .progress-step.active .step-number{background-color:#3b82f626}[data-theme=dark] .progress-step.completed .step-number{color:#fff}.template-selector{display:flex;flex-direction:column;height:100%;max-height:600px;background:var(--background);border-radius:8px}.template-selector-header{padding:20px;border-bottom:1px solid var(--border)}.template-selector-header h2{margin:0 0 8px;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.template-selector-header p{margin:0;color:var(--text-secondary);font-size:.875rem}.template-selector-controls{display:flex;gap:12px;padding:16px 20px;background:var(--surface);border-bottom:1px solid var(--border)}.search-box{flex:1;position:relative}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-muted)}.search-input{width:100%;padding:8px 12px 8px 36px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;outline:none;transition:border-color .2s;background-color:var(--background);color:var(--text-primary)}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.filter-dropdown{position:relative;display:flex;align-items:center;gap:8px}.filter-icon{width:16px;height:16px;color:var(--text-secondary)}.filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background:var(--background);color:var(--text-primary);cursor:pointer;outline:none;transition:border-color .2s}.filter-select:focus{border-color:var(--primary)}.template-list{flex:1;overflow-y:auto;padding:16px;display:grid;gap:12px;align-content:start}.template-card{padding:16px;border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;background:var(--background)}.template-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.template-card.selected{border-color:var(--primary);background:var(--primary-bg)}.template-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.template-card-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.selected-icon{width:20px;height:20px;color:var(--primary)}.template-description{margin:0 0 12px;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.template-metadata{display:flex;flex-wrap:wrap;gap:16px;font-size:.75rem}.metadata-item{display:flex;align-items:center;gap:4px;color:var(--text-secondary)}.metadata-icon{width:14px;height:14px;color:var(--text-muted)}.metadata-label{font-weight:500}.metadata-value{color:var(--text-primary)}.metadata-value.truncate{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-layers{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.layer-count{display:inline-block;padding:4px 8px;background:var(--hover-bg);border-radius:4px;font-size:.75rem;font-weight:500;color:var(--text-secondary)}.template-loading,.template-error,.template-empty{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;color:var(--text-secondary)}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.empty-icon{width:48px;height:48px;color:var(--border);margin-bottom:16px}.empty-hint{margin-top:8px;font-size:.875rem;color:var(--text-muted)}.retry-button{margin-top:16px;padding:8px 16px;background:var(--primary);color:var(--primary-foreground);border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.retry-button:hover{background:var(--primary-hover)}.template-selector-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border);background:var(--surface)}@media (max-width: 640px){.template-selector{max-height:100vh;border-radius:0}.template-selector-controls{flex-direction:column}.search-box,.filter-dropdown,.filter-select{width:100%}}[data-theme=dark] .template-card:hover{box-shadow:0 2px 8px #0000004d}[data-theme=dark] .template-card.selected{background:#3b82f626}.source-selector-modal{width:600px;max-width:90vw}.source-selector-body{padding:24px}.source-options{display:flex;flex-direction:column;gap:12px}.source-option{display:flex;align-items:center;gap:16px;padding:20px;background-color:var(--background);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s;text-align:left}.source-option:hover{border-color:#3b82f6;background-color:#eff6ff;transform:translate(4px)}.source-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:var(--hover-bg);border-radius:10px;color:#3b82f6;flex-shrink:0}.source-option:hover .source-icon{background-color:#dbeafe}.source-details{flex:1}.source-details h3{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-primary)}.source-details p{margin:0;font-size:13px;color:var(--text-muted);line-height:1.5}.source-arrow{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.source-option:hover .source-arrow{color:#3b82f6;transform:translate(4px)}.source-info{margin-top:24px;padding:16px;background-color:var(--surface);border-radius:8px;text-align:center}.source-info p{margin:0;font-size:14px;color:var(--text-muted)}.back-button{background:none;border:none;color:#3b82f6;font-size:14px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.back-button:hover{background-color:#eff6ff}.template-placeholder{width:100%}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-muted)}.coming-soon h3{margin:16px 0 8px;font-size:18px;font-weight:600;color:var(--text-primary)}.coming-soon p{margin:0;font-size:14px;color:var(--text-muted)}@media (max-width: 600px){.source-selector-modal{width:95vw}.source-selector-body,.source-option{padding:16px}.source-icon{width:40px;height:40px}.source-details h3{font-size:15px}.source-details p{font-size:12px}}.planning-areas-config{margin-top:20px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.planning-areas-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface);cursor:pointer;transition:background .2s}.planning-areas-header:hover{background:var(--hover-bg)}.planning-areas-header:focus{outline:2px solid #3b82f6;outline-offset:-2px}.planning-areas-header:focus:not(:focus-visible){outline:none}.header-left{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text-primary)}.area-count{color:var(--text-secondary);font-weight:400}.discover-btn{padding:6px 12px;background:#3b82f6;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.discover-btn.secondary{background:transparent;color:#3b82f6;border:1px solid #3b82f6}.discover-btn.secondary:hover:not(:disabled){background:#eff6ff}.discover-btn:hover:not(:disabled){background:#2563eb}.discover-btn:disabled{opacity:.5;cursor:not-allowed}.planning-areas-content{padding:16px;background:var(--background)}.loading-skeleton{padding:20px}.skeleton-header{height:20px;width:60%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:4px;margin-bottom:16px}.skeleton-item{height:60px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:6px;margin-bottom:12px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty-state-icon{color:var(--border);margin-bottom:16px}.empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.empty-state p{font-size:14px;color:var(--text-muted);margin:0 0 24px}.empty-state-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.areas-list{display:flex;flex-direction:column;gap:12px}.planning-area-item{border:1px solid var(--border);border-radius:6px;overflow:hidden}.area-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--surface);cursor:pointer;transition:background .2s}.area-header:hover{background:var(--surface)}.area-header:focus{outline:2px solid #3b82f6;outline-offset:-2px}.area-header:focus:not(:focus-visible){outline:none}.area-info{display:flex;align-items:center;gap:8px}.area-name{font-weight:600;font-size:13px;color:var(--text-primary)}.compliance-badge{padding:2px 8px;border-radius:12px;color:#fff;font-size:11px;font-weight:500}.cup-badge{padding:2px 8px;border-radius:12px;background:#fbbf24;color:#78350f;font-size:11px;font-weight:500}.delete-btn{padding:4px;background:transparent;border:none;color:#ef4444;cursor:pointer;transition:opacity .2s}.delete-btn:hover{opacity:.7}.delete-btn:focus{outline:2px solid #ef4444;outline-offset:2px}.delete-btn:focus:not(:focus-visible){outline:none}.area-details{padding:16px;background:var(--background);border-top:1px solid var(--border)}.config-group{margin-bottom:16px}.config-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.config-group select,.config-group input[type=number]{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.distance-rules{margin-top:20px}.distance-rules h4.section-label{font-size:13px;font-weight:600;margin-bottom:12px;color:var(--text-primary);text-transform:uppercase;letter-spacing:.025em}.rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.rule-item label{display:block;font-size:11px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.rule-item input{width:100%;padding:4px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px}.visual-config{margin-top:20px}.visual-config h4.section-label{font-size:13px;font-weight:600;margin-bottom:12px;color:var(--text-primary);text-transform:uppercase;letter-spacing:.025em}.visual-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.config-item{display:flex;flex-direction:column;gap:4px}.config-item label{font-size:11px;font-weight:500;color:var(--text-secondary)}.config-item input[type=color]{width:100%;height:32px;border:1px solid var(--border);border-radius:4px;cursor:pointer}.config-item input[type=range]{width:100%}.config-item span{font-size:11px;color:var(--text-secondary);text-align:center}.exemptions{margin-top:20px}.exemptions h4.section-label{font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text-primary);text-transform:uppercase;letter-spacing:.025em}.exemption-list{display:flex;flex-wrap:wrap;gap:6px}.exemption-badge{padding:2px 8px;background:#e0f2fe;color:#0c4a6e;border-radius:12px;font-size:11px;font-weight:500}.select-all-section{margin-bottom:16px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.select-all-label{font-weight:600;color:var(--text-primary);margin:0}.select-all-label input[type=checkbox]{margin-right:8px}.area-label-checkbox{margin-right:12px;font-size:12px;color:var(--text-secondary);white-space:nowrap}.area-label-checkbox input[type=checkbox]{margin-right:4px}.area-label-checkbox .checkbox-text{font-size:11px;font-weight:500}.area-label-checkbox:hover .checkbox-text{color:var(--text-primary)}.planning-area-label{background:#fffffff2!important;color:var(--text-primary)!important;font-size:12px!important;font-weight:600!important;padding:4px 8px!important;border-radius:4px!important;border:1px solid var(--border)!important;box-shadow:0 2px 4px #0000001a!important;font-family:system-ui,-apple-system,sans-serif!important;z-index:1000!important;pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important;transition:opacity .2s!important}.area-label-checkbox,.area-label-checkbox input[type=checkbox]{pointer-events:auto}@media (max-width: 480px){.area-info{flex-wrap:wrap;gap:6px}.area-label-checkbox{order:-1;width:100%;margin-right:0;margin-bottom:4px}.planning-area-label{font-size:11px!important;padding:3px 6px!important}}.layer-config-modal{width:600px;max-width:90vw}.config-tabs{display:flex;gap:4px;padding:0 20px;background-color:var(--surface);border-bottom:1px solid var(--border)}.config-tab{display:flex;align-items:center;gap:6px;padding:12px 16px;background-color:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;position:relative}.config-tab:hover{color:var(--text-primary);background-color:var(--hover-bg)}.config-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background-color:var(--background)}.config-tab[title]:hover:after{content:attr(title);position:absolute;bottom:-30px;left:50%;transform:translate(-50%);padding:4px 8px;background:var(--surface-dark);color:#fff;font-size:12px;border-radius:4px;white-space:nowrap;z-index:1000;pointer-events:none}.config-section{padding:20px}.config-section h3{margin:0 0 20px;font-size:16px;font-weight:600;color:var(--text-primary)}.config-group{margin-bottom:20px}.config-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.label-with-tooltip{display:flex;align-items:center;gap:6px}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--border);color:var(--text-secondary);cursor:help;transition:all .2s}.tooltip-icon:hover{background:var(--border);color:var(--text-primary)}.tooltip-icon svg{flex-shrink:0}.color-input-group input[type=color]{width:48px;height:36px;border:1px solid var(--border);border-radius:6px;cursor:pointer}.color-input-group input[type=text]{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px}.slider-group{display:flex;gap:12px;align-items:center}.slider-group input[type=range]{flex:1;height:6px;background:var(--border);border-radius:3px;outline:none;-webkit-appearance:none}.slider-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--primary-color);border-radius:50%;cursor:pointer}.slider-group input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--primary-color);border-radius:50%;cursor:pointer;border:none}.slider-group span{min-width:48px;font-size:14px;color:var(--text-muted);text-align:right}.config-preview{margin-top:24px;padding:16px;background-color:var(--surface);border-radius:8px}.config-preview h4{margin:0 0 12px;font-size:14px;font-weight:500;color:var(--text-primary)}.preview-canvas{display:flex;align-items:center;justify-content:center;height:100px;background-color:var(--background);border:1px solid var(--border);border-radius:6px}.preview-polygon{width:80px;height:80px;border-radius:4px}.preview-point{border-radius:50%}.preview-line{width:100px;height:0;transform:rotate(-15deg)}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px}.checkbox-label span{font-size:14px;color:var(--text-primary)}select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background-color:var(--background)}input[type=number]{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px}.sync-info{margin-top:20px;padding:12px;background-color:var(--primary-light);border-radius:6px}.sync-info p{margin:0;font-size:13px;color:var(--primary-700);font-weight:500}.fields-list{display:flex;flex-direction:column;gap:8px}.field-item{display:flex;align-items:center;gap:8px;padding:8px;background-color:var(--background);border:1px solid var(--border);border-radius:6px;transition:all .2s}.field-item:hover{background-color:var(--surface)}.field-drag-handle{cursor:move;color:var(--text-muted)}.field-visibility{padding:4px;background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.field-visibility.visible{color:var(--success-color)}.field-visibility:focus{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:4px}.field-visibility:focus:not(:focus-visible){outline:none}.field-name{flex:1;font-size:13px;font-weight:500;color:var(--text-primary);font-family:Monaco,Menlo,monospace}.field-alias{width:150px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px}.no-fields{text-align:center;color:var(--text-secondary);padding:40px 20px;font-size:14px}.config-divider{height:1px;background-color:var(--border);margin:24px 0}.config-section h4{margin:16px 0 8px;font-size:14px;font-weight:600;color:var(--text-primary)}.config-help-text{margin-top:4px;font-size:12px;color:var(--text-secondary)}.distance-preview{margin-top:24px;padding:16px;background:linear-gradient(135deg,var(--surface) 0%,#f3f4f6 100%);border-radius:8px;border:1px solid var(--border)}.distance-preview h4{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.025em}.distance-preview-visual{display:flex;gap:24px;align-items:center;padding:20px;background:var(--background);border-radius:6px;box-shadow:inset 0 2px 4px #0000000f}.preview-pin-container{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.preview-pin{position:absolute;z-index:2}.preview-pin.base-pin{z-index:3}.preview-pin.outline-pin{z-index:4;pointer-events:none}.preview-pin-glow{position:absolute;width:30px;height:30px;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-65%);z-index:1;animation:glowPulse 2.5s ease-in-out infinite;filter:blur(2px)}@keyframes glowPulse{0%,to{opacity:.8;transform:translate(-50%,-65%) scale(1)}50%{opacity:.6;transform:translate(-50%,-65%) scale(1.2)}}.preview-descriptions{flex:1;display:flex;flex-direction:column;gap:10px}.preview-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--surface);border-radius:6px;border:1px solid var(--border);transition:all .2s ease}.preview-item:hover{background:var(--hover-bg);border-color:var(--border)}.preview-item span{font-size:13px;color:var(--text-primary);font-weight:500}.preview-item-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.preview-item-icon.info{font-size:18px}.preview-item-icon.glow{border-radius:50%;animation:iconGlowPulse 2.5s ease-in-out infinite}@keyframes iconGlowPulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.preview-item-icon.outline{border-style:solid;border-radius:4px;background:var(--background)}.preview-disabled{margin:0;text-align:center;color:var(--text-muted);font-style:italic;font-size:13px}textarea{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;resize:vertical}.config-collapsible{margin-top:16px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.config-collapsible-header{width:100%;padding:12px 16px;background-color:var(--surface);border:none;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-primary);text-align:left;transition:background-color .2s}.config-collapsible-header:hover{background-color:var(--hover-bg)}.config-collapsible-header:focus{outline:2px solid var(--primary-color);outline-offset:-2px}.config-collapsible-header:focus:not(:focus-visible){outline:none}.collapse-icon{display:inline-block;font-size:12px;transition:transform .2s}.collapse-icon.expanded{transform:rotate(90deg)}.config-collapsible-content{padding:16px;background-color:var(--background);border-top:1px solid var(--border)}.config-subsection{padding:16px;margin-top:12px;background-color:var(--surface);border-radius:6px;border-left:3px solid var(--primary-color)}.config-subsection .config-group:last-child{margin-bottom:0}.preview-outline{width:24px;height:24px;border:3px solid var(--error-color);border-radius:4px;display:inline-block}.config-warning{background-color:var(--warning-bg);border:1px solid var(--warning-light);border-radius:4px;padding:8px 12px;margin-top:12px;display:flex;align-items:center;gap:8px}.config-warning svg{color:var(--warning-color);flex-shrink:0}.config-warning span{font-size:13px;color:var(--warning-color-text);line-height:1.4}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--spinner-white-30);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.save-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.save-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f640}.save-button:focus{outline:2px solid var(--primary-color);outline-offset:2px}.save-button:focus:not(:focus-visible){outline:none}.save-button:disabled{opacity:.6;cursor:not-allowed}.cancel-button{padding:10px 20px;background:var(--background);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-button:hover{background:var(--surface);border-color:var(--border)}.cancel-button:focus{outline:2px solid var(--secondary-color);outline-offset:2px}.cancel-button:focus:not(:focus-visible){outline:none}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid var(--border);background:var(--surface)}input[type=color]:focus,input[type=text]:focus,input[type=number]:focus,input[type=range]:focus,select:focus,textarea:focus{outline:2px solid var(--primary-color);outline-offset:0}input[type=checkbox]:focus{outline:2px solid var(--primary-color);outline-offset:2px}.color-input-group input[type=color]{cursor:pointer}.color-input-group input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.color-input-group input[type=color]::-webkit-color-swatch{border:1px solid var(--border);border-radius:4px}.gis-layer-filter-builder{background:var(--background);border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;margin-bottom:16px}.filter-builder-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.header-title h3{margin:0;font-size:18px;font-weight:600}.header-stats{display:flex;align-items:center;gap:16px}.result-count{display:flex;align-items:center;gap:6px;padding:4px 12px;background:#fff3;border-radius:20px;font-size:14px;font-weight:500}.result-count .spinner{animation:spin 1s linear infinite}.validation-error{display:flex;align-items:center;gap:6px;padding:4px 12px;background:#ef444433;border-radius:20px;font-size:14px;color:#fef2f2}.filter-mode-selector{display:flex;gap:8px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border)}.mode-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s}.mode-btn:hover{background:var(--surface);border-color:var(--text-muted)}.mode-btn.active{background:#667eea;color:#fff;border-color:#667eea}.fields-loading,.fields-error{display:flex;align-items:center;justify-content:center;gap:12px;padding:32px;color:var(--text-secondary)}.fields-error{color:#dc3545}.fields-error button{padding:6px 12px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer}.fields-error button:hover{background:#c82333}.filter-content{padding:20px}.simple-filter-mode{display:flex;flex-direction:column;gap:16px}.simple-query-input{display:flex;gap:8px}.query-input{flex:1;padding:10px 16px;border:2px solid var(--border);border-radius:8px;font-size:14px;font-family:Monaco,Menlo,monospace}.query-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.query-search-btn{padding:0 16px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.query-search-btn:hover{background:#5a67d8}.query-help{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#e7f3ff;border-radius:6px;font-size:13px;color:#06c}.available-fields{padding:12px;background:var(--surface);border-radius:6px}.available-fields strong{display:block;margin-bottom:8px;font-size:13px;color:var(--text-primary)}.field-chips{display:flex;flex-wrap:wrap;gap:6px}.field-chip{padding:4px 10px;background:var(--background);border:1px solid var(--border);border-radius:12px;font-size:12px;font-family:monospace;cursor:pointer;transition:all .2s}.field-chip:hover{background:#667eea;color:#fff;border-color:#667eea}.advanced-filter-mode{min-height:200px}.gis-filter-group{margin-bottom:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.gis-filter-group.depth-1{background:var(--background);margin-left:24px}.gis-filter-group.depth-2{background:var(--surface);margin-left:48px}.filter-group-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.filter-collapse-btn{padding:4px;background:var(--background);border:1px solid var(--border);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.filter-collapse-btn:hover{background:var(--surface)}.filter-logic-select{padding:6px 12px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:14px;font-weight:600;color:#667eea}.filter-negate-label{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:14px;cursor:pointer}.filter-negate-label input[type=checkbox]{cursor:pointer}.filter-group-actions{display:flex;gap:8px;margin-left:auto}.filter-action-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:all .2s}.filter-action-btn:hover{background:var(--surface);border-color:var(--text-muted)}.filter-action-btn.filter-remove-btn{color:#dc3545;border-color:#dc3545}.filter-action-btn.filter-remove-btn:hover{background:#dc3545;color:#fff}.filter-group-content{padding-left:32px}.filter-empty-message{padding:24px;text-align:center;color:var(--text-secondary);font-size:14px;font-style:italic}.gis-filter-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:8px;background:var(--background);border:1px solid var(--border);border-radius:6px}.filter-field-select,.filter-operator-select,.filter-value-select{padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-size:14px}.filter-field-select{min-width:150px}.filter-operator-select{min-width:140px}.filter-value-input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-size:14px}.filter-value-select{flex:1;min-width:120px}.filter-between-inputs{display:flex;align-items:center;gap:8px;flex:1}.filter-between-separator{font-size:13px;color:var(--text-secondary);font-weight:500}.filter-row-actions{display:flex;gap:4px}.filter-row-actions .filter-action-btn{padding:4px 8px}.filter-preview-panel{padding:20px;background:var(--surface)}.filter-preview-panel h4{margin:0 0 16px;font-size:16px;color:var(--text-primary)}.preview-content{display:flex;flex-direction:column;gap:16px}.preview-section{background:var(--background);padding:12px;border-radius:6px;border:1px solid var(--border)}.preview-section h5{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.preview-section pre{margin:0;padding:8px;background:var(--surface);border-radius:4px;font-size:13px;font-family:Monaco,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.saved-filters-panel{padding:20px;background:var(--surface);border-bottom:1px solid #dee2e6}.saved-filters-panel h4{margin:0 0 12px;font-size:16px;color:var(--text-primary)}.saved-empty{padding:24px;text-align:center;color:var(--text-secondary);font-size:14px;font-style:italic}.saved-filters-list{display:flex;flex-direction:column;gap:8px}.saved-filter-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--background);border:1px solid var(--border);border-radius:6px}.saved-filter-info{display:flex;flex-direction:column;gap:4px}.saved-name{font-size:14px;font-weight:500;color:var(--text-primary)}.saved-meta{font-size:12px;color:var(--text-secondary)}.saved-filter-actions{display:flex;gap:8px}.saved-filter-actions button{padding:4px 10px;background:var(--background);border:1px solid var(--border);border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.saved-filter-actions button:hover{background:var(--surface);border-color:var(--text-muted)}.filter-builder-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--surface);border-top:1px solid var(--border)}.footer-left,.footer-right{display:flex;gap:8px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--background);padding:24px;border-radius:12px;box-shadow:0 10px 40px #0003;min-width:400px}.modal-content h3{margin:0 0 16px;font-size:20px;font-weight:600;color:var(--text-primary)}.modal-content input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;margin-bottom:20px}.modal-content input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-actions{display:flex;justify-content:flex-end;gap:12px}@media (max-width: 768px){.filter-builder-header{flex-direction:column;align-items:flex-start;gap:12px}.filter-mode-selector,.gis-filter-row{flex-wrap:wrap}.filter-field-select,.filter-operator-select,.filter-value-input,.filter-value-select{width:100%}.filter-builder-footer{flex-direction:column;gap:12px}.footer-left,.footer-right{width:100%;justify-content:center}}.gis-layer-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000004d;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:999;pointer-events:none;display:none}.gis-layer-panel-overlay.open{display:block;opacity:1;visibility:visible;pointer-events:auto}.gis-layer-panel{position:fixed;top:0;right:0;width:400px;height:100%;background-color:var(--background);box-shadow:-4px 0 24px #0000001a;transform:translate(100%);transition:transform .3s ease;z-index:1000;display:flex;flex-direction:column}.gis-layer-panel.open{transform:translate(0)}.gis-panel-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background-color:var(--surface)}.gis-panel-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.panel-close-button{background:none;border:none;cursor:pointer;padding:8px;color:var(--text-muted);border-radius:6px;transition:all .2s}.panel-close-button:hover{background-color:var(--border);color:var(--text-primary)}.gis-panel-toolbar{padding:16px 20px;border-bottom:1px solid var(--border)}.add-layer-button{width:100%;padding:10px 16px;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color .2s}.add-layer-button:hover{background-color:var(--primary-hover)}.gis-panel-content{flex:1;overflow-y:auto;padding:20px}.panel-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:12px;color:var(--text-muted)}.spinner{animation:spin 1s linear infinite}.panel-error{display:flex;align-items:center;gap:8px;padding:12px;background-color:var(--error-bg);color:var(--error-color-text);border-radius:8px;font-size:14px}.panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-muted)}.panel-empty h3{margin:16px 0 8px;font-size:1.125rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-empty p{margin:0 0 24px;font-size:14px;color:var(--text-muted)}.empty-add-button{padding:10px 20px;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s}.empty-add-button:hover{background-color:var(--primary-hover)}.layers-list{display:flex;flex-direction:column;gap:12px}.layer-item-wrapper{display:flex;align-items:flex-start;gap:8px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:8px;padding:4px;margin:-4px}.layer-item-wrapper.dragging{opacity:.4;transform:scale(.98)}.layer-item-wrapper.drag-over{transform:translateY(4px);padding-top:24px}.layer-item-wrapper.drag-over:before{content:"";position:absolute;top:0;left:20px;right:20px;height:3px;background:linear-gradient(90deg,transparent 0%,var(--primary-color) 20%,var(--primary-color) 80%,transparent 100%);border-radius:2px;animation:pulse 1.5s ease-in-out infinite;box-shadow:0 0 8px #3b82f680}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.drag-handle{padding:8px 4px;cursor:move;color:var(--text-muted);transition:all .2s;border-radius:4px;display:flex;align-items:center;justify-content:center}.drag-handle:hover{color:var(--text-muted);background-color:#6b72801a}.drag-handle:active{color:var(--text-primary);background-color:#6b728026}.filter-toggle-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:8px;background:var(--background);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s}.filter-toggle-btn:hover{background:var(--surface);border-color:var(--border);color:var(--text-secondary)}.filter-toggle-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.filter-toggle-btn.has-filters.active{background:var(--primary-color);color:#fff}.filter-count-badge{position:absolute;top:-8px;right:-8px;display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--error-color);color:#fff;border-radius:10px;font-size:11px;font-weight:600}.layer-filter-container{margin:0 12px 16px 44px;animation:slideDown .3s ease}@media (max-width: 768px){.gis-layer-panel{width:100%;transform:translate(100%)}.gis-layer-panel.open{transform:translate(0)}.gis-panel-content{padding:16px}}@media (max-width: 480px){.gis-panel-header{padding:16px}.gis-panel-toolbar{padding:12px 16px}}.snackbar-container{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.snackbar{display:flex;align-items:center;gap:12px;min-width:300px;max-width:500px;padding:12px 16px;background:var(--background);border-radius:8px;box-shadow:0 4px 12px var(--shadow-color, rgba(0, 0, 0, .15));pointer-events:auto;animation:slideUp .3s ease-out;transition:all .3s ease-out}.snackbar-leaving{animation:slideDown .3s ease-out;opacity:0}@keyframes slideUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100px);opacity:0}}.snackbar-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.snackbar-content{flex:1;display:flex;align-items:center;gap:12px}.snackbar-message{flex:1;font-size:14px;line-height:1.4;color:var(--text-primary)}.snackbar-action{padding:4px 12px;background:none;border:none;font-size:13px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:opacity .2s;white-space:nowrap}.snackbar-action:hover{opacity:.8}.snackbar-close{display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s;border-radius:4px}.snackbar-close:hover{background:var(--hover-bg);color:var(--text-primary)}.snackbar-success{border-left:4px solid var(--success-color, #10b981)}.snackbar-success .snackbar-icon,.snackbar-success .snackbar-action{color:var(--success-color, #10b981)}.snackbar-error{border-left:4px solid var(--error-color, #ef4444)}.snackbar-error .snackbar-icon,.snackbar-error .snackbar-action{color:var(--error-color, #ef4444)}.snackbar-warning{border-left:4px solid var(--warning-color, #f59e0b)}.snackbar-warning .snackbar-icon,.snackbar-warning .snackbar-action{color:var(--warning-color, #f59e0b)}.snackbar-info{border-left:4px solid var(--info-color, #3b82f6)}.snackbar-info .snackbar-icon,.snackbar-info .snackbar-action{color:var(--info-color, #3b82f6)}:root.dark .snackbar{box-shadow:0 4px 12px #00000080}:root.dark .snackbar-success{border-left-color:#4ade80}:root.dark .snackbar-success .snackbar-icon,:root.dark .snackbar-success .snackbar-action{color:#4ade80}:root.dark .snackbar-error{border-left-color:#f87171}:root.dark .snackbar-error .snackbar-icon,:root.dark .snackbar-error .snackbar-action{color:#f87171}:root.dark .snackbar-warning{border-left-color:#fbbf24}:root.dark .snackbar-warning .snackbar-icon,:root.dark .snackbar-warning .snackbar-action{color:#fbbf24}:root.dark .snackbar-info{border-left-color:#60a5fa}:root.dark .snackbar-info .snackbar-icon,:root.dark .snackbar-info .snackbar-action{color:#60a5fa}.planning-area-info-window{width:400px;max-width:90vw;background:var(--background);border-radius:8px;box-shadow:0 2px 10px #0000001a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.info-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.info-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.close-btn{background:none;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s}.info-tabs{display:flex;border-bottom:1px solid var(--border);background-color:var(--surface)}.tab{flex:1;padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.tab:hover{color:var(--text-primary);background-color:var(--hover-bg)}.tab.active{color:#3b82f6;border-bottom-color:#3b82f6;background-color:var(--background)}.info-content{max-height:400px;overflow-y:auto;padding:16px}.properties-tab{font-size:14px}.properties-table{width:100%;border-collapse:collapse}.properties-table tr{border-bottom:1px solid #f3f4f6}.properties-table tr:last-child{border-bottom:none}.property-name{padding:8px 8px 8px 0;font-weight:600;color:var(--text-secondary);vertical-align:top;width:40%}.property-value{padding:8px 0;color:var(--text-primary);word-break:break-word}.controls-tab{display:flex;flex-direction:column;gap:20px}.control-section{display:flex;flex-direction:column;gap:8px}.control-section h4{margin:0;font-size:14px;font-weight:600;color:var(--text-secondary)}.compliance-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--background);cursor:pointer;transition:border-color .2s}.compliance-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.compliance-indicator{display:flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:4px;color:#fff;width:fit-content;margin-top:4px}.visual-controls{display:flex;flex-direction:column;gap:12px}.control-item{display:flex;flex-direction:column;gap:4px}.control-item label{font-size:13px;color:var(--text-muted);font-weight:500}.color-input-group{display:flex;gap:8px;align-items:center}.color-input-group input[type=color]{width:36px;height:36px;border:1px solid var(--border);border-radius:4px;cursor:pointer}.color-text{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-size:13px;font-family:monospace}.opacity-control{display:flex;align-items:center;gap:12px}.opacity-control input[type=range]{flex:1;height:4px;background:var(--border);border-radius:2px;outline:none}.opacity-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#3b82f6;border-radius:50%;cursor:pointer;box-shadow:0 1px 3px #0003}.opacity-control input[type=range]::-moz-range-thumb{width:16px;height:16px;background:#3b82f6;border-radius:50%;cursor:pointer;box-shadow:0 1px 3px #0003;border:none}.opacity-value{min-width:40px;text-align:right;font-size:13px;color:var(--text-secondary)}.stroke-width-input{width:60px;padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-size:13px}.saving-indicator{display:flex;align-items:center;justify-content:center;padding:8px;background:#f0f9ff;border-radius:4px;margin-top:8px}.saving-text{color:#3b82f6;font-size:13px;font-weight:500}.notes-tab{display:flex;flex-direction:column;gap:12px}.notes-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.note-item{padding:12px;background:var(--surface);border-radius:6px;border:1px solid var(--border)}.note-header{display:flex;justify-content:space-between;margin-bottom:8px;font-size:12px}.note-author{font-weight:600;color:var(--text-secondary)}.note-timestamp{color:var(--text-muted)}.note-text{font-size:14px;color:var(--text-primary);line-height:1.5;margin-bottom:8px}.note-actions{display:flex;gap:8px}.btn-edit-note,.btn-delete-note{padding:4px 8px;font-size:12px;border:1px solid var(--border);border-radius:4px;background:var(--background);color:var(--text-muted);cursor:pointer;transition:all .2s}.btn-edit-note:hover{border-color:#3b82f6;color:#3b82f6}.btn-delete-note{display:flex;align-items:center;gap:4px}.btn-delete-note:hover{border-color:#ef4444;color:#ef4444}.note-edit{display:flex;flex-direction:column;gap:8px}.note-edit-textarea{padding:8px;border:1px solid var(--border);border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;min-height:60px}.note-edit-actions{display:flex;gap:8px}.btn-save-note,.btn-cancel-note{padding:6px 12px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:opacity .2s}.btn-save-note{background:#22c55e;color:#fff;display:flex;align-items:center}.btn-cancel-note{background:#ef4444;color:#fff}.btn-save-note:hover,.btn-cancel-note:hover{opacity:.9}.note-textarea{padding:8px;border:1px solid var(--border);border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;min-height:80px}.note-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.note-form-actions{display:flex;gap:8px}.btn-add-note,.btn-cancel{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-add-note{background:#3b82f6;color:#fff}.btn-cancel{background:var(--border);color:var(--text-muted)}.btn-add-note:hover,.btn-cancel:hover{opacity:.9}.btn-new-note{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;width:100%;border:1px dashed var(--border);border-radius:6px;background:var(--background);color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-new-note:hover{border-color:#3b82f6;color:#3b82f6;background:#f0f9ff}.info-content::-webkit-scrollbar,.notes-list::-webkit-scrollbar{width:8px}.info-content::-webkit-scrollbar-track,.notes-list::-webkit-scrollbar-track{background:var(--hover-bg);border-radius:4px}.info-content::-webkit-scrollbar-thumb,.notes-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.info-content::-webkit-scrollbar-thumb:hover,.notes-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.alerts-tab{padding:16px;animation:fadeIn .3s ease-in-out}.alert-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-primary)}.alert-description{margin:0 0 20px;font-size:13px;color:var(--text-muted);line-height:1.5}.alert-config-group{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.alert-config-item{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:12px}.alert-config-header{margin-bottom:8px}.alert-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-primary)}.alert-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.alert-help-text{margin:0 0 12px 24px;font-size:12px;color:var(--text-muted);line-height:1.4}.alert-threshold-input{margin-left:24px;display:flex;align-items:center;gap:12px}.alert-threshold-input label{font-size:13px;color:var(--text-secondary);font-weight:500}.input-group{display:flex;align-items:center;gap:8px}.threshold-input{width:100px;padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-size:13px;transition:border-color .2s}.threshold-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-suffix{font-size:13px;color:var(--text-muted)}.alert-preview{background:var(--background);border:1px solid var(--border);border-radius:6px;padding:12px}.alert-preview h5{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-primary)}.alert-status-summary{display:flex;flex-direction:column;gap:8px}.status-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.status-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-indicator.active{background-color:#10b981;box-shadow:0 0 0 2px #10b98133}.status-indicator.inactive{background-color:#9ca3af}.simple-image-carousel{width:100%;padding:10px}.simple-image-carousel.no-images{text-align:center;padding:20px}.simple-image-carousel .open-streetview-btn{margin-top:10px;padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:14px}.simple-image-carousel .open-streetview-btn:hover{background:#0056b3}.simple-image-carousel .image-main{position:relative;width:100%;height:300px;background:var(--surface);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.simple-image-carousel .image-main img{max-width:100%;max-height:100%;object-fit:contain}.simple-image-carousel .image-loading,.simple-image-carousel .image-placeholder{color:var(--text-secondary);font-size:14px}.simple-image-carousel .nav-button{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:none;padding:8px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;z-index:2}.simple-image-carousel .nav-button:hover{background:#000000b3}.simple-image-carousel .nav-button.prev{left:10px}.simple-image-carousel .nav-button.next{right:10px}.simple-image-carousel .image-counter{position:absolute;bottom:10px;left:10px;background:#0009;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px}.simple-image-carousel .primary-badge{position:absolute;top:10px;left:10px;background:#ffc107e6;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:4px;z-index:2}.simple-image-carousel .image-actions{position:absolute;top:10px;right:10px;display:flex;gap:8px;z-index:2}.simple-image-carousel .action-btn{background:#ffffffe6;border:none;padding:6px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.simple-image-carousel .action-btn:hover{background:var(--background)}.simple-image-carousel .action-btn.delete{color:#dc3545}.simple-image-carousel .action-btn:disabled{opacity:.5;cursor:not-allowed}.simple-image-carousel .image-thumbnails{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding:4px 0}.simple-image-carousel .thumbnail{flex:0 0 60px;width:60px;height:60px;border:2px solid transparent;border-radius:4px;overflow:hidden;cursor:pointer;background:var(--surface);padding:0;position:relative}.simple-image-carousel .thumbnail.active{border-color:#007bff}.simple-image-carousel .thumbnail.primary{border-color:#ffc107}.simple-image-carousel .thumbnail.active.primary{border-color:#007bff}.simple-image-carousel .thumbnail img{width:100%;height:100%;object-fit:cover}.simple-image-carousel .thumbnail-placeholder{width:100%;height:100%;background:var(--border)}.simple-image-carousel .thumbnail-star{position:absolute;top:2px;right:2px;background:#ffc107e6;color:#fff;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000004d}.edit-modal-body{padding:20px}.edit-modal-body .form-group{margin-bottom:20px}.edit-modal-body .form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary)}.edit-modal-body .form-group input,.edit-modal-body .form-group textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:4px;font-size:14px;font-family:inherit}.edit-modal-body .form-group input:focus,.edit-modal-body .form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.edit-modal-body .form-group input:disabled,.edit-modal-body .form-group textarea:disabled{background:var(--surface);cursor:not-allowed}.edit-modal-body .image-info{background:var(--surface);padding:12px;border-radius:4px;margin-top:16px}.edit-modal-body .image-info p{margin:4px 0;font-size:13px;color:var(--text-secondary)}.edit-modal-body .image-info strong{color:var(--text-primary)}.gm-style-iw-c{max-height:calc(100vh - 200px)!important;padding-top:8px!important;max-width:420px!important;z-index:9999!important;transition:max-width .2s ease!important}.gm-style-iw-d{max-height:calc(100vh - 230px)!important;overflow:auto!important;max-width:100%!important;box-sizing:border-box!important}.gm-ui-hover-effect{top:4px!important;right:4px!important;width:32px!important;height:32px!important;opacity:1!important;z-index:9999!important;background:#fff!important;border-radius:50%!important;box-shadow:0 2px 4px #0003!important}.gm-ui-hover-effect>span{width:20px!important;height:20px!important;margin:6px!important}.map-info-window{padding:8px 12px 12px;min-width:260px;max-width:300px;max-height:calc(100vh - 200px);overflow-y:auto;overflow-x:hidden;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word;transition:max-width .2s ease,min-width .2s ease}.map-info-window.notes-expanded{max-width:400px;min-width:360px}.map-info-window *{max-width:100%;box-sizing:border-box}.map-info-close-button{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;background:var(--background);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .2s;box-shadow:0 2px 4px #0000001a}.map-info-close-button:hover{background:var(--surface);border-color:var(--border);box-shadow:0 2px 6px #00000026}.map-info-close-button:active{transform:scale(.95)}.map-info-window::-webkit-scrollbar{width:6px}.map-info-window::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.map-info-window::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.map-info-window::-webkit-scrollbar-thumb:hover{background:#555}.tab-navigation{display:flex;gap:4px;margin-bottom:12px;border-bottom:2px solid var(--border)}.tab-button{display:flex;align-items:center;gap:4px;padding:8px 12px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;position:relative}.tab-button:hover{color:var(--text-primary);background:var(--surface)}.tab-button.active{color:#2196f3;background:transparent}.tab-button.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#2196f3}.tab-panel{min-height:100px}.info-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.info-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary);flex:1}.info-header h3.site-id-link{cursor:pointer;transition:color .2s ease}.info-header h3.site-id-link:hover{color:#3b82f6;text-decoration:underline}.info-header h3.site-id-link:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:4px}.info-header-quick-view{padding:4px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.info-header-quick-view:hover{background:var(--surface, #f3f4f6);color:var(--primary-color, #3b82f6)}.info-header-quick-view:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:1px}.info-content{margin-bottom:12px}.info-row{margin:6px 0;font-size:14px;line-height:1.4}.info-row strong{font-weight:600;color:var(--text-secondary)}.map-info-content .notes-section{margin-top:12px;border-top:1px solid var(--border);padding-top:8px}.notes-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;background:var(--surface);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:14px;color:var(--text-primary);transition:all .2s}.notes-toggle:hover{background:var(--hover-bg);border-color:var(--border)}.notes-toggle .arrow{margin-left:auto;transition:transform .2s;font-size:12px}.notes-toggle .arrow.expanded{transform:rotate(90deg)}.notes-container{margin-top:8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);overflow:hidden}.notes-list{max-height:350px;overflow-y:auto;padding:10px}.notes-list::-webkit-scrollbar{width:6px}.notes-list::-webkit-scrollbar-track{background:#f1f1f1}.notes-list::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.notes-list::-webkit-scrollbar-thumb:hover{background:#555}.no-notes{text-align:center;color:var(--text-muted);padding:16px;font-size:13px}.notes-loading{text-align:center;color:var(--text-secondary);padding:16px;font-size:13px}.note-item{background:var(--background);border:1px solid var(--border);border-radius:6px;padding:12px;margin-bottom:8px}.note-header{margin-bottom:6px}.note-meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:8px}.note-author{font-weight:600;font-size:12px;color:var(--text-primary)}.note-date{font-size:11px;color:var(--text-tertiary, var(--text-muted))}.note-text{font-size:14px;line-height:1.5;color:var(--text-primary);white-space:pre-wrap}.add-note-section{padding:8px;border-top:1px solid var(--border);background:var(--surface)}.add-note-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:var(--primary-color, #2196F3);color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:background .2s;white-space:nowrap;min-width:fit-content}.add-note-btn:hover{background:#1976d2}.add-note-btn svg{flex-shrink:0}.add-note-form textarea{width:100%;padding:8px;border:1px solid var(--border);border-radius:4px;font-size:13px;resize:vertical;min-height:50px;font-family:inherit}.add-note-form textarea:focus{outline:none;border-color:#2196f3}.add-note-actions{display:flex;gap:8px;justify-content:flex-end}.cancel-btn{padding:6px 12px;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:var(--hover-bg, var(--background));border-color:var(--border)}.save-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--success-color, #22c55e);color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:background .2s}.save-btn:hover:not(:disabled){background:#16a34a}.save-btn:disabled{opacity:.6;cursor:not-allowed}.show-street-view-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;margin-top:10px;background:#1a73e8;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background .2s}.show-street-view-btn:hover{background:#1557b0}.streetview-container{position:relative;width:100%;height:280px;max-height:280px;margin-top:10px;border-radius:8px;overflow:hidden}.close-streetview-btn{position:absolute;top:10px;right:10px;width:30px;height:30px;background:#ffffffe6;border:none;border-radius:50%;font-size:18px;cursor:pointer;z-index:100;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;transition:background .2s}.close-streetview-btn:hover{background:var(--background)}.no-images{padding:20px;text-align:center;color:var(--text-secondary)}.no-images p{margin:0 0 10px}.info-expand-toggle{width:100%;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;color:var(--text-primary);transition:background-color .2s;pointer-events:auto;position:relative;z-index:10}.info-expand-toggle:hover{background:var(--hover-bg)}.info-expand-toggle svg{flex-shrink:0}.expandable-content{margin-top:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:4px;max-height:500px;overflow-y:auto;overflow-x:hidden}.loading{padding:20px;text-align:center;color:var(--text-secondary)}.show-street-view-btn{padding:8px 16px;background:var(--primary-color, #2563eb);color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:8px;margin:10px auto;font-size:14px;transition:background-color .2s}.show-street-view-btn:hover{background:var(--primary-hover, #1d4ed8)}.mini-street-view-container{position:relative;width:100%;height:300px;margin-top:10px;border-radius:4px;overflow:hidden}.info-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);justify-content:flex-start}.action-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--background);border:1px solid var(--border);border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s;color:var(--text-primary);white-space:nowrap}.action-btn:hover{background:var(--surface);border-color:var(--border)}.info-expandable{margin-top:12px;border-top:1px solid var(--border);padding-top:8px}.info-expand-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;background:var(--surface);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:14px;color:var(--text-primary);transition:all .2s;pointer-events:auto;position:relative;z-index:10}.info-expand-toggle:hover{background:var(--hover-bg);border-color:var(--border)}.expandable-content{margin-top:8px;padding:8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);max-height:500px;overflow-y:auto;overflow-x:hidden}.expandable-content .loading{text-align:center;color:var(--text-secondary);padding:16px;font-size:13px}.alerts-list,.distances-list{max-height:300px;overflow-y:auto}.no-distances{text-align:center;padding:32px 20px;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:8px}.no-distances svg{color:var(--text-muted);margin-bottom:8px}.no-distances p:first-of-type{font-size:16px;font-weight:500;color:var(--text-primary);margin:0}.no-distances p:last-of-type{margin:0}.no-alerts{text-align:center;padding:20px;color:var(--text-muted)}.no-alerts svg{margin-bottom:8px;opacity:.5}.distance-item{padding:12px;border:1px solid var(--border);border-radius:6px;margin-bottom:8px;background:var(--background);transition:all .2s}.distance-item:hover{border-color:var(--border);box-shadow:0 1px 3px #0000001a}.distance-item.alert{border-color:#fbbf24;background:#fef3c7}.alert-item{padding:10px;border:1px solid var(--border);border-radius:6px;margin-bottom:8px;background:var(--surface)}.distance-header,.alert-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.distance-icon-warning{color:#f59e0b}.distance-icon-alert{color:#ef4444}.distance-icon-info{color:#3b82f6}.alert-icon-warning{color:#ff9800}.alert-icon-info{color:#2196f3}.alert-layer,.distance-layer{font-weight:600;color:var(--text-primary);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.distance-details,.alert-details{margin-left:24px}.distance-message{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.distance-message.inside{color:#dc2626}.distance-message strong{color:var(--text-primary);font-weight:600}.alert-message{font-size:13px;color:var(--text-secondary);margin:0}.alert-message.inside{color:#ff9800}.alert-message.distance{color:#2196f3}.alert-message strong{color:var(--text-primary);font-weight:600}.threshold-violation{color:#ef4444;font-weight:500;font-size:12px}.threshold-ok{color:#22c55e;font-size:12px}.technical-details-content{padding:12px;background:var(--surface);border-radius:0 0 8px 8px}.technical-details-view{color:var(--text-primary)}.technical-details-view>div{margin-bottom:8px}.technical-details-view>div:last-of-type{margin-bottom:12px}.technical-details-view strong{color:var(--text-secondary)}.technical-edit-btn{padding:6px 12px;background:#3b82f6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;gap:4px}.technical-edit-btn:hover{background:#2563eb}.technical-form-group{margin-bottom:12px}.technical-details-label{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:4px}.technical-details-input,.technical-details-select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--input-bg, var(--background));color:var(--text-primary)}.technical-details-input:focus,.technical-details-select:focus{outline:none;border-color:#3b82f6}.technical-details-actions{display:flex;gap:8px;margin-top:12px}.technical-save-btn{padding:6px 12px;background:var(--success-color, #22c55e);color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer}.technical-save-btn:hover:not(:disabled){background:#16a34a}.technical-save-btn:disabled{opacity:.6;cursor:not-allowed}.technical-cancel-btn{padding:6px 12px;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;font-size:13px;cursor:pointer}.technical-cancel-btn:hover{background:var(--hover-bg, var(--background))}.status-value{font-weight:500}.status-success,.status-a{color:var(--success-color, #4CAF50)}.status-error,.status-j{color:var(--error-color, #F44336)}.status-warning,.status-t{color:var(--warning-color, #FF9800)}.status-info,.status-default{color:var(--primary-color, #2196F3)}@media (prefers-color-scheme: dark){.map-info-window{background:#1f2937;color:#f3f4f6}.info-header h3{color:#f3f4f6!important}.info-row strong,.info-row .label{color:#d1d5db}.info-value{color:#f3f4f6}.distance-layer{background:#374151;color:#f3f4f6}.tab-button{color:#9ca3af;border-color:#4b5563}.tab-button.active{color:#60a5fa;border-color:#60a5fa}.tab-button:hover{color:#f3f4f6;background:#374151}.gm-ui-hover-effect{background:#374151!important;color:#f3f4f6!important}.info-expand-toggle{background:#374151;color:#f3f4f6}.info-expand-toggle:hover{background:#4b5563}input,textarea{background:#374151;color:#f3f4f6;border-color:#4b5563}button{border-color:#4b5563}.gm-style-iw-c,.gm-style-iw-d{background:#1f2937!important}.gm-style-iw-t:after{background:linear-gradient(45deg,#1f2937 50%,#1f293700 51%,#1f293700)!important}.gm-style-iw-c,.gm-style-iw-d,.gm-style-iw-c *{color:#f3f4f6!important}}@media (max-width: 768px){.map-info-window{min-width:min(260px,calc(100vw - 32px));max-width:min(300px,calc(100vw - 32px));padding:12px}.map-info-window.notes-expanded{min-width:min(360px,calc(100vw - 32px));max-width:min(400px,calc(100vw - 32px))}.gm-style-iw-c{max-width:calc(100vw - 24px)!important}.map-info-close-button{width:44px;height:44px;min-width:44px;min-height:44px;top:4px;right:4px}.gm-ui-hover-effect{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}.gm-ui-hover-effect>span{width:24px!important;height:24px!important;margin:10px!important}.tab-button{padding:12px 16px;min-height:44px;font-size:13px}.tab-navigation{gap:2px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.tab-navigation::-webkit-scrollbar{display:none}.action-button,.info-action-btn{min-height:44px;min-width:44px;padding:10px 16px}.info-row-action,.quick-view-btn,.expand-toggle-btn{min-width:44px;min-height:44px;padding:10px}.note-actions button,.add-note-btn{min-height:44px;min-width:44px}.info-expand-toggle{min-height:44px;min-width:44px;padding:10px}}@media (max-width: 375px){.map-info-window{min-width:calc(100vw - 24px);max-width:calc(100vw - 24px);padding:10px;font-size:13px}.map-info-window.notes-expanded{min-width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.gm-style-iw-c{max-width:calc(100vw - 16px)!important}.tab-button{padding:10px 12px;font-size:12px}.map-info-close-button,.gm-ui-hover-effect,.action-button,.info-action-btn{min-width:44px!important;min-height:44px!important}}.map-tools-menu{position:absolute;z-index:2000;pointer-events:auto}.map-tools-menu-placeholder{position:absolute;z-index:1;pointer-events:none}.map-tools-menu-top-right{top:60px;right:12px}.map-tools-menu-top-left{top:50px;left:12px}.map-tools-menu-bottom-left{bottom:30px;left:12px}.map-tools-menu-trigger:active:not(:disabled){transform:scale(.98)}@keyframes mapToolsMenuPanelIn{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes mapToolsMenuPanelOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(-8px)}}.map-tools-menu-item{min-height:44px}.map-tools-menu-item:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #2563eb80}.map-tools-menu-item.active .active-indicator{animation:activePulse 2s ease-in-out infinite}@keyframes activePulse{0%,to{opacity:1}50%{opacity:.6}}.map-tools-menu-section:first-child .section-header{border-top-left-radius:12px;border-top-right-radius:12px}.map-tools-menu-panel::-webkit-scrollbar{width:6px}.map-tools-menu-panel::-webkit-scrollbar-track{background:transparent}.map-tools-menu-panel::-webkit-scrollbar-thumb{background-color:#9ca3af66;border-radius:3px}.map-tools-menu-panel::-webkit-scrollbar-thumb:hover{background-color:#9ca3af99}.dark .map-tools-menu-panel::-webkit-scrollbar-thumb{background-color:#4b556399}.dark .map-tools-menu-panel::-webkit-scrollbar-thumb:hover{background-color:#4b5563cc}@media (max-width: 640px){.map-tools-menu-top-right{top:8px}.map-tools-menu-top-left{top:44px}.map-tools-menu-top-right{right:8px}.map-tools-menu-top-left{left:8px}.map-tools-menu-panel{width:calc(100vw - 16px)!important;max-width:320px}}@media print{.map-tools-menu{display:none}}.heatmap-settings-panel{padding:8px 12px;display:flex;flex-direction:column;gap:12px;min-width:200px}.heatmap-setting-row{display:flex;flex-direction:column;gap:6px}.heatmap-setting-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:500;color:var(--color-text-secondary, #64748b)}.heatmap-setting-value{font-weight:600;color:var(--color-text-primary, #1e293b);font-size:11px;background:var(--color-bg-tertiary, #f1f5f9);padding:2px 6px;border-radius:4px}.dark .heatmap-setting-value{color:#e2e8f0;background:#334155}.heatmap-slider{width:100%;height:6px;border-radius:3px;background:var(--color-bg-tertiary, #e2e8f0);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.heatmap-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-primary, #3b82f6);cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0003;transition:transform .15s ease}.heatmap-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.heatmap-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-primary, #3b82f6);cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0003}.dark .heatmap-slider{background:#475569}.heatmap-color-schemes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.heatmap-color-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border:2px solid transparent;border-radius:8px;background:var(--color-bg-secondary, #f8fafc);cursor:pointer;transition:all .15s ease}.heatmap-color-btn:hover{background:var(--color-bg-tertiary, #f1f5f9);border-color:var(--color-border, #cbd5e1)}.heatmap-color-btn.active{border-color:var(--color-primary, #3b82f6);background:var(--color-primary-light, #eff6ff)}.dark .heatmap-color-btn{background:#334155}.dark .heatmap-color-btn:hover{background:#475569;border-color:#64748b}.dark .heatmap-color-btn.active{border-color:#3b82f6;background:#3b82f633}.heatmap-color-preview{width:100%;height:12px;border-radius:4px;box-shadow:inset 0 1px 2px #0000001a}.heatmap-color-name{font-size:10px;font-weight:500;color:var(--color-text-secondary, #64748b);text-transform:capitalize}.dark .heatmap-color-name{color:#94a3b8}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.add-site-modal{background:var(--background);border-radius:8px;width:90%;max-width:800px;height:80vh;max-height:600px;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.close-button{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--text-secondary);border-radius:4px;transition:all .2s}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.close-button:hover{background-color:var(--surface);color:var(--text-primary)}.modal-content{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.search-container{padding:1rem 1.5rem;background-color:var(--surface);border-bottom:1px solid var(--border)}.search-input-wrapper{position:relative;width:100%}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.search-input{width:100%;padding:.75rem 1rem .75rem 3rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;transition:all .2s;background-color:var(--background);color:var(--text-primary)}.search-input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.map-container{flex:1;position:relative;background-color:var(--surface)}.location-info{padding:1rem 1.5rem;background-color:var(--surface);border-top:1px solid var(--border)}.location-details{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);margin-bottom:.5rem}.coordinates{font-family:Courier New,monospace;font-size:.875rem;color:var(--text-secondary)}.address{font-size:.875rem;color:var(--text-secondary);line-height:1.4}.error-message{padding:.75rem 1rem;background-color:#ef444426;color:#ef4444;border-radius:4px;margin:1rem 1.5rem;font-size:.875rem}.loading-container{flex:1;display:flex;align-items:center;justify-content:center}.loading-spinner{color:var(--text-secondary);font-size:1rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--border);background-color:var(--surface)}.add-site-form{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.5rem;overflow-y:auto}.add-site-form-section{display:flex;flex-direction:column;gap:.5rem}.add-site-form-section>label{font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b)}:root.dark .add-site-form-section>label{color:#f9fafb}.add-site-checkbox-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background-color:var(--surface, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s ease}.add-site-checkbox-option:hover{background-color:#f1f5f9;border-color:#3b82f6}:root.dark .add-site-checkbox-option{background-color:#1f2937;border-color:#374151}:root.dark .add-site-checkbox-option:hover{background-color:#374151;border-color:#60a5fa}.add-site-checkbox-option input[type=checkbox]{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:#3b82f6;cursor:pointer}.add-site-checkbox-content{display:flex;flex-direction:column;gap:.25rem}.add-site-checkbox-label{font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b)}:root.dark .add-site-checkbox-label{color:#f9fafb}.add-site-checkbox-description{font-size:.75rem;color:var(--text-secondary, #64748b);line-height:1.4}:root.dark .add-site-checkbox-description{color:#9ca3af}.add-site-warning{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;background-color:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin-top:.5rem}:root.dark .add-site-warning{background-color:#f59e0b26;border-color:#f59e0b}.add-site-warning-icon{color:#d97706;flex-shrink:0;margin-top:2px}.add-site-warning-text{font-size:.875rem;color:#92400e;line-height:1.4}:root.dark .add-site-warning-text{color:#fcd34d}.add-site-settings-panel{display:flex;flex-direction:column;gap:1rem;padding:1rem;background-color:#f9fafb;border:1px solid var(--border, #e2e8f0);border-radius:8px;margin-top:.5rem}:root.dark .add-site-settings-panel{background-color:#1f2937;border-color:#374151}.add-site-settings-field{display:flex;flex-direction:column;gap:.5rem}.add-site-settings-field>label{font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b)}:root.dark .add-site-settings-field>label{color:#f9fafb}.add-site-settings-field input[type=number]{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border, #e2e8f0);border-radius:6px;background-color:var(--background, #ffffff);color:var(--text-primary, #1e293b)}:root.dark .add-site-settings-field input[type=number]{background-color:#374151;border-color:#4b5563;color:#f9fafb}.add-site-settings-field input[type=range]{width:100%;height:6px;border-radius:3px;background:#e2e8f0;cursor:pointer}:root.dark .add-site-settings-field input[type=range]{background:#4b5563}.add-site-settings-hint{font-size:.75rem;color:var(--text-secondary, #64748b)}:root.dark .add-site-settings-hint{color:#9ca3af}.search-hint{font-size:.75rem;color:var(--text-secondary, #64748b);margin-top:.5rem;display:block}:root.dark .search-hint{color:#9ca3af}@media (max-width: 768px){.add-site-modal{width:95%;height:90vh;max-height:none}.modal-header h2{font-size:1.25rem}.search-input{font-size:.875rem}}:root.dark .add-site-modal{background:#1f2937;box-shadow:0 4px 20px #0006}:root.dark .modal-header h2{color:#f9fafb}:root.dark .close-button:hover{background-color:#374151;color:#f9fafb}:root.dark .search-container{background-color:#111827;border-bottom-color:#374151}:root.dark .search-icon{color:#9ca3af}:root.dark .search-input{background-color:#374151;border-color:#4b5563;color:#f9fafb}:root.dark .search-input::placeholder{color:#6b7280}:root.dark .map-container{background-color:#1f2937}:root.dark .location-info{background-color:#111827;border-top-color:#374151}:root.dark .location-details{color:#9ca3af}:root.dark .coordinates{color:#d1d5db}:root.dark .address{color:#9ca3af}:root.dark .error-message{background-color:#ef444426;color:#fca5a5}:root.dark .loading-spinner{color:#9ca3af}:root.dark .modal-footer{border-top-color:#374151;background-color:#111827}.add-sites-view{height:100%;display:flex;flex-direction:column}.add-sites-header{background-color:var(--background);padding:2rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.add-sites-toolbar{background-color:var(--surface);padding:.75rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.view-toggle{display:flex;background-color:var(--background);border:1px solid var(--border);border-radius:.375rem;padding:.25rem}.view-button:hover{background-color:var(--surface);color:var(--text-primary)}.site-stats{color:var(--text-secondary);font-size:.875rem}.add-sites-content{flex:1;overflow:auto;background-color:var(--background)}.search-container{background-color:var(--surface);padding:1rem 2rem;border-bottom:1px solid var(--border)}.search-input-wrapper{display:flex;align-items:center;max-width:600px;position:relative}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid var(--border);border-radius:.5rem;font-size:1rem;background-color:var(--background);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:var(--text-secondary);opacity:1}.search-icon{position:absolute;left:.75rem;color:var(--text-secondary);pointer-events:none}.search-suggestions{position:absolute;top:100%;left:0;right:0;background-color:var(--background);border:1px solid var(--border);border-top:none;border-radius:0 0 .5rem .5rem;box-shadow:0 10px 15px -3px #0000001a;z-index:50;max-height:300px;overflow-y:auto}.search-suggestion{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--surface);transition:background-color .2s}.search-suggestion:hover{background-color:var(--surface)}.search-suggestion:last-child{border-bottom:none}.suggestion-title{font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.suggestion-subtitle{font-size:.875rem;color:var(--text-secondary)}.filter-bar{display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--background);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;box-shadow:0 1px 2px #00000008}.filter-section{display:flex;align-items:center;gap:8px}.filter-label{font-size:14px;color:var(--text-secondary);font-weight:500}.status-filter{padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--background);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.status-filter:hover{background:var(--surface);border-color:var(--border-light)}.status-filter.active{background:var(--status-color);color:#fff;border-color:var(--status-color)}.status-filter.active:hover{opacity:.9}.filter-divider{width:1px;height:24px;background:var(--border)}.flag-filter{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--background);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease}.flag-filter:hover{background:var(--surface);border-color:var(--border-light)}.flag-filter.active{background:var(--error-color, #dc2626);color:#fff;border-color:var(--error-color, #dc2626)}.flag-filter svg{width:16px;height:16px}.quick-filters-section{position:relative;margin-left:auto}.quick-filters-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--background);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease}.quick-filters-btn:hover{background:var(--surface);border-color:var(--border-light)}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--primary-color, #3b82f6);color:#fff;border-radius:10px;font-size:12px;font-weight:600}.quick-filters-btn svg{transition:transform .2s ease}.quick-filters-btn svg.rotated{transform:rotate(180deg)}.quick-filters-dropdown{position:absolute;top:100%;right:0;margin-top:8px;min-width:280px;background:var(--background);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:1000;padding:12px}.filter-group{margin-bottom:16px}.filter-group:last-child{margin-bottom:0}.filter-group h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.filter-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;cursor:pointer;transition:background .2s ease}.filter-option:hover{background:var(--surface)}.filter-option input[type=checkbox]{width:16px;height:16px;cursor:pointer}.filter-option span{font-size:14px;color:var(--text-primary)}.clear-filters-btn{width:100%;padding:8px 12px;margin-top:12px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--error-color, #ef4444);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{background:var(--error-bg, #fee2e2);border-color:var(--error-border, #fca5a5)}.advanced-filters-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;border:1px solid var(--primary-color, #3b82f6);background:var(--primary-color, #3b82f6);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.advanced-filters-btn:hover{background:var(--primary-color-hover, #2563eb);border-color:var(--primary-color-hover, #2563eb)}.advanced-filters-btn svg{width:16px;height:16px}:root.dark .filter-bar{background:#1f2937;border-color:#374151;box-shadow:0 1px 2px #0003}:root.dark .status-filter,:root.dark .flag-filter,:root.dark .quick-filters-btn{background:#374151;border-color:#4b5563;color:#f9fafb}:root.dark .status-filter:hover,:root.dark .flag-filter:hover,:root.dark .quick-filters-btn:hover{background:#4b5563;border-color:#6b7280}:root.dark .filter-label{color:#d1d5db}:root.dark .filter-divider{background:#4b5563}:root.dark .quick-filters-dropdown{background:#1f2937;border-color:#374151;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003}:root.dark .filter-group h4{color:#f9fafb}:root.dark .filter-option span{color:#d1d5db}:root.dark .filter-option:hover{background:#374151}:root.dark .clear-filters-btn{background:#374151;border-color:#4b5563;color:#f87171}:root.dark .clear-filters-btn:hover{background:#ef444426;border-color:#f87171}.cheat-sheet-settings-modal{width:900px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column}.settings-body{flex:1;overflow-y:auto;padding:20px}.global-controls{padding:16px;background:var(--surface);border-radius:8px;margin-bottom:20px;border:1px solid var(--border)}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500;color:var(--text-primary)}.research-tabs-container{margin-bottom:24px}.research-tab-section{background:var(--background);border:1px solid var(--border);border-radius:8px;margin-bottom:8px;overflow:hidden}.tab-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--surface);cursor:pointer;transition:background-color .2s}.tab-header:hover{background:var(--surface-hover)}.tab-header-left{display:flex;align-items:center;gap:8px}.tab-label{font-weight:600;color:var(--text-primary)}.field-count{color:var(--text-secondary);font-size:13px;font-weight:400}.tab-header-right{display:flex;align-items:center}.tab-fields{padding:12px;background:var(--background);max-height:400px;overflow-y:auto}.field-item{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;padding:10px;border-radius:6px;transition:background-color .2s}.field-item:hover{background:var(--surface)}.field-checkbox{display:flex;align-items:center}.field-info{flex:1;min-width:0}.field-name{font-weight:500;color:var(--text-primary);margin-bottom:4px}.field-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.source-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.source-badge.source-ai{background:var(--info-subtle, #dbeafe);color:var(--info-text, #1e40af)}.source-badge.source-user{background:var(--primary-subtle, #e0e7ff);color:var(--primary-text, #4338ca)}.updated-time{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:12px}.field-value{min-width:200px;max-width:300px}.field-display{display:flex;align-items:center;gap:8px}.field-display span{flex:1;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:4px;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-display .empty-value{color:var(--text-secondary);font-style:italic}.edit-field-btn{padding:4px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:all .2s}.edit-field-btn:hover{background:var(--border);color:var(--text-primary)}.field-edit{display:flex;gap:4px}.field-edit input{flex:1;padding:6px 10px;border:1px solid #3b82f6;border-radius:4px;font-size:13px;outline:none;background:var(--background);color:var(--text-primary)}.save-edit-btn{padding:6px 8px;background:#3b82f6;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.save-edit-btn:hover{background:#2563eb}.custom-fields-section{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:16px}.section-header{margin-bottom:16px}.section-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.custom-fields-list{margin-bottom:16px}.custom-field-item{display:flex;align-items:center;gap:12px;padding:10px;background:var(--surface);border-radius:6px;margin-bottom:8px}.custom-field-name{font-weight:500;color:var(--text-primary);min-width:150px}.custom-field-value{flex:1;color:var(--text-secondary);font-size:14px}.remove-custom-btn{padding:4px;background:transparent;border:none;color:#ef4444;cursor:pointer;border-radius:4px;transition:all .2s}.remove-custom-btn:hover{background:#fee2e2}.new-custom-field{display:flex;gap:8px;padding:12px;background:var(--surface);border-radius:6px;border:2px dashed var(--border)}.new-custom-field input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:4px;font-size:14px;outline:none;background:var(--background);color:var(--text-primary)}.new-custom-field input:focus{border-color:#3b82f6}.confirm-add-btn,.cancel-add-btn{padding:8px 12px;border:none;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.confirm-add-btn{background:#10b981;color:#fff}.confirm-add-btn:hover:not(:disabled){background:#059669}.confirm-add-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-add-btn{background:#ef4444;color:#fff}.cancel-add-btn:hover{background:#dc2626}.add-custom-field-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--background);border:2px dashed var(--border);border-radius:6px;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.add-custom-field-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-subtle, #eff6ff)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;background:var(--surface);border-top:1px solid var(--border)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal{background:var(--background);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.modal-close{padding:8px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--surface);color:var(--text-primary)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.settings-body::-webkit-scrollbar,.tab-fields::-webkit-scrollbar{width:8px}.settings-body::-webkit-scrollbar-track,.tab-fields::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}.settings-body::-webkit-scrollbar-thumb,.tab-fields::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.settings-body::-webkit-scrollbar-thumb:hover,.tab-fields::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width: 768px){.cheat-sheet-settings-modal{width:95vw;max-height:90vh}.field-item{grid-template-columns:24px 1fr}.field-value{grid-column:2;max-width:100%;margin-top:8px}.tab-header{flex-wrap:wrap;gap:8px}.new-custom-field{flex-direction:column}}@media (prefers-color-scheme: dark){.cheat-sheet-settings-modal{background:var(--background)}.global-controls{background:var(--surface);border-color:var(--border)}.checkbox-label{color:var(--text-primary)}.research-tab-section{background:var(--background);border-color:var(--border)}.tab-header{background:var(--surface);color:var(--text-primary)}.tab-header:hover{background:var(--surface-hover)}.tab-label{color:var(--text-primary)}.field-count{color:var(--text-secondary)}.tab-fields{background:var(--background)}.field-item:hover{background:var(--surface)}.field-name{color:var(--text-primary)}.updated-time{color:var(--text-secondary)}.field-display span{background:var(--surface);border-color:var(--border);color:var(--text-primary)}.field-display .empty-value,.edit-field-btn{color:var(--text-secondary)}.edit-field-btn:hover{background:var(--border);color:var(--text-primary)}.field-edit input{background:var(--background);color:var(--text-primary);border-color:#3b82f6}.custom-fields-section{background:var(--background);border-color:var(--border)}.section-header h3{color:var(--text-primary)}.custom-field-item{background:var(--surface)}.custom-field-name{color:var(--text-primary)}.custom-field-value{color:var(--text-secondary)}.new-custom-field{background:var(--surface);border-color:var(--border)}.new-custom-field input{background:var(--background);color:var(--text-primary);border-color:var(--border)}.new-custom-field input:focus{border-color:#3b82f6}.add-custom-field-btn{background:var(--background);border-color:var(--border);color:var(--text-secondary)}.add-custom-field-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-subtle, #1e3a5f)}.modal-footer{background:var(--surface);border-top-color:var(--border)}.modal{background:var(--background)}.modal-header{border-bottom-color:var(--border)}.modal-header h2{color:var(--text-primary)}.modal-close{color:var(--text-secondary)}.modal-close:hover{background:var(--surface);color:var(--text-primary)}.settings-body::-webkit-scrollbar-track{background:var(--surface)}.settings-body::-webkit-scrollbar-thumb{background:var(--border)}.settings-body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.tab-fields::-webkit-scrollbar-track{background:var(--surface)}.tab-fields::-webkit-scrollbar-thumb{background:var(--border)}.tab-fields::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}}.jurisdiction-cheat-sheet{position:fixed;width:400px;max-width:90vw;background:var(--background);border-radius:8px;box-shadow:0 4px 24px #0000001f;display:flex;flex-direction:column;z-index:1100;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.jurisdiction-cheat-sheet.minimized{height:auto}.cheat-sheet-header{padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);border-radius:8px 8px 0 0;display:flex;justify-content:space-between;align-items:center;cursor:move;-webkit-user-select:none;user-select:none}.cheat-sheet-title{display:flex;align-items:center;gap:8px}.drag-indicator{color:var(--text-secondary);transition:color .2s}.cheat-sheet-header:hover .drag-indicator{color:var(--text-primary)}.cheat-sheet-title h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.cheat-sheet-toolbar{display:flex;align-items:center;gap:4px}.toolbar-button{background:none;border:none;padding:6px;color:var(--text-secondary);border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.toolbar-button:hover{background-color:var(--border);color:var(--text-primary)}.toolbar-button.close-button:hover{background-color:#fee2e2;color:#991b1b}.toolbar-button.minimize-button{font-size:18px;font-weight:600;width:24px;height:24px;padding:0;line-height:1}.cheat-sheet-body{max-height:600px;overflow-y:auto;padding:16px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;max-height:0;padding:0 16px}to{opacity:1;max-height:600px;padding:16px}}.cheat-sheet-fields{display:flex;flex-direction:column;gap:12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-state p{margin:0 0 16px;color:var(--text-secondary);font-size:14px}.add-field-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.add-field-button:hover{background-color:#2563eb}.cheat-sheet-field-item{display:flex;gap:8px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;transition:all .2s;position:relative}.cheat-sheet-field-item:hover{background:var(--surface-hover);border-color:var(--border)}.cheat-sheet-field-item.dragging{opacity:.5;transform:scale(.98);background:#e0e7ff;border-color:#667eea}.field-drag-handle{display:flex;align-items:flex-start;padding-top:2px;color:var(--text-secondary);cursor:move;transition:color .2s}.field-drag-handle:hover{color:var(--text-primary)}.field-content{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.field-title-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.field-title{font-size:14px;font-weight:600;color:var(--text-primary);flex:1}.field-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.cheat-sheet-field-item:hover .field-actions{opacity:1}.field-action-button{background:none;border:none;padding:4px;color:var(--text-secondary);border-radius:3px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.field-action-button:hover{background:var(--border);color:var(--text-primary)}.field-action-button.save{color:#22c55e}.field-action-button.save:hover{background:#dcfce7;color:#16a34a}.field-action-button.cancel{color:#ef4444}.field-action-button.cancel:hover,.field-action-button.delete:hover{background:#fee2e2;color:#dc2626}.field-title-edit{display:flex;align-items:center;gap:4px;flex:1}.field-title-input{flex:1;padding:4px 8px;border:1px solid #3b82f6;border-radius:4px;font-size:14px;font-weight:600;font-family:inherit;outline:none;box-shadow:0 0 0 2px #3b82f61a;background:var(--background);color:var(--text-primary)}.field-value{font-size:14px;color:var(--text-secondary);line-height:1.5}.field-value-display{padding:6px 8px;border-radius:4px;cursor:text;transition:background-color .2s;min-height:24px;word-wrap:break-word;word-break:break-word;white-space:pre-wrap;line-height:1.5;max-width:100%;background:var(--surface);color:var(--text-primary)}.field-value-display:hover{background:var(--surface-hover)}.field-empty{color:var(--text-secondary);font-style:italic}.field-content-edit{display:flex;flex-direction:column;gap:8px}.field-content-textarea{width:100%;padding:8px;border:1px solid #3b82f6;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;outline:none;box-shadow:0 0 0 2px #3b82f61a;line-height:1.5;min-height:60px;background:var(--background);color:var(--text-primary)}.field-content-actions{display:flex;gap:4px;justify-content:flex-end}.cheat-sheet-body::-webkit-scrollbar{width:8px}.cheat-sheet-body::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}.cheat-sheet-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.cheat-sheet-body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width: 640px){.jurisdiction-cheat-sheet{width:calc(100vw - 32px);max-width:none;left:16px!important;right:16px!important}.cheat-sheet-body{max-height:400px}}.cheat-sheet-field-item[draggable=true]{cursor:move}.cheat-sheet-field-item.drag-over{border-top:3px solid #3b82f6;padding-top:9px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.cheat-sheet-field-item{animation:fadeIn .3s ease}.react-draggable-dragging .cheat-sheet-header{cursor:grabbing!important}.jurisdiction-cheat-sheet{z-index:1100}.react-draggable-dragging .jurisdiction-cheat-sheet{box-shadow:0 8px 32px #00000026;transform:scale(1.02)}.field-source-badge{animation:fadeIn .3s ease}.spin{animation:spin 1s linear infinite}.field-icon{display:flex;align-items:center;transition:color .2s}.cheat-sheet-field-item:hover .field-icon{color:var(--text-secondary)}.cheat-sheet-field-item.custom-field{background:linear-gradient(to right,var(--warning-subtle, #fef3c7) 0%,var(--surface) 8px)}.cheat-sheet-field-item.ai-field{background:linear-gradient(to right,var(--info-subtle, #e0e7ff) 0%,var(--surface) 8px)}.quick-add-field{animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.error-message{animation:shake .3s ease}.field-value-display.expandable{cursor:pointer}.field-value-display.expandable:hover{background:var(--surface-hover);box-shadow:inset 0 0 0 1px var(--border)}.cheat-sheet-field-item.drag-preview{position:fixed;pointer-events:none;z-index:10000;opacity:.8;transform:rotate(2deg)}.cheat-sheet-field-item.drop-indicator{position:relative}.cheat-sheet-field-item.drop-indicator:before{content:"";position:absolute;top:-2px;left:0;right:0;height:2px;background:#3b82f6;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-color-scheme: dark){.jurisdiction-cheat-sheet{background:var(--background)}.cheat-sheet-header{background:var(--surface);border-bottom-color:var(--border)}.cheat-sheet-title h3{color:var(--text-primary)}.drag-indicator{color:var(--text-secondary)}.cheat-sheet-header:hover .drag-indicator{color:var(--text-primary)}.toolbar-button{color:var(--text-secondary)}.toolbar-button:hover{background-color:var(--border);color:var(--text-primary)}.empty-state p{color:var(--text-secondary)}.cheat-sheet-field-item{background:var(--surface);border-color:var(--border)}.cheat-sheet-field-item:hover{background:var(--surface-hover);border-color:var(--border)}.field-drag-handle{color:var(--text-secondary)}.field-drag-handle:hover,.field-title{color:var(--text-primary)}.field-action-button{color:var(--text-secondary)}.field-action-button:hover{background:var(--border);color:var(--text-primary)}.field-value-display{background:var(--surface);color:var(--text-primary)}.field-value-display:hover{background:var(--surface-hover)}.field-empty{color:var(--text-secondary)}.field-title-input,.field-content-textarea{background:var(--background);color:var(--text-primary);border-color:#3b82f6}.cheat-sheet-body::-webkit-scrollbar-track{background:var(--surface)}.cheat-sheet-body::-webkit-scrollbar-thumb{background:var(--border)}.cheat-sheet-body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}}.deliverable-card{background:var(--background);border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:12px;cursor:pointer;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden;display:flex;height:100%}.deliverable-card:hover{box-shadow:0 4px 12px #00000026}.deliverable-card.draggable{cursor:grab}.deliverable-card.draggable:active{cursor:grabbing}.deliverable-card.compact{padding:8px}.deliverable-card.overdue{border-left:3px solid #ef4444}.priority-indicator{width:4px;min-height:100%;margin-right:12px;border-radius:2px;flex-shrink:0}.priority-indicator.priority-gray{background:#9ca3af}.priority-indicator.priority-blue{background:#3b82f6}.priority-indicator.priority-orange{background:#f97316}.priority-indicator.priority-red{background:#ef4444}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.deliverable-type{font-weight:600;font-size:14px;color:var(--text-primary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:12px;white-space:nowrap;flex-shrink:0}.site-info{font-size:13px;margin-bottom:4px}.site-identifier{color:var(--text-secondary);font-size:12px;margin-left:4px}.jurisdiction-info{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.deadline-info{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.deadline-info.overdue{color:#ef4444;font-weight:500}.deadline-indicator{display:inline-flex;align-items:center;gap:4px}.deadline-indicator.overdue{color:#ef4444}.deadline-icon{font-weight:700}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.assignee-info{font-size:12px}.assignee-name{display:inline-flex;align-items:center;gap:6px;color:var(--text-primary)}.assignee-avatar{width:20px;height:20px;border-radius:50%;background:var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--text-secondary)}.card-meta{display:flex;align-items:center;gap:8px}.priority-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase}.submission-count{font-size:11px;color:var(--text-secondary);background:var(--hover-bg);padding:2px 6px;border-radius:4px}.blocked-indicator{margin-top:8px;padding:6px 8px;background:#fef2f2;border:1px solid #fee2e2;border-radius:4px;font-size:12px;color:#b91c1c;display:flex;align-items:center;gap:6px}.blocked-icon{width:16px;height:16px;background:#ef4444;color:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.blocked-reason{font-style:italic;color:#7f1d1d}.progress-ring{display:block}.progress-ring-background{transition:stroke .3s}.progress-ring-progress{transition:stroke-dashoffset .5s ease-in-out}.progress-ring-text{font-size:10px;font-weight:600;fill:var(--text-primary)}.deliverable-card.compact .card-header{margin-bottom:4px}.deliverable-card.compact .deliverable-type{font-size:13px}.deliverable-card.compact .status-badge{font-size:10px;padding:1px 6px}:root.dark .deliverable-card{background:#1f2937;box-shadow:0 1px 3px #0000004d}:root.dark .deliverable-card:hover{box-shadow:0 4px 12px #0006}:root.dark .deliverable-type{color:#f9fafb}:root.dark .site-identifier{color:var(--text-muted)}:root.dark .jurisdiction-info{color:var(--text-muted)}:root.dark .deadline-info{color:var(--text-muted)}:root.dark .deadline-info.overdue{color:#f87171}:root.dark .deadline-indicator.overdue{color:#f87171}:root.dark .card-footer{border-top-color:#374151}:root.dark .submission-count{background:#374151;color:var(--text-muted)}:root.dark .blocked-indicator{background:#ef444426;border-color:#ef44444d;color:#f87171}:root.dark .blocked-icon{background:#ef4444}:root.dark .blocked-reason{color:#fca5a5}:root.dark .progress-ring-text{fill:#d1d5db}.kanban-board{display:flex;gap:16px;padding:16px;overflow-x:auto;min-height:calc(100vh - 200px)}.kanban-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;gap:16px;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.kanban-column{flex:0 0 300px;background:var(--surface);border-radius:8px;display:flex;flex-direction:column;max-height:calc(100vh - 240px);transition:background-color .2s,box-shadow .2s}.kanban-column.drop-target{background:var(--hover-bg)}.kanban-column.drag-over{background:#dbeafe;box-shadow:inset 0 0 0 2px #3b82f6}.column-header{padding:12px 16px;border-bottom:2px solid;border-radius:8px 8px 0 0}.column-header.status-gray{background:var(--surface);border-color:#9ca3af}.column-header.status-blue{background:#eff6ff;border-color:#3b82f6}.column-header.status-yellow{background:#fffbeb;border-color:#f59e0b}.column-header.status-orange{background:#fff7ed;border-color:#f97316}.column-header.status-green{background:#f0fdf4;border-color:#10b981}.column-header.status-red{background:#fef2f2;border-color:#ef4444}.column-header.status-purple{background:#faf5ff;border-color:#8b5cf6}.column-title{display:flex;align-items:center;gap:8px}.column-name{font-weight:600;font-size:14px;color:var(--text-primary)}.column-count{background:var(--background);padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;color:var(--text-secondary);box-shadow:0 1px 2px #0000000d}.column-alerts{display:flex;gap:8px;margin-top:8px}.alert-badge{font-size:11px;padding:2px 6px;border-radius:4px}.alert-badge.overdue{background:#fee2e2;color:#b91c1c}.alert-badge.high-priority{background:#ffedd5;color:#c2410c}.column-content{flex:1;overflow-y:auto;padding:12px}.empty-column{display:flex;align-items:center;justify-content:center;padding:32px 16px;color:var(--text-muted);font-size:13px;font-style:italic;border:2px dashed var(--border);border-radius:8px;margin:8px}.kanban-secondary{display:flex;flex-direction:column;gap:16px;flex:0 0 250px}.secondary-column{background:var(--surface);border-radius:8px;overflow:hidden}.secondary-column .column-content{max-height:200px}.secondary-column.on-hold{border-left:3px solid #8b5cf6}.secondary-column.rejected{border-left:3px solid #ef4444}.column-content::-webkit-scrollbar{width:6px}.column-content::-webkit-scrollbar-track{background:transparent}.column-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.column-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width: 1200px){.kanban-column{flex:0 0 260px}}@media (max-width: 768px){.kanban-board{flex-direction:column;padding:12px}.kanban-column{flex:none;width:100%;max-height:400px}.kanban-secondary{flex-direction:row;flex:none;width:100%}.secondary-column{flex:1}}:root.dark .kanban-loading{color:var(--text-muted)}:root.dark .kanban-column{background:#111827}:root.dark .kanban-column.drop-target{background:#1f2937}:root.dark .kanban-column.drag-over{background:#3b82f626;box-shadow:inset 0 0 0 2px #3b82f6}:root.dark .column-header.status-gray{background:#1f2937;border-color:#6b7280}:root.dark .column-header.status-blue{background:#3b82f626;border-color:#3b82f6}:root.dark .column-header.status-yellow{background:#f59e0b26;border-color:#f59e0b}:root.dark .column-header.status-orange{background:#f9731626;border-color:#f97316}:root.dark .column-header.status-green{background:#22c55e26;border-color:#10b981}:root.dark .column-header.status-red{background:#ef444426;border-color:#ef4444}:root.dark .column-header.status-purple{background:#8b5cf626;border-color:#8b5cf6}:root.dark .column-name{color:#f9fafb}:root.dark .column-count{background:#1f2937;color:#d1d5db;box-shadow:0 1px 2px #0003}:root.dark .alert-badge.overdue{background:#ef444426;color:#f87171}:root.dark .alert-badge.high-priority{background:#f9731626;color:#fb923c}:root.dark .empty-column{color:var(--text-secondary);border-color:#374151}:root.dark .secondary-column{background:#111827}:root.dark .secondary-column.on-hold{border-left-color:#8b5cf6}:root.dark .secondary-column.rejected{border-left-color:#ef4444}:root.dark .column-content::-webkit-scrollbar-thumb{background:#4b5563}:root.dark .column-content::-webkit-scrollbar-thumb:hover{background:#6b7280}.deliverables-list{display:flex;flex-direction:column;height:100%}.list-filters{display:flex;align-items:center;gap:16px;padding:16px;background:var(--background);border-bottom:1px solid var(--border);flex-wrap:wrap}.search-box{flex:1;min-width:200px;max-width:320px}.search-input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-group{display:flex;align-items:center;gap:12px}.filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--background);cursor:pointer;outline:none}.filter-select:focus{border-color:#3b82f6}.filter-checkbox{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-primary);cursor:pointer}.filter-checkbox input{cursor:pointer}.list-summary{margin-left:auto;font-size:13px;color:var(--text-secondary)}.list-loading,.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;color:var(--text-secondary)}.table-container{flex:1;overflow:auto}.deliverables-table{width:100%;border-collapse:collapse;font-size:14px}.deliverables-table th{background:var(--surface);padding:12px 16px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:10}.deliverables-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.deliverables-table th.sortable:hover{background:var(--hover-bg)}.sort-indicator{margin-left:4px;font-size:10px;color:var(--text-secondary)}.deliverables-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.deliverables-table tbody tr{cursor:pointer;transition:background-color .15s}.deliverables-table tbody tr:hover{background:var(--surface)}.deliverables-table tbody tr.overdue{background:#fef2f2}.deliverables-table tbody tr.overdue:hover{background:#fee2e2}.deliverables-table tbody tr.blocked{background:#fefce8}.deliverables-table tbody tr.blocked:hover{background:#fef9c3}.type-cell .type-name{font-weight:500;color:var(--text-primary)}.type-cell .type-category{font-size:12px;color:var(--text-secondary);margin-top:2px}.site-cell .site-link{color:#3b82f6;text-decoration:none;font-weight:500}.site-cell .site-link:hover{text-decoration:underline}.site-cell .jurisdiction-name{font-size:12px;color:var(--text-secondary);margin-top:2px}.status-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:500}.blocked-badge{display:inline-block;margin-left:6px;padding:2px 6px;background:#fef3c7;color:#b45309;border-radius:4px;font-size:11px;font-weight:500}.priority-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:500}.priority-badge.priority-red{background:#fee2e2;color:#b91c1c}.deadline-cell{white-space:nowrap}.deadline-cell.overdue{color:#b91c1c;font-weight:500}.assignee{display:flex;align-items:center;gap:8px}.assignee-avatar{width:24px;height:24px;border-radius:50%;background:var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--text-secondary)}.assignee-name{color:var(--text-primary)}.unassigned{color:var(--text-muted);font-style:italic}.updated-cell{color:var(--text-secondary);white-space:nowrap}@media (max-width: 1024px){.list-filters{flex-direction:column;align-items:stretch}.search-box{max-width:none}.filter-group{flex-wrap:wrap}.list-summary{margin-left:0;margin-top:8px}}@media (max-width: 768px){.deliverables-table th,.deliverables-table td{padding:8px 12px}.deliverables-table th:nth-child(n+5),.deliverables-table td:nth-child(n+5){display:none}}:root.dark .list-filters{background:#1f2937;border-bottom-color:#374151}:root.dark .search-input{background:#111827;border-color:#374151;color:#f9fafb}:root.dark .search-input::placeholder{color:var(--text-secondary)}:root.dark .search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}:root.dark .filter-select{background:#111827;border-color:#374151;color:#f9fafb}:root.dark .filter-select:focus{border-color:#3b82f6}:root.dark .filter-checkbox{color:#d1d5db}:root.dark .list-summary{color:var(--text-muted)}:root.dark .list-loading,:root.dark .list-empty{color:var(--text-muted)}:root.dark .deliverables-table th{background:#111827;color:#d1d5db;border-bottom-color:#374151}:root.dark .deliverables-table th.sortable:hover{background:#1f2937}:root.dark .sort-indicator{color:var(--text-muted)}:root.dark .deliverables-table td{border-bottom-color:#374151}:root.dark .deliverables-table tbody tr:hover{background:#1f2937}:root.dark .deliverables-table tbody tr.overdue{background:#ef444426}:root.dark .deliverables-table tbody tr.overdue:hover{background:#ef444433}:root.dark .deliverables-table tbody tr.blocked{background:#f59e0b26}:root.dark .deliverables-table tbody tr.blocked:hover{background:#f59e0b33}:root.dark .type-cell .type-name{color:#f9fafb}:root.dark .type-cell .type-category{color:var(--text-muted)}:root.dark .site-cell .site-link{color:#60a5fa}:root.dark .site-cell .jurisdiction-name{color:var(--text-muted)}:root.dark .status-badge.status-gray{background:#9ca3af26;color:var(--text-muted)}:root.dark .priority-badge.priority-gray{background:#9ca3af26;color:var(--text-muted)}:root.dark .deadline-cell.overdue{color:#f87171}:root.dark .assignee-avatar{background:#374151;color:#d1d5db}:root.dark .assignee-name{color:#d1d5db}:root.dark .updated-cell{color:var(--text-muted)}.deliverables-calendar{display:flex;flex-direction:column;padding:16px;background:var(--background);border-radius:8px}.calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.calendar-nav{display:flex;align-items:center;gap:16px}.nav-button{width:32px;height:32px;border:1px solid var(--border);background:var(--background);border-radius:6px;cursor:pointer;font-size:16px;color:var(--text-primary);transition:all .15s}.nav-button:hover{background:var(--hover-bg);border-color:#9ca3af}.month-year{font-size:18px;font-weight:600;color:var(--text-primary);min-width:180px;text-align:center}.today-button{padding:6px 16px;border:1px solid #3b82f6;background:var(--background);color:#3b82f6;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.today-button:hover{background:#3b82f6;color:#fff}.calendar-grid{flex:1}.day-headers{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border);margin-bottom:8px}.day-header{padding:8px;text-align:center;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{min-height:80px;padding:8px;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s;background:var(--background)}.calendar-day:hover{background:var(--surface);border-color:#d1d5db}.calendar-day.other-month{background:var(--surface);opacity:.5}.calendar-day.today{border-color:#3b82f6;background:#eff6ff}.calendar-day.today .day-number{background:#3b82f6;color:#fff;border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.calendar-day.past{background:var(--surface)}.calendar-day.selected{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.calendar-day.has-overdue{background:#fef2f2}.day-number{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.day-deliverables{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.deliverable-dot{width:10px;height:10px;border-radius:50%;cursor:pointer;transition:transform .15s}.deliverable-dot:hover{transform:scale(1.3)}.deliverable-dot.priority-red{background:#ef4444}.deliverable-dot.priority-orange{background:#f97316}.deliverable-dot.priority-blue{background:#3b82f6}.deliverable-dot.priority-gray{background:#9ca3af}.deliverable-dot.status-green{border:2px solid #10b981}.more-indicator{font-size:10px;color:var(--text-secondary);padding:1px 4px;background:var(--hover-bg);border-radius:4px}.date-detail-panel{margin-top:16px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.panel-header h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.close-button{width:24px;height:24px;border:none;background:transparent;font-size:18px;color:var(--text-secondary);cursor:pointer;border-radius:4px}.close-button:hover{background:#e5e7eb;color:var(--text-primary)}.deliverables-calendar .panel-content{max-height:300px;overflow-y:auto}.deliverable-item{display:flex;padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background-color .15s}.deliverable-item:hover{background:var(--surface)}.deliverable-item:last-child{border-bottom:none}.priority-bar{width:4px;border-radius:2px;margin-right:12px}.priority-bar.priority-red{background:#ef4444}.priority-bar.priority-orange{background:#f97316}.priority-bar.priority-blue{background:#3b82f6}.priority-bar.priority-gray{background:#9ca3af}.item-content{flex:1}.item-type{font-weight:500;color:var(--text-primary);margin-bottom:2px}.item-site{font-size:13px;color:var(--text-secondary);margin-bottom:6px}.item-meta{display:flex;align-items:center;gap:8px}.item-meta .status-badge{font-size:11px;padding:2px 6px;border-radius:4px}.item-meta .assignee{font-size:12px;color:var(--text-secondary)}.calendar-legend{display:flex;justify-content:center;gap:24px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.priority-red{background:#ef4444}.legend-dot.priority-orange{background:#f97316}.legend-dot.priority-blue{background:#3b82f6}.legend-dot.priority-gray{background:#9ca3af}@media (max-width: 768px){.calendar-day{min-height:60px;padding:4px}.day-number{font-size:12px}.calendar-legend{flex-wrap:wrap;gap:12px}}:root.dark .deliverables-calendar{background:#1f2937}:root.dark .calendar-loading{color:#9ca3af}:root.dark .loading-spinner{border-color:#374151;border-top-color:#3b82f6}:root.dark .calendar-header{border-bottom-color:#374151}:root.dark .nav-button{background:#111827;border-color:#374151;color:#d1d5db}:root.dark .nav-button:hover{background:#1f2937;border-color:#4b5563}:root.dark .month-year{color:#f9fafb}:root.dark .today-button{background:#111827;border-color:#3b82f6;color:#60a5fa}:root.dark .today-button:hover{background:#3b82f6;color:#fff}:root.dark .day-headers{border-bottom-color:#374151}:root.dark .day-header{color:#9ca3af}:root.dark .calendar-day{background:#111827;border-color:#374151}:root.dark .calendar-day:hover{background:#1f2937;border-color:#4b5563}:root.dark .calendar-day.other-month{background:#0d1117}:root.dark .calendar-day.today{border-color:#3b82f6;background:#3b82f626}:root.dark .calendar-day.past{background:#0d1117}:root.dark .calendar-day.selected{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}:root.dark .calendar-day.has-overdue{background:#ef444426}:root.dark .day-number{color:#d1d5db}:root.dark .more-indicator{background:#374151;color:#9ca3af}:root.dark .date-detail-panel{border-color:#374151}:root.dark .panel-header{background:#111827;border-bottom-color:#374151}:root.dark .panel-header h3{color:#f9fafb}:root.dark .close-button{color:#9ca3af}:root.dark .deliverable-item{border-bottom-color:#374151}:root.dark .deliverable-item:hover{background:#1f2937}:root.dark .item-type{color:#f9fafb}:root.dark .item-site{color:#9ca3af}:root.dark .status-badge.status-gray{background:#9ca3af26;color:#9ca3af}:root.dark .item-meta .assignee{color:#9ca3af}:root.dark .calendar-legend{border-top-color:#374151}:root.dark .legend-item{color:#9ca3af}.source-badge{display:inline-flex;align-items:center;gap:4px;font-weight:500;border-radius:9999px;white-space:nowrap}.source-badge.size-xs{font-size:10px;padding:2px 6px}.source-badge.size-sm{font-size:11px;padding:3px 8px}.source-badge.size-md{font-size:12px;padding:4px 10px}.source-icon{font-size:inherit;line-height:1}.source-label{line-height:1}.source-badge.source-gray{background:#f3f4f6;color:#4b5563}.source-badge.source-blue{background:#dbeafe;color:#1d4ed8}.source-badge.source-orange{background:#ffedd5;color:#c2410c}.source-badge.source-purple{background:#ede9fe;color:#7c3aed}.source-badge.source-green{background:#dcfce7;color:#15803d}.source-badge.source-teal{background:#ccfbf1;color:#0f766e}:root.dark .source-badge.source-gray{background:#9ca3af33;color:#9ca3af}:root.dark .source-badge.source-blue{background:#3b82f633;color:#60a5fa}:root.dark .source-badge.source-orange{background:#f9731633;color:#fb923c}:root.dark .source-badge.source-purple{background:#8b5cf633;color:#a78bfa}:root.dark .source-badge.source-green{background:#22c55e33;color:#4ade80}:root.dark .source-badge.source-teal{background:#14b8a633;color:#2dd4bf}.link-document-modal-content{display:flex;flex-direction:column;gap:16px;padding:16px 0}.search-filter-bar{display:flex;gap:12px}.source-filter{min-width:140px;padding:8px 12px;font-size:14px;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s}.source-filter:focus{outline:none;border-color:var(--primary)}.documents-list{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto;padding:4px;margin:-4px}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-secondary);text-align:center}.loading-state{flex-direction:row;gap:8px;padding:32px}.document-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px;background:var(--surface);border:2px solid transparent;border-radius:8px;cursor:pointer;text-align:left;transition:all .15s}.document-item:hover{background:var(--hover-bg)}.document-item.selected{border-color:var(--primary);background:#3b82f60d}.document-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--hover-bg);border-radius:8px;color:var(--text-secondary);flex-shrink:0}.document-info{flex:1;min-width:0}.document-title{font-weight:500;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-meta{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px;color:var(--text-secondary)}.document-category,.document-date{color:var(--text-tertiary)}.selected-indicator{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--primary);border-radius:50%;color:#fff;flex-shrink:0}.link-notes-section{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.notes-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.notes-textarea{width:100%;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:8px;resize:vertical;min-height:60px;transition:border-color .15s,box-shadow .15s}.notes-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.notes-textarea::placeholder{color:var(--text-tertiary)}:root.dark .source-filter{background:#1f2937;border-color:#374151;color:#f9fafb}:root.dark .source-filter:focus{border-color:#60a5fa}:root.dark .document-item{background:#1f2937}:root.dark .document-item:hover{background:#374151}:root.dark .document-item.selected{border-color:#60a5fa;background:#60a5fa1a}:root.dark .document-icon{background:#374151;color:#9ca3af}:root.dark .document-title{color:#f9fafb}:root.dark .document-meta{color:#9ca3af}:root.dark .selected-indicator{background:#60a5fa}:root.dark .link-notes-section{border-top-color:#374151}:root.dark .notes-label{color:#9ca3af}:root.dark .notes-textarea{background:#1f2937;border-color:#374151;color:#f9fafb}:root.dark .notes-textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa26}:root.dark .notes-textarea::placeholder{color:#6b7280}@media (max-width: 480px){.search-filter-bar{flex-direction:column}.source-filter{width:100%}}.deliverable-attachments{display:flex;flex-direction:column;gap:16px}.attachments-actions{display:flex;gap:8px}.upload-error{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#dc2626;font-size:13px}.upload-error button{margin-left:auto;background:none;border:none;color:inherit;font-size:18px;cursor:pointer;padding:0;line-height:1}.attachments-list{display:flex;flex-direction:column;gap:8px}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:var(--text-secondary);text-align:center}.loading-state{flex-direction:row;gap:8px;padding:24px}.empty-state p{margin:12px 0 4px;font-weight:500;color:var(--text-primary)}.empty-state span{font-size:13px}.attachment-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;transition:border-color .15s,box-shadow .15s}.attachment-item:hover{border-color:var(--border-dark);box-shadow:0 2px 4px #0000000d}.attachment-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--hover-bg);border-radius:8px;color:var(--text-secondary);flex-shrink:0}.attachment-info{flex:1;min-width:0}.attachment-name{font-weight:500;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-meta{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px;color:var(--text-secondary)}.file-size,.attachment-type{color:var(--text-tertiary)}.attachment-notes{margin-top:6px;font-size:12px;color:var(--text-secondary);font-style:italic}.attachment-actions{display:flex;gap:4px;flex-shrink:0}.action-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.action-button:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary)}.action-button.download:hover:not(:disabled){color:var(--primary)}.action-button.remove:hover:not(:disabled){color:#dc2626;background:#ef44441a}.action-button:disabled{opacity:.5;cursor:not-allowed}.suggested-documents{margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.suggested-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:600;color:var(--text-secondary)}.suggested-header svg{color:#eab308}.suggested-list{display:flex;flex-direction:column;gap:8px}.suggested-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--hover-bg);border-radius:8px}.suggested-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--surface);border-radius:6px;color:var(--text-secondary);flex-shrink:0}.suggested-info{flex:1;min-width:0}.suggested-name{font-weight:500;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggested-meta{display:flex;align-items:center;gap:8px;margin-top:2px}.match-reason{font-size:11px;color:var(--text-tertiary)}.link-button{display:flex;align-items:center;gap:4px;padding:6px 10px;font-size:12px;font-weight:500;color:var(--primary);background:var(--surface);border:1px solid var(--primary);border-radius:6px;cursor:pointer;transition:all .15s;white-space:nowrap}.link-button:hover:not(:disabled){background:var(--primary);color:#fff}.link-button:disabled{opacity:.5;cursor:not-allowed}:root.dark .upload-error{background:#ef444426;border-color:#ef44444d;color:#f87171}:root.dark .attachment-item{background:#1f2937;border-color:#374151}:root.dark .attachment-item:hover{border-color:#4b5563;box-shadow:0 2px 4px #0003}:root.dark .attachment-icon{background:#374151;color:#9ca3af}:root.dark .attachment-name{color:#f9fafb}:root.dark .attachment-meta{color:#9ca3af}:root.dark .action-button:hover:not(:disabled){background:#374151;color:#f9fafb}:root.dark .action-button.download:hover:not(:disabled){color:#60a5fa}:root.dark .action-button.remove:hover:not(:disabled){color:#f87171;background:#ef444426}:root.dark .suggested-documents{border-top-color:#374151}:root.dark .suggested-header{color:#9ca3af}:root.dark .suggested-item{background:#374151}:root.dark .suggested-icon{background:#1f2937;color:#9ca3af}:root.dark .suggested-name{color:#f9fafb}:root.dark .link-button{background:#1f2937;border-color:#60a5fa;color:#60a5fa}:root.dark .link-button:hover:not(:disabled){background:#60a5fa;color:#111827}@media (max-width: 480px){.attachment-item{flex-wrap:wrap}.attachment-actions{width:100%;justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.deliverable-detail-modal{background:var(--background);border-radius:12px;width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--border)}.header-content{flex:1}.deliverable-title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.header-meta{display:flex;align-items:center;gap:8px;font-size:14px}.site-link{color:#3b82f6;text-decoration:none;font-weight:500}.site-link:hover{text-decoration:underline}.jurisdiction{color:var(--text-secondary)}.jurisdiction:before{content:"•";margin-right:8px}.close-button{width:32px;height:32px;border:none;background:transparent;font-size:24px;color:var(--text-secondary);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center}.close-button:hover{background:var(--hover-bg);color:var(--text-primary)}.status-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.status-info{display:flex;align-items:center;gap:8px}.status-badge,.priority-badge,.overdue-badge,.blocked-badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.status-badge.status-gray{background:var(--hover-bg);color:var(--text-secondary)}.status-badge.status-blue{background:#dbeafe;color:#1d4ed8}.status-badge.status-yellow{background:#fef3c7;color:#b45309}.status-badge.status-orange{background:#ffedd5;color:#c2410c}.status-badge.status-green{background:#d1fae5;color:#047857}.status-badge.status-red{background:#fee2e2;color:#b91c1c}.status-badge.status-purple{background:#ede9fe;color:#6d28d9}.priority-badge.priority-gray{background:var(--hover-bg);color:var(--text-secondary)}.priority-badge.priority-blue{background:#dbeafe;color:#1d4ed8}.priority-badge.priority-orange{background:#ffedd5;color:#c2410c}.priority-badge.priority-red,.overdue-badge{background:#fee2e2;color:#b91c1c}.blocked-badge{background:#fef3c7;color:#b45309}.deadline-info .deadline{font-size:13px;color:var(--text-secondary)}.deadline-info .deadline.overdue{color:#dc2626;font-weight:500}.modal-tabs{display:flex;padding:0 24px;border-bottom:1px solid var(--border)}.tab-button{padding:12px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6}.modal-content{flex:1;overflow-y:auto;padding:20px 24px}.details-view{display:flex;flex-direction:column;gap:20px}.detail-section{border-bottom:1px solid var(--hover-bg);padding-bottom:16px}.detail-section:last-of-type{border-bottom:none}.detail-section h3{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;margin:0 0 12px}.detail-section.rejection h3{color:#dc2626}.detail-section.blocked h3{color:#b45309}.detail-row{display:flex;justify-content:space-between;margin-bottom:8px}.detail-label{color:var(--text-secondary);font-size:14px}.detail-value{color:var(--text-primary);font-size:14px;font-weight:500}.detail-value.overdue{color:#dc2626}.unassigned{color:var(--text-muted);font-style:italic;font-weight:400}.instructions-text,.notes-text,.rejection-text,.blocked-text{font-size:14px;color:var(--text-primary);line-height:1.5;margin:0;white-space:pre-wrap}.rejection-text{color:#b91c1c}.blocked-text{color:#92400e}.edit-button{margin-top:16px;align-self:flex-start}.edit-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--text-primary)}.form-group select,.form-group input,.form-group textarea{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;outline:none}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.versions-list{display:flex;flex-direction:column;gap:16px}.version-item{padding:16px;background:var(--surface);border-radius:8px;border-left:3px solid var(--border)}.version-item:has(.review-status.approved){border-left-color:#10b981}.version-item:has(.review-status.rejected){border-left-color:#ef4444}.version-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.version-number{font-weight:600;color:var(--text-primary)}.review-status{font-size:12px;padding:2px 8px;border-radius:4px}.review-status.pending{background:#fef3c7;color:#b45309}.review-status.approved{background:#d1fae5;color:#047857}.review-status.rejected{background:#fee2e2;color:#b91c1c}.review-status.needs_revision{background:#ffedd5;color:#c2410c}.version-meta{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.version-notes,.review-notes{font-size:14px;color:var(--text-primary);margin:8px 0 0}.review-notes{background:var(--background);padding:8px 12px;border-radius:6px;border:1px solid var(--border)}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--hover-bg)}.activity-item:last-child{border-bottom:none}.activity-icon{width:24px;height:24px;background:var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-secondary);flex-shrink:0}.activity-content{flex:1}.activity-description{font-size:14px;color:var(--text-primary);margin-bottom:4px}.activity-meta{display:flex;gap:8px;font-size:12px;color:var(--text-secondary)}.actor{font-weight:500}.empty-state{display:flex;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-secondary)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--surface)}@media (max-width: 640px){.modal-overlay{padding:0;align-items:flex-end}.deliverable-detail-modal{max-width:none;border-radius:12px 12px 0 0;max-height:85vh}.status-bar{flex-direction:column;gap:8px;align-items:flex-start}.modal-tabs{overflow-x:auto}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}:root.dark .modal-overlay{background:#000000b3}:root.dark .deliverable-detail-modal{background:#1f2937;box-shadow:0 20px 40px #0006}:root.dark .modal-header{border-bottom-color:#374151}:root.dark .deliverable-title{color:#f9fafb}:root.dark .site-link{color:#60a5fa}:root.dark .jurisdiction{color:var(--text-muted)}:root.dark .close-button{color:var(--text-muted)}:root.dark .close-button:hover{background:#374151;color:#f9fafb}:root.dark .status-bar{background:#111827;border-bottom-color:#374151}:root.dark .status-badge.status-gray{background:#374151;color:var(--text-muted)}:root.dark .status-badge.status-blue{background:#3b82f626;color:#60a5fa}:root.dark .status-badge.status-yellow{background:#f59e0b26;color:#fbbf24}:root.dark .status-badge.status-orange{background:#f9731626;color:#fb923c}:root.dark .status-badge.status-green{background:#22c55e26;color:#4ade80}:root.dark .status-badge.status-red{background:#ef444426;color:#f87171}:root.dark .status-badge.status-purple{background:#8b5cf626;color:#a78bfa}:root.dark .priority-badge.priority-gray{background:#374151;color:var(--text-muted)}:root.dark .priority-badge.priority-blue{background:#3b82f626;color:#60a5fa}:root.dark .priority-badge.priority-orange{background:#f9731626;color:#fb923c}:root.dark .priority-badge.priority-red{background:#ef444426;color:#f87171}:root.dark .overdue-badge{background:#ef444426;color:#f87171}:root.dark .blocked-badge{background:#f59e0b26;color:#fbbf24}:root.dark .deadline-info .deadline{color:var(--text-muted)}:root.dark .deadline-info .deadline.overdue{color:#f87171}:root.dark .modal-tabs{border-bottom-color:#374151}:root.dark .tab-button{color:var(--text-muted)}:root.dark .tab-button:hover{color:#d1d5db}:root.dark .tab-button.active{color:#60a5fa;border-bottom-color:#3b82f6}:root.dark .detail-section{border-bottom-color:#374151}:root.dark .detail-section h3{color:var(--text-muted)}:root.dark .detail-section.rejection h3{color:#f87171}:root.dark .detail-section.blocked h3{color:#fbbf24}:root.dark .detail-label{color:var(--text-muted)}:root.dark .detail-value{color:#d1d5db}:root.dark .detail-value.overdue{color:#f87171}:root.dark .unassigned{color:var(--text-secondary)}:root.dark .instructions-text,:root.dark .notes-text{color:#d1d5db}:root.dark .rejection-text{color:#f87171}:root.dark .blocked-text{color:#fbbf24}:root.dark .form-group label{color:#d1d5db}:root.dark .form-group select,:root.dark .form-group input,:root.dark .form-group textarea{background:#111827;border-color:#374151;color:#f9fafb}:root.dark .form-group select:focus,:root.dark .form-group input:focus,:root.dark .form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}:root.dark .version-item{background:#111827;border-left-color:#374151}:root.dark .version-number{color:#f9fafb}:root.dark .review-status.pending{background:#f59e0b26;color:#fbbf24}:root.dark .review-status.approved{background:#22c55e26;color:#4ade80}:root.dark .review-status.rejected{background:#ef444426;color:#f87171}:root.dark .review-status.needs_revision{background:#f9731626;color:#fb923c}:root.dark .version-meta{color:var(--text-muted)}:root.dark .version-notes,:root.dark .review-notes{color:#d1d5db}:root.dark .review-notes{background:#1f2937;border-color:#374151}:root.dark .activity-item{border-bottom-color:#374151}:root.dark .activity-icon{background:#374151;color:var(--text-muted)}:root.dark .activity-description{color:#d1d5db}:root.dark .activity-meta{color:var(--text-muted)}:root.dark .empty-state{color:var(--text-muted)}:root.dark .modal-actions{border-top-color:#374151;background:#111827}.site-selector{display:flex;flex-direction:column;height:100%;background:var(--background);border:1px solid var(--border);border-radius:10px;overflow:hidden}.selector-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--surface);border-bottom:1px solid var(--border)}.selection-summary{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary)}.selection-summary svg{color:#8b5cf6}.selection-actions{display:flex;align-items:center;gap:8px}.action-link{background:none;border:none;color:#8b5cf6;font-size:13px;cursor:pointer;transition:color .2s}.action-link:hover{color:#7c3aed;text-decoration:underline}.selection-actions .divider{color:var(--border)}.selector-toolbar{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.selector-toolbar .search-box{display:flex;align-items:center;gap:8px;flex:1;padding:8px 12px;background:var(--background);border:1px solid var(--border);border-radius:8px}.selector-toolbar .search-box input{flex:1;border:none;outline:none;font-size:14px}.selector-toolbar .search-box svg{color:var(--text-muted)}.selector-toolbar .clear-btn{padding:4px;background:none;border:none;color:var(--text-muted);cursor:pointer}.selector-toolbar .search-btn{padding:6px 12px;background-color:#8b5cf6;border:none;border-radius:4px;color:#fff;font-size:13px;font-weight:500;cursor:pointer}.selector-toolbar .search-btn:hover{background-color:#7c3aed}.filter-toggle{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--background);border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.filter-toggle:hover{border-color:var(--border)}.filter-toggle.active{background-color:var(--hover-bg);border-color:var(--border)}.filter-toggle.has-filters{border-color:#8b5cf6;color:#8b5cf6}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background-color:#8b5cf6;color:#fff;border-radius:9px;font-size:11px;font-weight:600}.filter-panel{padding:12px 16px;background-color:var(--surface);border-bottom:1px solid var(--border)}.filter-row{display:flex;gap:16px;flex-wrap:wrap}.filter-group{flex:1;min-width:150px}.filter-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.filter-group select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--background)}.clear-filters-btn{margin-top:12px;padding:6px 12px;background:none;border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text-secondary);cursor:pointer}.clear-filters-btn:hover{background-color:var(--background)}.site-list{flex:1;overflow-y:auto;padding:8px}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;color:var(--text-secondary)}.empty-state svg{opacity:.5}.clear-filters-link{background:none;border:none;color:#8b5cf6;font-size:13px;cursor:pointer;margin-top:4px}.states-list{display:flex;flex-direction:column;gap:4px}.state-group{border:1px solid var(--border);border-radius:8px;overflow:hidden}.state-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background-color:var(--surface);border-bottom:1px solid transparent}.state-group:has(.sites-in-state) .state-header{border-bottom-color:#e5e7eb}.expand-btn{padding:2px;background:none;border:none;color:var(--text-secondary);cursor:pointer}.state-checkbox{padding:2px;background:none;border:none;color:var(--text-muted);cursor:pointer}.state-checkbox.checked{color:#8b5cf6}.state-checkbox .partial-indicator{width:14px;height:14px;border:2px solid #8b5cf6;border-radius:3px;position:relative}.state-checkbox .partial-indicator:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:2px;background-color:#8b5cf6}.state-name{flex:1;font-weight:600;font-size:14px;color:var(--text-primary)}.state-count{font-size:12px;color:var(--text-muted)}.selected-count{color:#8b5cf6;font-weight:600}.sites-in-state{display:flex;flex-direction:column}.site-item{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 36px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--hover-bg)}.site-item:last-child{border-bottom:none}.site-item:hover,.site-item.selected{background-color:#faf5ff}.site-checkbox{flex-shrink:0;color:var(--text-muted)}.site-checkbox.checked{color:#8b5cf6}.site-info{flex:1;min-width:0}.site-name{display:block;font-weight:500;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-jurisdiction{display:block;font-size:12px;color:var(--text-muted)}.site-deliverables{display:flex;align-items:center;gap:4px;padding:2px 8px;background-color:var(--hover-bg);border-radius:10px;font-size:11px;color:var(--text-secondary)}.pending-indicator{color:#f59e0b}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:12px 16px;border-top:1px solid var(--border);background-color:var(--surface)}.page-btn{padding:6px 14px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:all .2s}.page-btn:hover:not(:disabled){border-color:var(--border);background-color:var(--surface)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:13px;color:var(--text-secondary)}@media (max-width: 640px){.selector-header{flex-direction:column;align-items:flex-start;gap:8px}.selector-toolbar,.filter-row{flex-direction:column}.filter-group{min-width:auto}}:root.dark .site-selector{background:var(--background);border-color:#374151}:root.dark .selector-header{background-color:#111827;border-bottom-color:#374151}:root.dark .selection-summary{color:#d1d5db}:root.dark .selection-actions .divider{color:#4b5563}:root.dark .action-link{color:#a78bfa}:root.dark .action-link:hover{color:#c4b5fd}:root.dark .selector-toolbar{border-bottom-color:#374151}:root.dark .selector-toolbar .search-box{background:#1f2937;border-color:#374151}:root.dark .selector-toolbar .search-box input{background:transparent;color:#f9fafb}:root.dark .selector-toolbar .search-box input::placeholder{color:var(--text-secondary)}:root.dark .selector-toolbar .search-box svg{color:var(--text-secondary)}:root.dark .selector-toolbar .clear-btn{color:var(--text-secondary)}:root.dark .filter-toggle{background:#1f2937;border-color:#374151;color:var(--text-muted)}:root.dark .filter-toggle:hover{border-color:#4b5563}:root.dark .filter-toggle.active{background-color:#374151;border-color:#4b5563}:root.dark .filter-toggle.has-filters{border-color:#8b5cf6;color:#a78bfa}:root.dark .filter-panel{background-color:#111827;border-bottom-color:#374151}:root.dark .filter-group label{color:var(--text-muted)}:root.dark .filter-group select{background:#1f2937;border-color:#374151;color:#f9fafb}:root.dark .clear-filters-btn{border-color:#374151;color:var(--text-muted)}:root.dark .clear-filters-btn:hover{background-color:#1f2937}:root.dark .loading-state,:root.dark .empty-state{color:var(--text-muted)}:root.dark .clear-filters-link{color:#a78bfa}:root.dark .state-group{border-color:#374151}:root.dark .state-header{background-color:#111827;border-bottom-color:#374151}:root.dark .state-group:has(.sites-in-state) .state-header{border-bottom-color:#374151}:root.dark .expand-btn{color:var(--text-muted)}:root.dark .state-checkbox{color:var(--text-secondary)}:root.dark .state-checkbox.checked{color:#a78bfa}:root.dark .state-checkbox .partial-indicator{border-color:#8b5cf6}:root.dark .state-checkbox .partial-indicator:after{background-color:#8b5cf6}:root.dark .state-name{color:#d1d5db}:root.dark .state-count{color:var(--text-secondary)}:root.dark .selected-count{color:#a78bfa}:root.dark .site-item{border-bottom-color:#374151}:root.dark .site-item:hover{background-color:#8b5cf61a}:root.dark .site-item.selected{background-color:#8b5cf61a}:root.dark .site-checkbox{color:var(--text-secondary)}:root.dark .site-checkbox.checked{color:#a78bfa}:root.dark .site-name{color:#f9fafb}:root.dark .site-jurisdiction{color:var(--text-secondary)}:root.dark .site-deliverables{background-color:#374151;color:var(--text-muted)}:root.dark .pending-indicator{color:#fbbf24}:root.dark .pagination{border-top-color:#374151;background-color:#111827}:root.dark .page-btn{background:#1f2937;border-color:#374151;color:#d1d5db}:root.dark .page-btn:hover:not(:disabled){border-color:#4b5563;background-color:#374151}:root.dark .page-info{color:var(--text-muted)}.wizard-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.wizard-modal{background:var(--background);border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040}.wizard-modal.large{max-width:900px}.wizard-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#f5f3ff,#ede9fe)}.header-content{display:flex;align-items:center;gap:12px}.header-content svg{color:#8b5cf6}.header-content h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.wizard-header .close-btn{padding:6px;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .2s}.wizard-header .close-btn:hover{background:#0000001a;color:var(--text-primary)}.wizard-steps{display:flex;align-items:center;justify-content:center;padding:20px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.step{display:flex;align-items:center;position:relative}.step-indicator{width:32px;height:32px;border-radius:50%;background:var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:14px;font-weight:600;transition:all .3s}.step.active .step-indicator{background:#8b5cf6;color:#fff}.step.completed .step-indicator{background:#10b981;color:#fff}.step-number{font-size:13px}.step-label{margin-left:8px;font-size:13px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.step.active .step-label{color:#8b5cf6}.step.completed .step-label{color:#10b981}.step-connector{width:60px;height:2px;background:var(--border);margin:0 12px}.step.completed+.step .step-connector,.step.completed .step-connector{background:#10b981}.step-content{height:100%}.step-content h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-primary)}.step-description{margin:0 0 24px;font-size:14px;color:var(--text-secondary);line-height:1.5}.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:24px}.type-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--background);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s;text-align:left}.type-card:hover{border-color:#d1d5db;background:var(--surface)}.type-card.selected{border-color:#8b5cf6;background:#faf5ff}.type-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.type-card.selected .type-icon{background:#8b5cf6;color:#fff}.type-info{flex:1;min-width:0}.type-name{display:block;font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:2px}.type-category{display:block;font-size:12px;color:var(--text-secondary)}.required-badge{padding:2px 8px;background:#fef3c7;color:#92400e;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase}.selected-type-details{padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.selected-type-details h4{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--text-primary)}.options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sites-step{display:flex;flex-direction:column;height:450px}.site-selector-container{flex:1;min-height:0;overflow:hidden}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:var(--surface);border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;transition:all .2s;position:relative;margin-bottom:24px}.drop-zone:hover{border-color:#8b5cf6;background:#faf5ff}.drop-zone svg{color:#9ca3af;margin-bottom:12px}.drop-zone p{margin:0 0 4px;font-size:14px;font-weight:500;color:var(--text-primary)}.drop-hint{font-size:12px;color:#9ca3af}.drop-zone input{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;cursor:pointer}.file-list{background:var(--background);border:1px solid var(--border);border-radius:12px;overflow:hidden}.file-list-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.file-list-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.clear-all-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.clear-all-btn:hover{border-color:#dc2626;color:#dc2626}.file-items{max-height:200px;overflow-y:auto}.file-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.file-item:last-child{border-bottom:none}.file-preview{width:40px;height:40px;border-radius:8px;background:var(--surface);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--text-secondary)}.file-preview img{width:100%;height:100%;object-fit:cover}.file-info{flex:1;min-width:0}.file-name{display:block;font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{display:block;font-size:12px;color:#9ca3af}.remove-file-btn{padding:6px;background:none;border:none;color:#9ca3af;cursor:pointer;border-radius:6px;transition:all .2s}.remove-file-btn:hover{background:#fef2f2;color:#dc2626}.review-sections{display:flex;flex-direction:column;gap:16px}.review-section{background:var(--background);border:1px solid var(--border);border-radius:12px;overflow:hidden}.section-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.section-header svg{color:#8b5cf6}.section-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.section-content{padding:16px}.review-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.review-item:last-child{border-bottom:none}.item-label{font-size:13px;color:var(--text-secondary)}.item-value{font-size:14px;font-weight:500;color:var(--text-primary)}.priority-badge{padding:3px 10px;border-radius:10px;font-size:12px;font-weight:600;text-transform:capitalize}.priority-badge.low{background:var(--surface);color:var(--text-secondary)}.priority-badge.normal{background:#dbeafe;color:#1e40af}.priority-badge.high{background:#fef3c7;color:#92400e}.priority-badge.urgent{background:#fee2e2;color:#dc2626}.sites-summary,.files-summary{display:flex;align-items:baseline;gap:8px}.sites-count,.files-count{font-size:32px;font-weight:700;color:#8b5cf6}.sites-label,.files-label{font-size:14px;color:var(--text-secondary)}.total-size{margin-top:8px;font-size:13px;color:#9ca3af}.operation-summary{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fffbeb;border:1px solid #fde68a;border-radius:12px}.operation-summary svg{flex-shrink:0;color:#f59e0b}.operation-summary p{margin:0;font-size:14px;color:#92400e;line-height:1.5}.upload-progress{margin-top:24px}.progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#7c3aed);transition:width .3s ease}.progress-text{display:block;margin-top:8px;text-align:center;font-size:13px;color:var(--text-secondary)}.wizard-footer{display:flex;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--border);background:var(--surface)}.form-field{margin-bottom:16px}.form-field label{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.form-field select,.form-field input[type=date]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--background);color:var(--text-primary)}.form-field select:focus,.form-field input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.result-header{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border)}.result-header.success{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#166534}.result-header.partial{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#92400e}.result-header h3{margin:0;flex:1;font-size:16px;font-weight:600}.result-header .close-btn{padding:4px;background:none;border:none;color:currentColor;opacity:.6;cursor:pointer}.result-header .close-btn:hover{opacity:1}.result-content{padding:24px}.result-stats{display:flex;gap:16px;margin-bottom:24px}.stat{flex:1;text-align:center;padding:16px;background:var(--surface);border-radius:12px}.stat-value{display:block;font-size:28px;font-weight:700;margin-bottom:4px}.stat-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase}.stat.success .stat-value{color:#16a34a}.stat.failed .stat-value{color:#dc2626}.stat.total .stat-value{color:var(--text-primary)}.failed-list{margin-top:16px}.failed-list h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.failed-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:8px}.failed-item:last-child{margin-bottom:0}.failed-item .item-name{font-weight:500;color:var(--text-primary);font-size:14px}.failed-item .item-error{font-size:13px;color:#dc2626;text-align:right}@media (max-width: 768px){.wizard-modal.large{max-width:100%;max-height:100vh;border-radius:0}.wizard-steps{overflow-x:auto;justify-content:flex-start;padding:16px}.step-label{display:none}.step-connector{width:30px;margin:0 8px}.type-grid,.options-grid{grid-template-columns:1fr}.result-stats{flex-direction:column}}:root.dark .wizard-overlay{background:#000000b3}:root.dark .wizard-modal{background:#1f2937;box-shadow:0 25px 50px -12px #00000080}:root.dark .wizard-header{border-bottom-color:#374151;background:linear-gradient(135deg,#8b5cf61a,#8b5cf60d)}:root.dark .header-content h2{color:#f9fafb}:root.dark .wizard-header .close-btn{color:var(--text-muted)}:root.dark .wizard-header .close-btn:hover{background:#ffffff1a;color:#f9fafb}:root.dark .wizard-steps{background:#111827;border-bottom-color:#374151}:root.dark .step-indicator{background:#374151;color:var(--text-muted)}:root.dark .step-label{color:var(--text-muted)}:root.dark .step-connector{background:#374151}:root.dark .step-content h3{color:#f9fafb}:root.dark .step-description{color:var(--text-muted)}:root.dark .type-card{background:#1f2937;border-color:#374151}:root.dark .type-card:hover{border-color:#4b5563;background:#374151}:root.dark .type-card.selected{border-color:#8b5cf6;background:#8b5cf61a}:root.dark .type-icon{background:#374151;color:var(--text-muted)}:root.dark .type-card.selected .type-icon{background:#8b5cf6;color:#fff}:root.dark .type-category{color:var(--text-muted)}:root.dark .required-badge{background:#f59e0b26;color:#fbbf24}:root.dark .selected-type-details{background:#111827;border-color:#374151}:root.dark .selected-type-details h4{color:#d1d5db}:root.dark .drop-zone{background:#111827;border-color:#4b5563}:root.dark .drop-zone:hover{border-color:#8b5cf6;background:#8b5cf61a}:root.dark .drop-zone svg{color:var(--text-secondary)}:root.dark .drop-zone p{color:#d1d5db}:root.dark .drop-hint{color:var(--text-secondary)}:root.dark .file-list{background:#1f2937;border-color:#374151}:root.dark .file-list-header{background:#111827;border-bottom-color:#374151}:root.dark .file-list-header h4{color:#f9fafb}:root.dark .clear-all-btn{background:#1f2937;border-color:#374151;color:var(--text-muted)}:root.dark .clear-all-btn:hover{border-color:#ef44444d;color:#f87171}:root.dark .file-item{border-bottom-color:#374151}:root.dark .file-preview{background:#374151;color:var(--text-muted)}:root.dark .file-name{color:#f9fafb}:root.dark .file-size{color:var(--text-secondary)}:root.dark .remove-file-btn{color:var(--text-secondary)}:root.dark .remove-file-btn:hover{background:#ef444426;color:#f87171}:root.dark .review-section{background:#1f2937;border-color:#374151}:root.dark .section-header{background:#111827;border-bottom-color:#374151}:root.dark .section-header h4{color:#f9fafb}:root.dark .review-item{border-bottom-color:#374151}:root.dark .item-label{color:var(--text-muted)}:root.dark .item-value{color:#d1d5db}:root.dark .priority-badge.low{background:#374151;color:var(--text-muted)}:root.dark .priority-badge.normal{background:#3b82f626;color:#60a5fa}:root.dark .priority-badge.high{background:#f59e0b26;color:#fbbf24}:root.dark .priority-badge.urgent{background:#ef444426;color:#f87171}:root.dark .sites-label,:root.dark .files-label{color:var(--text-muted)}:root.dark .total-size{color:var(--text-secondary)}:root.dark .operation-summary{background:#f59e0b1a;border-color:#f59e0b4d}:root.dark .operation-summary svg{color:#fbbf24}:root.dark .operation-summary p{color:#fbbf24}:root.dark .progress-bar{background:#374151}:root.dark .progress-text{color:var(--text-muted)}:root.dark .wizard-footer{border-top-color:#374151;background:#111827}:root.dark .form-field label{color:#d1d5db}:root.dark .form-field select,:root.dark .form-field input[type=date]{background:#111827;border-color:#374151;color:#f9fafb}:root.dark .form-field select:focus,:root.dark .form-field input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf633}:root.dark .result-header{border-bottom-color:#374151}:root.dark .result-header.success{background:linear-gradient(135deg,#22c55e26,#22c55e40);color:#4ade80}:root.dark .result-header.partial{background:linear-gradient(135deg,#f59e0b26,#f59e0b40);color:#fbbf24}:root.dark .result-header h3{color:inherit}:root.dark .stat{background:#111827}:root.dark .stat-label{color:var(--text-muted)}:root.dark .stat.success .stat-value{color:#4ade80}:root.dark .stat.failed .stat-value{color:#f87171}:root.dark .stat.total .stat-value{color:#f9fafb}:root.dark .failed-list h4{color:#d1d5db}:root.dark .failed-item{background:#ef444426;border-color:#ef44444d}:root.dark .failed-item .item-name{color:#f9fafb}:root.dark .failed-item .item-error{color:#f87171}.csv-template-section{margin-top:24px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.csv-section-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.csv-section-header svg{color:#8b5cf6}.csv-section-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.csv-description{margin:0 0 16px;font-size:13px;color:var(--text-secondary);line-height:1.5}.csv-actions{display:flex;align-items:center;gap:12px}.csv-divider{font-size:13px;color:var(--text-tertiary)}.csv-error{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px}.csv-error button{margin-left:auto;background:none;border:none;color:inherit;font-size:18px;cursor:pointer;padding:0;line-height:1}.csv-validation{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;border-radius:8px;font-size:13px}.csv-validation.valid{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.csv-validation.invalid{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.csv-validation svg{flex-shrink:0;margin-top:2px}.csv-validation .validation-content{flex:1}.csv-validation strong{display:block;margin-bottom:4px}.csv-validation span{display:block;font-size:12px;opacity:.8}.validation-errors{margin:8px 0 0;padding-left:16px;font-size:12px}.validation-errors li{margin-bottom:2px}.csv-validation>button{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;padding:0;line-height:1;opacity:.6}.csv-validation>button:hover{opacity:1}:root.dark .csv-template-section{background:#111827;border-color:#374151}:root.dark .csv-section-header h4{color:#f9fafb}:root.dark .csv-description{color:var(--text-muted)}:root.dark .csv-divider{color:var(--text-secondary)}:root.dark .csv-error{background:#ef444426;border-color:#ef44444d;color:#f87171}:root.dark .csv-validation.valid{background:#22c55e1a;border-color:#22c55e4d;color:#4ade80}:root.dark .csv-validation.invalid{background:#ef444426;border-color:#ef44444d;color:#f87171}.create-deliverable-standalone-form{display:flex;flex-direction:column;gap:1.25rem;padding:.5rem 0}.form-section{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.875rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.375rem}.form-label .required{color:var(--danger)}.form-label .optional-label{font-weight:400;color:var(--text-muted);font-size:.8125rem}.form-hint{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.site-search-container{position:relative}.site-search-results{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 4px 12px #00000026;max-height:240px;overflow-y:auto;margin-top:.25rem}.site-result-item{display:block;width:100%;padding:.75rem 1rem;text-align:left;background:none;border:none;cursor:pointer;transition:background-color .15s;border-bottom:1px solid var(--border)}.site-result-item:last-child{border-bottom:none}.site-result-item:hover{background:var(--hover)}.site-result-name{font-weight:500;color:var(--text-primary);font-size:.875rem}.site-result-details{font-size:.75rem;color:var(--text-muted);margin-top:.125rem}.selected-site{display:flex;align-items:flex-start;justify-content:space-between;padding:.75rem 1rem;background:var(--surface-elevated);border:1px solid var(--border);border-radius:.5rem}.site-info{display:flex;align-items:flex-start;gap:.75rem}.site-icon{color:var(--primary);flex-shrink:0;margin-top:.125rem}.site-name{font-weight:600;color:var(--text-primary);font-size:.875rem}.site-address{font-size:.8125rem;color:var(--text-secondary);margin-top:.125rem}.site-jurisdiction{font-size:.75rem;color:var(--text-muted);margin-top:.125rem}.change-site-button{padding:.375rem .75rem;font-size:.75rem;background:none;border:1px solid var(--border);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.change-site-button:hover{background:var(--hover);border-color:var(--text-muted)}.loading-state,.empty-state{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;color:var(--text-muted);font-size:.875rem}.form-textarea{width:100%;padding:.625rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);color:var(--text-primary);resize:vertical;min-height:80px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.form-textarea::placeholder{color:var(--text-muted)}.error-message{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.5rem;color:var(--danger);font-size:.875rem}.error-message svg{flex-shrink:0;margin-top:.125rem}:root.dark .site-search-results{box-shadow:0 4px 12px #0006}:root.dark .selected-site{background:var(--surface)}:root.dark .form-textarea{background:var(--background)}:root.dark .form-textarea:focus{box-shadow:0 0 0 3px #3b82f633}.deliverables-dashboard{display:flex;flex-direction:column;height:100%;background:var(--surface)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:var(--background);border-bottom:1px solid var(--border)}.header-content{display:flex;flex-direction:column}.dashboard-title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0}.dashboard-subtitle{font-size:14px;color:var(--text-secondary);margin:4px 0 0}.header-actions{display:flex;gap:12px;align-items:center}.add-deliverable-button.primary{display:flex;align-items:center;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.add-deliverable-button.primary:hover{background:var(--primary-dark);box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.add-deliverable-button.primary:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.bulk-create-button.secondary{display:flex;align-items:center;padding:10px 20px;background:var(--background);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.bulk-create-button.secondary:hover{background:var(--hover-bg);border-color:var(--border-dark)}.bulk-create-button.secondary:active{background:var(--surface)}.bulk-create-button:not(.secondary){display:flex;align-items:center;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.bulk-create-button:not(.secondary):hover{background:var(--primary-dark);box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.bulk-create-button:not(.secondary):active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.view-switcher{display:flex;gap:4px;background:var(--hover-bg);padding:4px;border-radius:8px}.view-button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s}.view-button:hover{color:var(--text-primary);background:#ffffff80}.view-button.active{background:var(--background);color:var(--text-primary);box-shadow:0 1px 2px #0000000d}.view-icon{font-size:16px}.stats-summary{display:flex;gap:16px;padding:16px 24px;background:var(--background);border-bottom:1px solid var(--border);overflow-x:auto}.stat-card{flex:1;min-width:120px;padding:12px 16px;background:var(--surface);border-radius:8px;text-align:center;transition:all .2s}.stat-card:hover{background:var(--hover-bg)}.stat-card.alert{background:#fef2f2;border:1px solid #fecaca}.stat-card.alert .stat-value{color:#dc2626}.stat-card.warning{background:#fff7ed;border:1px solid #fed7aa}.stat-card.warning .stat-value{color:#ea580c}.stat-card.pending{border-left:3px solid #9ca3af}.stat-card.in-progress{border-left:3px solid #3b82f6}.stat-card.review{border-left:3px solid #f97316}.stat-card.overdue{border-left:3px solid #ef4444}.stat-card.due-soon{border-left:3px solid #eab308}.stat-card.due-week{border-left:3px solid #8b5cf6}.stat-card.high-priority{border-left:3px solid #f97316}.stat-value{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.stat-label{font-size:12px;color:var(--text-secondary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-content{flex:1;overflow:hidden}.dashboard-content>*{height:100%}@media (max-width: 1024px){.dashboard-header{flex-direction:column;gap:16px;align-items:flex-start}.stats-summary{padding:12px 16px;gap:8px}.stat-card{min-width:100px;padding:8px 10px}.stat-value{font-size:20px}.stat-label{font-size:11px}}@media (max-width: 768px){.view-switcher{width:100%}.view-button{flex:1;justify-content:center}.stats-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat-card{min-width:auto}}@media (max-width: 480px){.stats-summary{grid-template-columns:repeat(2,1fr)}}:root.dark .deliverables-dashboard{background:#111827}:root.dark .dashboard-header{background:#1f2937;border-bottom-color:#374151}:root.dark .dashboard-title{color:#f9fafb}:root.dark .dashboard-subtitle{color:#9ca3af}:root.dark .view-switcher{background:#374151}:root.dark .view-button{color:#9ca3af}:root.dark .view-button:hover{color:#f9fafb;background:#ffffff1a}:root.dark .view-button.active{background:#1f2937;color:#f9fafb;box-shadow:0 1px 2px #0000004d}:root.dark .stats-summary{background:#1f2937;border-bottom-color:#374151}:root.dark .stat-card{background:#111827}:root.dark .stat-card:hover{background:#1f2937}:root.dark .stat-card.alert{background:#ef444426;border-color:#ef44444d}:root.dark .stat-card.alert .stat-value{color:#f87171}:root.dark .stat-card.warning{background:#ea580c26;border-color:#ea580c4d}:root.dark .stat-card.warning .stat-value{color:#fb923c}:root.dark .stat-card.pending{border-left-color:#6b7280}:root.dark .stat-card.in-progress{border-left-color:#60a5fa}:root.dark .stat-card.review{border-left-color:#fb923c}:root.dark .stat-card.overdue{border-left-color:#f87171}:root.dark .stat-card.due-soon{border-left-color:#facc15}:root.dark .stat-card.due-week{border-left-color:#a78bfa}:root.dark .stat-card.high-priority{border-left-color:#fb923c}:root.dark .stat-value{color:#f9fafb}:root.dark .stat-label{color:#9ca3af}.budget-detail-modal{position:relative;width:90%;max-width:700px;max-height:90vh;background:var(--bg-primary, #fff);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.budget-detail-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.budget-detail-modal .header-content{display:flex;align-items:flex-start;gap:1rem}.budget-detail-modal .status-indicator{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;flex-shrink:0}.budget-detail-modal .status-indicator.healthy{background:#dcfce7;color:#16a34a}.budget-detail-modal .status-indicator.warning{background:#fef3c7;color:#d97706}.budget-detail-modal .status-indicator.critical,.budget-detail-modal .status-indicator.over-budget{background:#fee2e2;color:#dc2626}.budget-detail-modal .header-info h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #1e293b)}.budget-detail-modal .header-info p{margin:.25rem 0 0;font-size:.875rem;color:var(--text-secondary, #64748b)}.budget-detail-modal .btn-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer}.budget-detail-modal .btn-close:hover{background:var(--bg-tertiary, #f1f5f9)}.budget-detail-modal .modal-tabs{display:flex;gap:.25rem;padding:0 1.5rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.budget-detail-modal .modal-tabs button{display:flex;align-items:center;gap:.375rem;padding:.75rem 1rem;border:none;border-bottom:2px solid transparent;background:transparent;font-size:.8125rem;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer}.budget-detail-modal .modal-tabs button:hover{color:var(--text-primary, #1e293b)}.budget-detail-modal .modal-tabs button.active{color:var(--color-primary, #3b82f6);border-bottom-color:var(--color-primary, #3b82f6)}.budget-detail-modal .modal-content{flex:1;padding:1.5rem;overflow-y:auto}.overview-tab{display:flex;flex-direction:column;gap:1.5rem}.budget-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.summary-card{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:8px;border:1px solid var(--border-color, #e2e8f0)}.summary-card.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.summary-card.primary .label{color:#fffc}.summary-card.primary .value{color:#fff}.summary-content{display:flex;flex-direction:column}.summary-content .label{font-size:.75rem;color:var(--text-secondary, #64748b)}.summary-content .value{font-size:1.125rem;font-weight:700;color:var(--text-primary, #1e293b)}.summary-content .value.spent{color:var(--color-danger, #ef4444)}.summary-content .value.positive{color:var(--color-success, #22c55e)}.summary-content .value.negative{color:var(--color-danger, #ef4444)}.utilization-section{padding:1rem;border-radius:8px;background:var(--bg-tertiary, #f8fafc)}.utilization-section h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600}.large-progress-bar{height:12px;border-radius:6px;background:#e2e8f0;overflow:hidden}.large-progress-bar .progress-fill{height:100%;border-radius:6px;transition:width .3s ease}.large-progress-bar .progress-fill.healthy{background:linear-gradient(90deg,#22c55e,#16a34a)}.large-progress-bar .progress-fill.warning{background:linear-gradient(90deg,#f59e0b,#d97706)}.large-progress-bar .progress-fill.critical,.large-progress-bar .progress-fill.over-budget{background:linear-gradient(90deg,#ef4444,#dc2626)}.progress-stats{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.8125rem}.utilization-percent{font-weight:600}.utilization-percent.healthy{color:#16a34a}.utilization-percent.warning{color:#d97706}.utilization-percent.critical,.utilization-percent.over-budget{color:#dc2626}.threshold-info{color:var(--text-secondary, #64748b)}.budget-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;border-radius:6px;background:var(--bg-tertiary, #f8fafc)}.detail-item .label{font-size:.6875rem;font-weight:500;color:var(--text-secondary, #64748b);text-transform:uppercase}.detail-item .value{font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b)}.allocations-tab{padding:0}.allocations-list{display:flex;flex-direction:column;gap:.75rem}.allocation-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:6px;background:var(--bg-tertiary, #f8fafc)}.allocation-info{flex:1;display:flex;justify-content:space-between;min-width:0}.allocation-name{font-weight:500;color:var(--text-primary, #1e293b)}.allocation-amount{font-weight:600;color:var(--text-primary, #1e293b)}.allocation-bar{width:100px;height:6px;border-radius:3px;background:#e2e8f0;overflow:hidden}.allocation-fill{height:100%;background:var(--color-primary, #3b82f6);border-radius:3px}.allocation-percent{font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);min-width:40px;text-align:right}.costs-tab{padding:0}.cost-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-radius:6px;background:var(--bg-tertiary, #f8fafc)}.cost-info{display:flex;flex-direction:column;gap:.125rem}.cost-description{font-weight:500;color:var(--text-primary, #1e293b)}.cost-date{font-size:.75rem;color:var(--text-secondary, #64748b)}.cost-details{display:flex;align-items:center;gap:.75rem}.cost-amount{font-weight:600;color:var(--text-primary, #1e293b)}.cost-status{font-size:.625rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;text-transform:uppercase}.cost-status.approved{background:#dcfce7;color:#166534}.cost-status.pending{background:#fef3c7;color:#92400e}.cost-status.rejected{background:#fee2e2;color:#991b1b}.empty-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--text-secondary, #64748b)}.empty-tab p{margin:.75rem 0 0}.dark .budget-detail-modal{background:#1f2937}.dark .budget-detail-modal .modal-header{border-bottom-color:#374151}.dark .budget-detail-modal .header-info h2{color:#f9fafb}.dark .budget-detail-modal .header-info p,.dark .budget-detail-modal .btn-close{color:#9ca3af}.dark .budget-detail-modal .btn-close:hover{background:#374151;color:#f9fafb}.dark .budget-detail-modal .status-indicator.healthy{background:#22c55e26;color:#4ade80}.dark .budget-detail-modal .status-indicator.warning{background:#f59e0b26;color:#fbbf24}.dark .budget-detail-modal .status-indicator.critical,.dark .budget-detail-modal .status-indicator.over-budget{background:#ef444426;color:#f87171}.dark .budget-detail-modal .modal-tabs{border-bottom-color:#374151}.dark .budget-detail-modal .modal-tabs button{color:#9ca3af}.dark .budget-detail-modal .modal-tabs button:hover{color:#f9fafb}.dark .budget-detail-modal .modal-tabs button.active{color:#60a5fa;border-bottom-color:#60a5fa}.dark .summary-card{border-color:#374151;background:#374151}.dark .summary-content .label{color:#9ca3af}.dark .summary-content .value{color:#f9fafb}.dark .utilization-section{background:#374151}.dark .utilization-section h4{color:#f9fafb}.dark .large-progress-bar{background:#4b5563}.dark .threshold-info{color:#9ca3af}.dark .utilization-percent.healthy{color:#4ade80}.dark .utilization-percent.warning{color:#fbbf24}.dark .utilization-percent.critical,.dark .utilization-percent.over-budget{color:#f87171}.dark .detail-item{background:#374151}.dark .detail-item .label{color:#9ca3af}.dark .detail-item .value{color:#f9fafb}.dark .allocation-item{background:#374151}.dark .allocation-name,.dark .allocation-amount{color:#f9fafb}.dark .allocation-bar{background:#4b5563}.dark .allocation-percent{color:#9ca3af}.dark .cost-item{background:#374151}.dark .cost-description{color:#f9fafb}.dark .cost-date{color:#9ca3af}.dark .cost-amount{color:#f9fafb}.dark .cost-status.approved{background:#22c55e26;color:#4ade80}.dark .cost-status.pending{background:#f59e0b26;color:#fbbf24}.dark .cost-status.rejected{background:#ef444426;color:#f87171}.dark .empty-tab{color:#9ca3af}.edit-budget-form{display:flex;flex-direction:column;gap:1rem;padding:.5rem 0}.edit-budget-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.dark .edit-budget-form{background:transparent}.budget-create-modal{position:relative;width:90%;max-width:560px;max-height:90vh;background:var(--bg-primary, #fff);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.budget-create-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.budget-create-modal .modal-header h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary, #1e293b)}.budget-create-modal .btn-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer}.budget-create-modal .btn-close:hover{background:var(--bg-tertiary, #f1f5f9)}.budget-form{flex:1;padding:1.5rem;overflow-y:auto}.form-group label{display:block;margin-bottom:.375rem;font-size:.8125rem;font-weight:500;color:var(--text-primary, #1e293b)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.625rem .75rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:.875rem;color:var(--text-primary, #1e293b);background:var(--bg-primary, #fff);transition:border-color .15s ease,box-shadow .15s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.form-group input.error,.form-group textarea.error,.form-group select.error{border-color:var(--color-danger, #ef4444)}.form-group input.error:focus,.form-group textarea.error:focus{box-shadow:0 0 0 2px #ef44441a}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.input-with-icon svg{position:absolute;left:.75rem;color:var(--text-secondary, #64748b);pointer-events:none}.error-message{display:block;margin-top:.25rem;font-size:.75rem;color:var(--color-danger, #ef4444)}.form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-bottom:1rem;border-radius:6px;background:#fee2e2;color:#991b1b;font-size:.875rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-color, #e2e8f0);margin-top:1rem}.spinner-small{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.dark .budget-create-modal{background:#1f2937}.dark .budget-create-modal .modal-header{border-bottom-color:#374151}.dark .budget-create-modal .modal-header h2{color:#f9fafb}.dark .budget-create-modal .btn-close{color:#9ca3af}.dark .budget-create-modal .btn-close:hover{background:#374151;color:#f9fafb}.dark .form-group input,.dark .form-group textarea,.dark .form-group select{background:#374151;border-color:#4b5563;color:#f9fafb}.dark .form-group input:focus,.dark .form-group textarea:focus,.dark .form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.dark .form-error{background:#ef444426;color:#f87171}.dark .form-actions{border-top-color:#374151}.budget-list{display:flex;flex-direction:column;height:100%}.budget-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.btn-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s ease}.budget-list-filters{display:flex;gap:.75rem;margin-bottom:1rem}.search-box:focus-within{border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 2px var(--color-primary-alpha, rgba(59, 130, 246, .1))}.budget-list-loading,.budget-list-error,.budget-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.budget-list-loading .spinner{width:32px;height:32px;border:3px solid var(--border-color, #e2e8f0);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.budget-list-error{color:var(--color-danger, #ef4444)}.budget-list-error small{margin-top:.5rem;opacity:.7}.budget-list-empty h4{margin:1rem 0 .5rem;color:var(--text-primary, #1e293b)}.budget-list-empty p{margin:0 0 1.5rem;color:var(--text-secondary, #64748b)}.budget-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.budget-card{padding:1rem;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-primary, #fff);cursor:pointer;transition:all .15s ease}.budget-card:hover{box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .08))}.budget-card.warning{border-left:3px solid var(--color-warning, #f59e0b)}.budget-card.critical,.budget-card.over-budget{border-left:3px solid var(--color-danger, #ef4444)}.budget-card.healthy{border-left:3px solid var(--color-success, #22c55e)}.budget-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.budget-actions{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;min-width:120px;padding:.25rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #fff);box-shadow:var(--shadow-lg, 0 4px 12px rgba(0, 0, 0, .1));z-index:10}.dropdown-menu button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem;border:none;border-radius:4px;background:transparent;font-size:.8125rem;color:var(--text-primary, #1e293b);cursor:pointer;text-align:left}.budget-category{display:inline-block;font-size:.6875rem;font-weight:500;padding:.125rem .5rem;border-radius:4px;background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary, #64748b);margin-bottom:.75rem}.amount-item{display:flex;justify-content:space-between;font-size:.8125rem}.amount-item .label{color:var(--text-secondary, #64748b)}.amount-item .value{font-weight:600;color:var(--text-primary, #1e293b)}.amount-item .value.spent{color:var(--color-danger, #ef4444)}.amount-item .value.positive{color:var(--color-success, #22c55e)}.amount-item .value.negative{color:var(--color-danger, #ef4444)}.budget-progress{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.budget-progress .progress-bar{flex:1;height:6px;border-radius:3px;background:var(--bg-tertiary, #e2e8f0);overflow:hidden}.budget-progress .progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.budget-progress .progress-fill.healthy{background:var(--color-success, #22c55e)}.budget-progress .progress-fill.warning{background:var(--color-warning, #f59e0b)}.budget-progress .progress-fill.critical,.budget-progress .progress-fill.over-budget{background:var(--color-danger, #ef4444)}.budget-progress .progress-label{font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);min-width:45px;text-align:right}.budget-meta{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border-color, #e2e8f0)}.status-badge.active{background:var(--badge-healthy-bg, #dcfce7);color:var(--badge-active-color, #166534)}.status-badge.on_hold{background:var(--badge-warning-bg, #fef3c7);color:var(--badge-warning-color, #92400e)}.status-badge.closed{background:var(--badge-muted-bg, #f1f5f9);color:var(--badge-muted-color, #475569)}.status-badge.over_budget{background:var(--badge-critical-bg, #fee2e2);color:var(--badge-critical-color, #991b1b)}.scope-badge{font-size:.625rem;font-weight:600;padding:.125rem .5rem;border-radius:4px;background:var(--color-primary, #3b82f6);color:var(--text-on-primary, #fff);text-transform:uppercase}.dark .budget-list-header h3{color:#f9fafb}.dark .search-box:focus-within{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.dark .budget-list-empty h4{color:#f9fafb}.dark .budget-list-empty p{color:#9ca3af}.dark .budget-card{background:#1f2937;border-color:#374151}.dark .budget-card:hover{box-shadow:0 4px 12px #0006}.dark .amount-item .label{color:#9ca3af}.dark .amount-item .value{color:#f9fafb}.dark .budget-progress .progress-bar{background:#374151}.dark .budget-progress .progress-label{color:#9ca3af}.dark .budget-meta{border-top-color:#374151}.dark .status-badge.active{background:#22c55e26;color:#4ade80}.dark .status-badge.on_hold{background:#f59e0b26;color:#fbbf24}.dark .status-badge.closed{background:#374151;color:#9ca3af}.dark .status-badge.over_budget{background:#ef444426;color:#f87171}[data-theme=dark] .budget-card:hover{box-shadow:0 4px 12px #0000004d}[data-theme=dark] .search-box:focus-within{box-shadow:0 0 0 2px #3b82f633}.cost-form{flex:1;padding:1.5rem;overflow-y:auto}.form-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.875rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.025em}.form-group{margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem .75rem;border:1px solid var(--border-color, #cbd5e1);border-radius:6px;font-size:.875rem;color:var(--text-primary, #1e293b);background:var(--bg-primary, #fff);transition:border-color .15s ease,box-shadow .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:var(--error-color, #ef4444)}.form-group input:disabled{background:var(--bg-tertiary, #f1f5f9);color:var(--text-tertiary, #94a3b8);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:60px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon svg{position:absolute;left:.75rem;color:var(--text-tertiary, #94a3b8);pointer-events:none}.input-with-icon input{padding-left:2.25rem}.calculated-field{background:var(--bg-tertiary, #f1f5f9)!important;color:var(--text-secondary, #64748b)!important;font-weight:600}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:.5rem;margin:0;cursor:pointer;font-weight:400}.checkbox-group input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer}.error-message{display:block;margin-top:.375rem;font-size:.75rem;color:var(--error-color, #ef4444)}.form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-top:1rem;background:#ef44441a;border:1px solid var(--error-color, #ef4444);border-radius:6px;color:var(--error-color, #ef4444);font-size:.875rem}.dark .cost-form{background:#1f2937}.dark .form-section{border-bottom-color:#374151}.dark .form-section h3{color:#9ca3af}.dark .form-group label{color:#f9fafb}.dark .form-group input,.dark .form-group select,.dark .form-group textarea{background:#374151;border-color:#4b5563;color:#f9fafb}.dark .form-group input::placeholder,.dark .form-group textarea::placeholder{color:#6b7280}.dark .form-group input:focus,.dark .form-group select:focus,.dark .form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.dark .form-group input:disabled{background:#1f2937;color:#6b7280}.dark .input-with-icon svg{color:#6b7280}.dark .calculated-field{background:#1f2937!important;color:#9ca3af!important}.cost-detail-header{padding-bottom:1rem;border-bottom:1px solid var(--border-color, #e2e8f0);margin-bottom:1.5rem}.cost-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.cost-title-row h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #1e293b);line-height:1.4}.cost-number{font-size:.875rem;color:var(--text-secondary, #64748b);font-weight:500}.cost-detail-body{display:flex;flex-direction:column;gap:1.5rem;max-height:60vh;overflow-y:auto;padding-right:.5rem}.detail-section{display:flex;flex-direction:column;gap:.75rem}.detail-section h4{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.025em}.detail-section h4 svg{color:var(--color-primary, #3b82f6)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.875rem}.detail-row.highlight{padding-top:.75rem;margin-top:.25rem;border-top:1px dashed var(--border-color, #e2e8f0)}.detail-row .label{color:var(--text-secondary, #64748b);font-weight:500}.detail-row .value{font-weight:600;color:var(--text-primary, #1e293b);text-align:right}.detail-row .value.total{font-size:1.125rem;color:var(--color-primary, #3b82f6)}.notes-content{padding:.75rem;background:var(--bg-tertiary, #f1f5f9);border-radius:6px;font-size:.875rem;color:var(--text-primary, #1e293b);line-height:1.6;margin:0;white-space:pre-wrap}.detail-section.metadata{padding-top:1rem;border-top:1px solid var(--border-color, #e2e8f0)}.action-modal-content{display:flex;flex-direction:column;gap:1rem;padding:1rem 0}.action-modal-content>p{margin:0;color:var(--text-primary, #1e293b);line-height:1.6}.warning-box{display:flex;gap:.75rem;padding:.75rem;background:#fbbf241a;border:1px solid var(--color-warning, #f59e0b);border-radius:6px}.warning-box svg{flex-shrink:0;color:var(--color-warning, #f59e0b)}.warning-box strong{display:block;margin-bottom:.25rem;color:var(--text-primary, #1e293b)}.warning-box p{margin:0;font-size:.875rem;color:var(--text-secondary, #64748b);line-height:1.5}.conversion-details{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg-tertiary, #f1f5f9);border-radius:6px}.conversion-details .detail-row{padding:.25rem 0}.dark .cost-detail-header{border-bottom-color:#374151}.dark .cost-title-row h3{color:#f9fafb}.dark .cost-number{color:#9ca3af}.dark .cost-detail-body{background:#1f2937}.dark .detail-section h4{color:#9ca3af}.dark .detail-section h4 svg{color:#60a5fa}.dark .detail-row .label{color:#9ca3af}.dark .detail-row .value{color:#f9fafb}.dark .detail-row .value.total{color:#60a5fa}.dark .detail-row.highlight{border-top-color:#374151}.dark .notes-content{background:#374151;color:#f9fafb}.dark .detail-section.metadata{border-top-color:#374151}.dark .warning-box{background:#f59e0b26;border-color:#fbbf24}.dark .warning-box svg{color:#fbbf24}.dark .warning-box strong{color:#f9fafb}.dark .warning-box p{color:#9ca3af}.dark .conversion-details{background:#374151}.dark .action-modal-content>p{color:#f9fafb}.edit-cost-form{display:flex;flex-direction:column;gap:1rem;padding:.5rem 0}.edit-cost-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.calculated-total{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-tertiary, #f1f5f9);border-radius:6px;margin:.5rem 0}.calculated-total .label{font-size:.875rem;font-weight:500;color:var(--text-secondary, #64748b)}.calculated-total .value{font-size:1.125rem;font-weight:600;color:var(--color-primary, #3b82f6)}.checkbox-group{display:flex;flex-wrap:wrap;gap:1.5rem;padding:.75rem 0}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text-primary, #1e293b)}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary, #3b82f6);cursor:pointer}.dark .calculated-total{background:#374151}.dark .calculated-total .label{color:#9ca3af}.dark .calculated-total .value{color:#60a5fa}.dark .checkbox-label{color:#f9fafb}[data-theme=dark] .cost-detail-header{border-bottom-color:#374151}[data-theme=dark] .detail-section.metadata,[data-theme=dark] .detail-row.highlight{border-top-color:#374151}[data-theme=dark] .calculated-total{background:#374151}.cost-list{display:flex;flex-direction:column;height:100%}.cost-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cost-list-filters{display:flex;gap:.75rem;margin-bottom:1rem}.search-box{flex:1}.cost-list-loading,.cost-list-error,.cost-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.cost-list-loading .spinner{width:32px;height:32px;border:3px solid var(--border-color, #e2e8f0);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.cost-list-error{color:var(--color-danger, #ef4444)}.cost-list-error small{margin-top:.5rem;opacity:.7}.cost-list-empty h4{margin:1rem 0 .5rem;color:var(--text-primary, #1e293b)}.cost-list-empty p{margin:0 0 1.5rem;color:var(--text-secondary, #64748b)}.cost-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.cost-card{padding:1rem;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-primary, #fff);cursor:pointer;transition:all .15s ease}.cost-card:hover{box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .08))}.cost-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.cost-number{font-weight:600;color:var(--text-primary, #1e293b);line-height:1.4}.cost-card-body{display:flex;flex-direction:column;gap:.5rem}.cost-info-row{display:flex;justify-content:space-between;font-size:.8125rem}.cost-info-row .label{color:var(--text-secondary, #64748b);font-weight:500}.cost-info-row .value{font-weight:600;color:var(--text-primary, #1e293b)}.cost-amount{display:flex;align-items:center;gap:.375rem;margin-top:.5rem;padding-top:.75rem;border-top:1px dashed var(--border-color, #e2e8f0);font-size:1.125rem;font-weight:700;color:var(--color-primary, #3b82f6)}.cost-amount svg{color:var(--color-primary, #3b82f6)}.cost-card-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border-color, #e2e8f0)}.cost-card-footer small{font-size:.75rem;color:var(--text-secondary, #64748b);line-height:1.5}.dark .cost-list-header h3{color:#f9fafb}.dark .cost-list-empty h4{color:#f9fafb}.dark .cost-list-empty p{color:#9ca3af}.dark .cost-card{background:#1f2937;border-color:#374151}.dark .cost-card:hover{box-shadow:0 4px 12px #0006}.dark .cost-number{color:#f9fafb}.dark .cost-info-row .label{color:#9ca3af}.dark .cost-info-row .value{color:#f9fafb}.dark .cost-amount{border-top-color:#374151;color:#60a5fa}.dark .cost-amount svg{color:#60a5fa}.dark .cost-card-footer{border-top-color:#374151}.dark .cost-card-footer small{color:#9ca3af}[data-theme=dark] .cost-card:hover{box-shadow:0 4px 12px #0000004d}.invoice-form{display:flex;flex-direction:column;gap:1.5rem}.invoice-form .form-section{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.invoice-form .form-section h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.invoice-form .form-section h3 svg{color:var(--color-primary)}.invoice-form .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.invoice-form .section-header h3{margin:0}.invoice-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.invoice-form .form-group{display:flex;flex-direction:column;gap:.5rem}.invoice-form .form-group.flex-2{grid-column:span 2}.invoice-form .form-group label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.invoice-form .form-group input,.invoice-form .form-group select,.invoice-form .form-group textarea{padding:.625rem .75rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-background);color:var(--color-text-primary);transition:border-color .2s}.invoice-form .form-group input:focus,.invoice-form .form-group select:focus,.invoice-form .form-group textarea:focus{outline:none;border-color:var(--color-primary)}.invoice-form .form-group input.error,.invoice-form .form-group select.error,.invoice-form .form-group textarea.error{border-color:var(--color-error)}.invoice-form .form-group textarea{resize:vertical;min-height:60px}.invoice-form .error-message{font-size:.75rem;color:var(--color-error)}.line-items{display:flex;flex-direction:column;gap:1rem}.line-item-row{display:flex;gap:.5rem;align-items:flex-start;padding:1rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:6px}.line-item-fields{flex:1;display:grid;grid-template-columns:2fr .8fr 1fr .8fr .8fr 1fr;gap:.75rem;align-items:start}.line-item-row .form-group{gap:.25rem}.line-item-row .form-group label{font-size:.75rem}.line-item-row .form-group input{padding:.5rem .625rem;font-size:.875rem}.line-item-row .line-total{display:flex;flex-direction:column;justify-content:flex-end}.line-item-row .calculated-value{padding:.5rem .625rem;font-size:.875rem;font-weight:600;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;text-align:right}.remove-line-btn{margin-top:1.5rem;color:var(--color-error)}.remove-line-btn:hover{background:var(--color-error-light)}.invoice-totals{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;max-width:300px;margin-left:auto}.invoice-totals .total-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.invoice-totals .total-row .label{color:var(--color-text-secondary)}.invoice-totals .total-row .value{font-weight:600;color:var(--color-text-primary)}.invoice-totals .grand-total{padding-top:.5rem;margin-top:.5rem;border-top:2px solid var(--color-border);font-size:1rem}.invoice-totals .grand-total .label,.invoice-totals .grand-total .value{font-weight:700;color:var(--color-primary)}.form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-error-light);border:1px solid var(--color-error);border-radius:6px;color:var(--color-error);font-size:.875rem}.form-error svg{flex-shrink:0}@media (max-width: 768px){.invoice-form .form-row,.line-item-fields{grid-template-columns:1fr}.line-item-row{flex-direction:column}.remove-line-btn{margin-top:0;align-self:flex-end}.invoice-totals{max-width:100%}}.dark .invoice-form .form-section{background:#374151;border-color:#4b5563}.dark .invoice-form .form-section h3{color:#f9fafb}.dark .invoice-form .form-section h3 svg{color:#60a5fa}.dark .invoice-form .form-group label{color:#9ca3af}.dark .invoice-form .form-group input,.dark .invoice-form .form-group select,.dark .invoice-form .form-group textarea{background:#1f2937;border-color:#4b5563;color:#f9fafb}.dark .invoice-form .form-group input::placeholder,.dark .invoice-form .form-group textarea::placeholder{color:#6b7280}.dark .invoice-form .form-group input:focus,.dark .invoice-form .form-group select:focus,.dark .invoice-form .form-group textarea:focus{border-color:#3b82f6}.dark .line-item-row{background:#1f2937;border-color:#4b5563}.dark .line-item-row .calculated-value{background:#374151;border-color:#4b5563;color:#f9fafb}.dark .invoice-totals{background:#374151;border-color:#4b5563}.dark .invoice-totals .total-row .label{color:#9ca3af}.dark .invoice-totals .total-row .value{color:#f9fafb}.dark .invoice-totals .grand-total{border-top-color:#4b5563}.dark .invoice-totals .grand-total .label,.dark .invoice-totals .grand-total .value{color:#60a5fa}.dark .form-error{background:#ef444426;border-color:#f87171;color:#f87171}.invoice-detail-header{padding-bottom:1rem;border-bottom:1px solid var(--border-color, #e5e7eb);margin-bottom:1rem}.invoice-title-row{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.invoice-icon{width:48px;height:48px;background:var(--primary-light, #e0e7ff);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--primary, #4f46e5);flex-shrink:0}.invoice-title-info{display:flex;align-items:center;gap:.75rem;flex:1}.invoice-title-info h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #111827)}.customer-info{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.875rem;color:var(--text-secondary, #6b7280)}.customer-info svg{color:var(--text-muted, #9ca3af)}.customer-email{display:inline-flex;align-items:center;gap:.25rem;margin-left:.5rem;color:var(--primary, #4f46e5);text-decoration:none}.customer-email:hover{text-decoration:underline}.invoice-detail-body{display:flex;flex-direction:column;gap:1.5rem}.financial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem}.financial-item{display:flex;flex-direction:column;gap:.25rem;text-align:center;padding:.5rem;background:var(--bg-primary, white);border-radius:6px}.financial-item .value{font-size:1rem;font-weight:600;color:var(--text-primary, #111827)}.financial-item .value.total{color:var(--primary, #4f46e5);font-size:1.125rem}.financial-item .value.discount{color:var(--error, #ef4444)}.detail-row .label{color:var(--text-secondary, #6b7280);min-width:130px;flex-shrink:0}.detail-section.reminder-info{background:var(--warning-bg, #fffbeb);border:1px solid var(--warning, #f59e0b)}.detail-section.reminder-info h4{color:var(--warning-dark, #b45309)}.actions-left{display:flex;gap:.5rem;flex:1;flex-wrap:wrap}.action-modal-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:1rem}.action-modal-content .send-icon{color:var(--primary, #4f46e5)}.action-modal-content .send-target{font-size:.875rem;color:var(--text-secondary, #6b7280)}.action-modal-content .warning-text{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--warning-dark, #b45309);background:var(--warning-bg, #fffbeb);padding:.5rem .75rem;border-radius:6px}.action-modal-content .warning-text svg{color:var(--warning, #f59e0b);flex-shrink:0}.payment-form .form-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary, #6b7280)}@media (max-width: 640px){.financial-grid{grid-template-columns:repeat(2,1fr)}.detail-row{flex-direction:column;gap:.25rem}.detail-row .label{min-width:auto}.payment-info{flex-direction:column;align-items:flex-start;gap:.25rem}.payment-form .form-row{grid-template-columns:1fr}}.dark .invoice-detail-header{border-bottom-color:var(--border-color-dark, #374151)}.dark .invoice-icon{background:var(--primary-dark-bg, #312e81);color:var(--primary-light, #a5b4fc)}.dark .invoice-title-info h3{color:var(--text-primary-dark, #f9fafb)}.dark .customer-info{color:var(--text-secondary-dark, #9ca3af)}.dark .customer-email{color:var(--primary-light, #a5b4fc)}.dark .financial-item .value,.dark .detail-row .value{color:var(--text-primary-dark, #f9fafb)}.dark .internal-notes{border-top-color:var(--border-color-dark, #374151)}.dark .detail-section.reminder-info{background:var(--warning-bg-dark, #451a03)}.dark .action-modal-content .warning-text{background:var(--warning-bg-dark, #451a03);color:var(--warning-light, #fcd34d)}.invoice-list{display:flex;flex-direction:column;height:100%}.invoice-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.header-actions{display:flex;align-items:center;gap:.75rem}.view-toggle{display:flex;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;overflow:hidden}.view-toggle button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:var(--bg-primary, #fff);color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s ease}.view-toggle button:hover{background:var(--bg-tertiary, #f1f5f9)}.view-toggle button.active{background:var(--color-primary, #3b82f6);color:var(--text-on-primary, #fff)}.view-toggle button:not(:last-child){border-right:1px solid var(--border-color, #e2e8f0)}.invoice-list-filters{display:flex;gap:.75rem;margin-bottom:1rem}.invoice-list-loading,.invoice-list-error,.invoice-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.invoice-list-loading .spinner{width:32px;height:32px;border:3px solid var(--border-color, #e2e8f0);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.invoice-list-error{color:var(--color-danger, #ef4444)}.invoice-list-empty h4{margin:1rem 0 .5rem;color:var(--text-primary, #1e293b)}.invoice-list-empty p{margin:0 0 1.5rem;color:var(--text-secondary, #64748b)}.invoice-table-container{flex:1;overflow-x:auto;border:1px solid var(--border-color, #e2e8f0);border-radius:8px}.invoice-table{width:100%;border-collapse:collapse;font-size:.875rem}.invoice-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.025em;background:var(--bg-tertiary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0)}.invoice-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.invoice-table tbody tr:hover{background:var(--bg-tertiary, #f8fafc)}.invoice-table tbody tr.overdue{background:var(--payment-overdue-bg, #fef2f2)}.invoice-table tbody tr.overdue:hover{background:var(--badge-critical-bg, #fee2e2)}.invoice-table .invoice-number{font-weight:600;color:var(--color-primary, #3b82f6)}.invoice-table .customer{color:var(--text-primary, #1e293b)}.invoice-table .date{color:var(--text-secondary, #64748b)}.invoice-table .date.overdue{color:var(--color-danger, #ef4444);font-weight:600}.invoice-table .amount{font-weight:600;color:var(--text-primary, #1e293b)}.invoice-table .balance-due{font-weight:600;color:var(--color-danger, #ef4444)}.invoice-table .balance-paid{font-weight:500;color:var(--color-success, #22c55e)}.invoice-table .status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:uppercase}.status-badge.draft{background:var(--badge-muted-bg, #f1f5f9);color:var(--badge-muted-color, #475569)}.status-badge.sent{background:var(--badge-info-bg, #dbeafe);color:var(--badge-info-color, #1e40af)}.status-badge.viewed{background:var(--badge-viewed-bg, #e0e7ff);color:var(--badge-viewed-color, #3730a3)}.status-badge.partial{background:var(--badge-warning-bg, #fef3c7);color:var(--badge-warning-color, #92400e)}.status-badge.cancelled{background:var(--badge-muted-bg, #f1f5f9);color:var(--badge-muted-color, #64748b)}.status-icon.success{color:var(--stat-income-color, #16a34a)}.status-icon.danger{color:var(--stat-expense-color, #dc2626)}.status-icon.info{color:var(--color-primary-dark, #2563eb)}.status-icon.muted{color:var(--badge-muted-color, #64748b)}.invoice-table .actions{width:50px}.action-menu{position:relative}.action-menu .dropdown-menu{display:block!important;position:absolute;top:100%;right:0;min-width:160px;padding:.25rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #fff);box-shadow:var(--shadow-lg, 0 4px 12px rgba(0, 0, 0, .1));z-index:10}.dropdown-menu button.danger{color:var(--color-danger, #ef4444)}.dropdown-menu button.danger:hover{background:var(--badge-critical-bg, #fee2e2)}.invoice-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.invoice-card{padding:1rem;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-primary, #fff);transition:all .15s ease}.invoice-card:hover{box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .08))}.invoice-card.overdue{border-left:3px solid var(--color-danger, #ef4444);background:var(--payment-overdue-bg, #fef2f2)}.invoice-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.invoice-card .invoice-number{font-weight:600;color:var(--color-primary, #3b82f6)}.invoice-card .invoice-actions{position:relative}.invoice-customer{font-size:.9375rem;color:var(--text-primary, #1e293b);margin-bottom:.75rem}.invoice-amounts{display:flex;gap:1.5rem;margin-bottom:.75rem}.invoice-amounts .total,.invoice-amounts .balance{display:flex;flex-direction:column}.invoice-amounts .label{font-size:.6875rem;font-weight:500;color:var(--text-secondary, #64748b);text-transform:uppercase}.invoice-amounts .total .value{font-size:1.125rem;font-weight:700;color:var(--text-primary, #1e293b)}.invoice-amounts .balance .value{font-size:1.125rem;font-weight:700;color:var(--color-danger, #ef4444)}.invoice-meta{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px dashed var(--border-color, #e2e8f0)}.invoice-meta .due-date{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary, #64748b)}.invoice-meta .due-date.overdue{color:var(--color-danger, #ef4444);font-weight:600}.dark .invoice-list-header h3{color:#f9fafb}.dark .view-toggle{border-color:#374151}.dark .view-toggle button{background:#1f2937;color:#9ca3af;border-right-color:#374151}.dark .view-toggle button:hover{background:#374151}.dark .view-toggle button.active{background:#3b82f6;color:#fff}.dark .invoice-list-empty h4{color:#f9fafb}.dark .invoice-list-empty p{color:#9ca3af}.dark .invoice-table-container{border-color:#374151}.dark .invoice-table th{background:#374151;color:#9ca3af;border-bottom-color:#374151}.dark .invoice-table td{border-bottom-color:#374151}.dark .invoice-table tbody tr:hover{background:#374151}.dark .invoice-table tbody tr.overdue{background:#ef44441a}.dark .invoice-table tbody tr.overdue:hover{background:#ef444426}.dark .invoice-table .invoice-number{color:#60a5fa}.dark .invoice-table .customer{color:#f9fafb}.dark .invoice-table .date{color:#9ca3af}.dark .invoice-table .amount{color:#f9fafb}.dark .btn-menu{color:#9ca3af}.dark .dropdown-menu button.danger{color:#f87171}.dark .dropdown-menu button.danger:hover{background:#ef444426}.dark .invoice-card{background:#1f2937;border-color:#374151}.dark .invoice-card:hover{box-shadow:0 4px 12px #0006}.dark .invoice-card.overdue{background:#ef44441a;border-left-color:#ef4444}.dark .invoice-card .invoice-number{color:#60a5fa}.dark .invoice-customer{color:#f9fafb}.dark .invoice-amounts .label{color:#9ca3af}.dark .invoice-amounts .total .value{color:#f9fafb}.dark .invoice-meta{border-top-color:#374151}.dark .invoice-meta .due-date{color:#9ca3af}.dark .status-badge.draft{background:#374151;color:#9ca3af}.dark .status-badge.sent{background:#3b82f626;color:#60a5fa}.dark .status-badge.viewed{background:#6366f126;color:#a5b4fc}.dark .status-badge.partial{background:#f59e0b26;color:#fbbf24}.dark .status-badge.cancelled{background:#374151;color:#6b7280}[data-theme=dark] .invoice-card:hover{box-shadow:0 4px 12px #0000004d}[data-theme=dark] .invoice-card.overdue,[data-theme=dark] .invoice-table tbody tr.overdue{background:var(--payment-overdue-bg-dark, rgba(254, 242, 242, .1))}[data-theme=dark] .invoice-table tbody tr.overdue:hover{background:var(--payment-overdue-hover-dark, rgba(254, 226, 226, .15))}.payment-form{display:flex;flex-direction:column;gap:1.5rem}.payment-summary{background:var(--bg-secondary, #f9fafb);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.payment-summary .summary-row{display:flex;justify-content:space-between;font-size:.875rem}.payment-summary .summary-row .label{color:var(--text-secondary, #6b7280)}.payment-summary .summary-row .value{color:var(--text-primary, #111827);font-weight:500}.payment-summary .summary-row.highlight{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color, #e5e7eb)}.payment-summary .summary-row .value.balance{font-size:1.125rem;font-weight:700;color:var(--warning, #f59e0b)}.payment-form .form-section{display:flex;flex-direction:column;gap:1rem}.payment-form .form-group{display:flex;flex-direction:column;gap:.375rem}.payment-form .form-group label{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;color:var(--text-secondary, #6b7280)}.payment-form .form-group label svg{color:var(--text-muted, #9ca3af)}.payment-form .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.partial-payment-info{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;background:var(--warning-bg, #fffbeb);border:1px solid var(--warning, #f59e0b);border-radius:6px;font-size:.8125rem;color:var(--warning-dark, #b45309)}.partial-payment-info svg{flex-shrink:0;color:var(--warning, #f59e0b)}.quick-amount-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.payment-form .notes-textarea{width:100%;padding:.75rem;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;font-family:inherit;font-size:.875rem;resize:vertical;background:var(--bg-primary, white);color:var(--text-primary, #111827)}.payment-form .notes-textarea:focus{outline:none;border-color:var(--primary, #4f46e5);box-shadow:0 0 0 2px var(--primary-light, #e0e7ff)}.payment-form .form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--error-bg, #fef2f2);border:1px solid var(--error, #ef4444);border-radius:6px;color:var(--error, #ef4444);font-size:.875rem}@media (max-width: 480px){.payment-form .form-row{grid-template-columns:1fr}}.dark .payment-summary{background:var(--bg-secondary-dark, #1f2937)}.dark .payment-summary .summary-row .value{color:var(--text-primary-dark, #f9fafb)}.dark .payment-summary .summary-row.highlight{border-top-color:var(--border-color-dark, #374151)}.dark .payment-form .form-group label{color:var(--text-secondary-dark, #9ca3af)}.dark .partial-payment-info{background:var(--warning-bg-dark, #451a03);color:var(--warning-light, #fcd34d)}.dark .payment-form .notes-textarea{background:var(--bg-primary-dark, #111827);border-color:var(--border-color-dark, #374151);color:var(--text-primary-dark, #f9fafb)}.dark .payment-form .form-error{background:var(--error-bg-dark, #450a0a)}.bill-detail-header{padding-bottom:1rem;border-bottom:1px solid var(--border-color, #e5e7eb);margin-bottom:1rem}.bill-title-row{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.bill-icon{width:48px;height:48px;background:var(--primary-light, #e0e7ff);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--primary, #4f46e5);flex-shrink:0}.bill-title-info{display:flex;align-items:center;gap:.75rem;flex:1}.bill-title-info h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #111827)}.vendor-link{display:inline-flex;align-items:center;gap:.375rem;margin-top:.5rem;padding:.25rem .5rem;background:var(--bg-secondary, #f3f4f6);border-radius:6px;font-size:.875rem;color:var(--primary, #4f46e5);cursor:pointer;transition:background .2s}.vendor-link:hover{background:var(--primary-light, #e0e7ff)}.bill-detail-body{display:flex;flex-direction:column;gap:1.5rem}.detail-section.highlight{background:linear-gradient(135deg,var(--primary-light, #e0e7ff) 0%,var(--bg-secondary, #f9fafb) 100%);border:1px solid var(--primary, #4f46e5);border-opacity:.2}.financial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.financial-item{display:flex;flex-direction:column;gap:.25rem;text-align:center;padding:.75rem;background:var(--bg-primary, white);border-radius:6px}.financial-item .label{font-size:.75rem;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.025em}.financial-item .value{font-size:1.25rem;font-weight:700}.financial-item .value.total{color:var(--text-primary, #111827)}.financial-item .value.paid{color:var(--success, #10b981)}.financial-item .value.balance{color:var(--warning, #f59e0b)}.financial-item .value.balance.unpaid{color:var(--error, #ef4444)}.financial-item .value.balance.paid{color:var(--success, #10b981)}.detail-row{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem}.detail-row .label{color:var(--text-secondary, #6b7280);min-width:140px;flex-shrink:0}.detail-row .value.overdue{color:var(--error, #ef4444);font-weight:500}.due-info{color:var(--text-secondary, #6b7280);font-size:.875rem}.overdue-badge{display:inline-flex;align-items:center;gap:.25rem;margin-left:.5rem;padding:.125rem .5rem;background:var(--error-bg, #fef2f2);border:1px solid var(--error, #ef4444);border-radius:4px;font-size:.75rem;color:var(--error, #ef4444);font-weight:500}.payment-history{display:flex;flex-direction:column;gap:.5rem}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-primary, white);border-radius:6px;border:1px solid var(--border-color, #e5e7eb)}.payment-info{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.payment-date{font-weight:500;color:var(--text-primary, #111827)}.payment-method{color:var(--text-secondary, #6b7280);text-transform:capitalize}.payment-ref{font-size:.75rem;color:var(--text-muted, #9ca3af)}.payment-amount{font-weight:600;color:var(--success, #10b981)}.internal-notes{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border-color, #e5e7eb)}.internal-label{font-size:.75rem;color:var(--text-muted, #9ca3af);text-transform:uppercase;letter-spacing:.05em}.internal-notes p{margin:.25rem 0 0;color:var(--text-secondary, #6b7280);font-size:.875rem;font-style:italic}.action-modal-content{display:flex;flex-direction:column;gap:1rem;padding:.5rem}.action-modal-content p{margin:0;color:var(--text-primary, #111827)}@media (max-width: 640px){.financial-grid{grid-template-columns:1fr}.detail-row{flex-direction:column;gap:.25rem}.detail-row .label{min-width:auto}.payment-info{flex-direction:column;align-items:flex-start;gap:.25rem}}.dark .bill-detail-header{border-bottom-color:var(--border-color-dark, #374151)}.dark .bill-icon{background:var(--primary-dark-bg, #312e81);color:var(--primary-light, #a5b4fc)}.dark .bill-title-info h3{color:var(--text-primary-dark, #f9fafb)}.dark .vendor-link{background:var(--bg-secondary-dark, #374151);color:var(--primary-light, #a5b4fc)}.dark .vendor-link:hover{background:var(--primary-dark-bg, #312e81)}.dark .detail-section.highlight{background:linear-gradient(135deg,var(--primary-dark-bg, #312e81) 0%,var(--bg-secondary-dark, #1f2937) 100%)}.dark .detail-section h4{color:var(--text-primary-dark, #f9fafb)}.dark .financial-item{background:var(--bg-primary-dark, #111827)}.dark .financial-item .value.total,.dark .detail-row .value{color:var(--text-primary-dark, #f9fafb)}.dark .overdue-badge{background:var(--error-bg-dark, #450a0a)}.dark .payment-item{background:var(--bg-primary-dark, #111827);border-color:var(--border-color-dark, #374151)}.dark .payment-date{color:var(--text-primary-dark, #f9fafb)}.dark .internal-notes,.dark .detail-section.metadata{border-top-color:var(--border-color-dark, #374151)}.dark .action-modal-content p{color:var(--text-primary-dark, #f9fafb)}.bill-form{display:flex;flex-direction:column;gap:1.5rem}.bill-form .form-section{background:var(--bg-secondary, #f9fafb);border-radius:8px;padding:1rem}.bill-form .form-section h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.875rem;font-weight:600;color:var(--text-primary, #111827)}.bill-form .form-section h3 svg{color:var(--text-secondary, #6b7280)}.bill-form .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.bill-form .section-header h3{margin:0}.bill-form .form-group{margin-bottom:.75rem}.bill-form .form-group:last-child{margin-bottom:0}.bill-form .form-group label{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;color:var(--text-secondary, #6b7280);margin-bottom:.375rem}.bill-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.bill-form .form-row .form-group{margin-bottom:0}.line-items-table{margin-bottom:1rem}.line-items-header{display:grid;grid-template-columns:2fr 80px 100px 80px 100px 40px;gap:.5rem;padding:.5rem;background:var(--bg-primary, white);border-radius:6px 6px 0 0;font-size:.75rem;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.025em}.line-item-row{display:grid;grid-template-columns:2fr 80px 100px 80px 100px 40px;gap:.5rem;padding:.5rem;border-bottom:1px solid var(--border-color, #e5e7eb);align-items:center}.line-item-row:last-child{border-bottom:none}.col-description{min-width:0}.col-quantity,.col-price,.col-tax,.col-quantity input,.col-price input,.col-tax input{text-align:right}.col-total{font-weight:600;text-align:right;color:var(--text-primary, #111827);font-size:.875rem}.col-action{display:flex;justify-content:center}.line-item-error{grid-column:1 / -1;font-size:.75rem;color:var(--error, #ef4444);padding-top:.25rem}.field-error{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin-bottom:.75rem;background:var(--error-bg, #fef2f2);border:1px solid var(--error, #ef4444);border-radius:6px;font-size:.8125rem;color:var(--error, #ef4444)}.bill-totals{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;padding-top:.75rem;border-top:2px solid var(--border-color, #e5e7eb)}.total-row{display:flex;justify-content:space-between;width:200px;font-size:.875rem;color:var(--text-secondary, #6b7280)}.total-row span:last-child{font-weight:500;color:var(--text-primary, #111827)}.total-row.grand-total{margin-top:.25rem;padding-top:.5rem;border-top:1px solid var(--border-color, #e5e7eb);font-size:1rem;font-weight:600}.total-row.grand-total span:last-child{color:var(--primary, #4f46e5)}.bill-form .notes-textarea{width:100%;padding:.75rem;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;font-family:inherit;font-size:.875rem;resize:vertical;background:var(--bg-primary, white);color:var(--text-primary, #111827)}.bill-form .notes-textarea:focus{outline:none;border-color:var(--primary, #4f46e5);box-shadow:0 0 0 2px var(--primary-light, #e0e7ff)}.bill-form .form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--error-bg, #fef2f2);border:1px solid var(--error, #ef4444);border-radius:6px;color:var(--error, #ef4444);font-size:.875rem}@media (max-width: 768px){.line-items-header{display:none}.line-item-row{grid-template-columns:1fr;gap:.5rem;padding:.75rem;background:var(--bg-primary, white);border-radius:6px;margin-bottom:.5rem;border:1px solid var(--border-color, #e5e7eb)}.col-description{grid-column:1 / -1}.col-quantity,.col-price,.col-tax,.col-total{text-align:left}.col-quantity:before,.col-price:before,.col-tax:before,.col-total:before{content:attr(data-label);font-size:.75rem;color:var(--text-secondary, #6b7280);margin-right:.5rem}}.dark .bill-form .form-section{background:var(--bg-secondary-dark, #1f2937)}.dark .bill-form .form-section h3{color:var(--text-primary-dark, #f9fafb)}.dark .bill-form .form-group label{color:var(--text-secondary-dark, #9ca3af)}.dark .line-items-header{background:var(--bg-primary-dark, #111827)}.dark .line-item-row{border-bottom-color:var(--border-color-dark, #374151)}.dark .col-total{color:var(--text-primary-dark, #f9fafb)}.dark .bill-totals{border-top-color:var(--border-color-dark, #374151)}.dark .total-row span:last-child{color:var(--text-primary-dark, #f9fafb)}.dark .total-row.grand-total{border-top-color:var(--border-color-dark, #374151)}.dark .bill-form .notes-textarea{background:var(--bg-primary-dark, #111827);border-color:var(--border-color-dark, #374151);color:var(--text-primary-dark, #f9fafb)}.dark .field-error,.dark .bill-form .form-error{background:var(--error-bg-dark, #450a0a)}.bill-list{display:flex;flex-direction:column;height:100%}.bill-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.bill-list-filters{display:flex;gap:.75rem;margin-bottom:1rem}.search-box{display:flex;align-items:center;gap:.5rem;flex:1;padding:.5rem .75rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #fff)}.bill-list-loading,.bill-list-error,.bill-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.bill-list-loading .spinner{width:32px;height:32px;border:3px solid var(--border-color, #e2e8f0);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.bill-list-error{color:var(--color-danger, #ef4444)}.bill-list-empty h4{margin:1rem 0 .5rem;color:var(--text-primary, #1e293b)}.bill-list-empty p{margin:0 0 1.5rem;color:var(--text-secondary, #64748b)}.bill-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.bill-card{padding:1rem;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-primary, #fff);transition:all .15s ease}.bill-card:hover{box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .08))}.bill-card.overdue{border-left:3px solid var(--color-danger, #ef4444);background:var(--payment-overdue-bg, #fef2f2)}.bill-card.urgent{border-left:3px solid var(--color-orange, #f97316)}.bill-card.soon{border-left:3px solid var(--color-warning, #f59e0b)}.bill-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.bill-info{display:flex;flex-direction:column;gap:.25rem}.vendor-name{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;color:var(--text-secondary, #64748b)}.bill-actions{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;min-width:160px;padding:.25rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #fff);box-shadow:var(--shadow-lg, 0 4px 12px rgba(0, 0, 0, .1));z-index:10}.bill-description{font-size:.8125rem;color:var(--text-secondary, #64748b);margin-bottom:.75rem;line-height:1.4}.bill-amounts{display:flex;gap:1.5rem;margin-bottom:.75rem}.bill-amounts .amount-item{display:flex;flex-direction:column}.bill-amounts .label{font-size:.6875rem;font-weight:500;color:var(--text-secondary, #64748b);text-transform:uppercase}.bill-amounts .value{font-size:1rem;font-weight:700;color:var(--text-primary, #1e293b)}.bill-amounts .value.balance{color:var(--color-danger, #ef4444)}.bill-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px dashed var(--border-color, #e2e8f0)}.status-badge.info{background:var(--badge-info-bg, #dbeafe);color:var(--badge-info-color, #1e40af)}.due-date{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary, #64748b)}.due-date.overdue{color:var(--color-danger, #ef4444);font-weight:600}.due-date.urgent{color:var(--color-orange-dark, #ea580c);font-weight:600}.due-date.soon{color:var(--color-warning-dark, #d97706)}.approval-badge-row{margin-top:.5rem}.approval-badge{font-size:.625rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase}.approval-badge.submitted{background:var(--badge-info-bg, #dbeafe);color:var(--badge-info-color, #1e40af)}.dark .bill-list-header h3{color:#f9fafb}.dark .bill-list-empty h4{color:#f9fafb}.dark .bill-list-empty p{color:#9ca3af}.dark .bill-card{background:#1f2937;border-color:#374151}.dark .bill-card:hover{box-shadow:0 4px 12px #0006}.dark .bill-card.overdue{background:#ef44441a;border-left-color:#ef4444}.dark .vendor-name,.dark .btn-menu{color:#9ca3af}.dark .bill-description,.dark .bill-amounts .label{color:#9ca3af}.dark .bill-amounts .value{color:#f9fafb}.dark .bill-footer{border-top-color:#374151}.dark .due-date{color:#9ca3af}.dark .status-badge.info{background:#3b82f626;color:#60a5fa}[data-theme=dark] .bill-card:hover{box-shadow:0 4px 12px #0000004d}[data-theme=dark] .bill-card.overdue{background:var(--payment-overdue-bg-dark, rgba(254, 242, 242, .1))}.vendor-detail-header{padding-bottom:1rem;border-bottom:1px solid var(--border-color, #e5e7eb);margin-bottom:1rem}.vendor-title-row{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.vendor-avatar{width:48px;height:48px;background:var(--primary-light, #e0e7ff);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--primary, #4f46e5);flex-shrink:0}.vendor-title-info{display:flex;align-items:center;gap:.75rem;flex:1}.vendor-title-info h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #111827)}.vendor-type-badge{margin-top:.5rem}.type-label{display:inline-block;padding:.25rem .75rem;background:var(--bg-secondary, #f3f4f6);border-radius:6px;font-size:.875rem;color:var(--text-secondary, #6b7280);text-transform:capitalize}.vendor-detail-body{display:flex;flex-direction:column;gap:1.5rem}.detail-section{background:var(--bg-secondary, #f9fafb);border-radius:8px;padding:1rem}.detail-section h4{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--text-primary, #111827)}.detail-section h4 svg{color:var(--text-secondary, #6b7280)}.detail-grid{display:flex;flex-direction:column;gap:.5rem}.detail-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.detail-row .label{display:flex;align-items:center;gap:.25rem;color:var(--text-secondary, #6b7280);min-width:120px;flex-shrink:0}.detail-row .label svg{flex-shrink:0}.detail-row .value{color:var(--text-primary, #111827);flex:1}.detail-row .value.link{color:var(--primary, #4f46e5);text-decoration:none}.detail-row .value.link:hover{text-decoration:underline}.detail-row .value.total{font-weight:600;color:var(--success, #10b981)}.detail-row .value.balance{font-weight:600;color:var(--warning, #f59e0b)}.empty-state-inline{color:var(--text-muted, #9ca3af);font-size:.875rem;font-style:italic}.recent-bills-list{display:flex;flex-direction:column;gap:.5rem}.recent-bill-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--bg-primary, white);border-radius:6px;border:1px solid var(--border-color, #e5e7eb)}.bill-info{display:flex;flex-direction:column;gap:.125rem}.bill-number{font-size:.875rem;font-weight:500;color:var(--text-primary, #111827)}.bill-date{font-size:.75rem;color:var(--text-secondary, #6b7280)}.bill-amount{font-weight:600;color:var(--text-primary, #111827)}.view-all-bills{margin-top:.5rem}.notes-content{margin:0;color:var(--text-secondary, #6b7280);font-size:.875rem;line-height:1.5}.notes-textarea{width:100%;padding:.75rem;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;font-family:inherit;font-size:.875rem;resize:vertical;background:var(--bg-primary, white);color:var(--text-primary, #111827)}.notes-textarea:focus{outline:none;border-color:var(--primary, #4f46e5);box-shadow:0 0 0 2px var(--primary-light, #e0e7ff)}.detail-section.metadata{background:transparent;padding:0;border-top:1px solid var(--border-color, #e5e7eb);padding-top:1rem;margin-top:.5rem}.detail-section.metadata .detail-row{font-size:.75rem}.detail-section.metadata .label{min-width:100px}.actions-left{display:flex;gap:.5rem;flex:1}.confirm-modal-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:1rem}.confirm-modal-content .warning-icon{color:var(--warning, #f59e0b)}.confirm-modal-content p{margin:0;color:var(--text-primary, #111827)}.confirm-modal-content .hint{font-size:.875rem;color:var(--text-secondary, #6b7280)}.dark .vendor-detail-header{border-bottom-color:var(--border-color-dark, #374151)}.dark .vendor-avatar{background:var(--primary-dark-bg, #312e81);color:var(--primary-light, #a5b4fc)}.dark .vendor-title-info h3{color:var(--text-primary-dark, #f9fafb)}.dark .type-label{background:var(--bg-secondary-dark, #374151);color:var(--text-secondary-dark, #9ca3af)}.dark .detail-section{background:var(--bg-secondary-dark, #1f2937)}.dark .detail-section h4,.dark .detail-row .value{color:var(--text-primary-dark, #f9fafb)}.dark .recent-bill-item{background:var(--bg-primary-dark, #111827);border-color:var(--border-color-dark, #374151)}.dark .bill-number,.dark .bill-amount{color:var(--text-primary-dark, #f9fafb)}.dark .notes-textarea{background:var(--bg-primary-dark, #111827);border-color:var(--border-color-dark, #374151);color:var(--text-primary-dark, #f9fafb)}.dark .detail-section.metadata{border-top-color:var(--border-color-dark, #374151)}.dark .confirm-modal-content p{color:var(--text-primary-dark, #f9fafb)}.vendor-form{display:flex;flex-direction:column;gap:1.5rem}.vendor-form .form-section{background:var(--bg-secondary, #f9fafb);border-radius:8px;padding:1rem}.vendor-form .form-section h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.875rem;font-weight:600;color:var(--text-primary, #111827)}.vendor-form .form-section h3 svg{color:var(--text-secondary, #6b7280)}.vendor-form .form-group{margin-bottom:.75rem}.vendor-form .form-group:last-child{margin-bottom:0}.vendor-form .form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary, #6b7280);margin-bottom:.375rem}.vendor-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.vendor-form .form-row .form-group{margin-bottom:0}.vendor-form .notes-textarea{width:100%;padding:.75rem;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;font-family:inherit;font-size:.875rem;resize:vertical;background:var(--bg-primary, white);color:var(--text-primary, #111827)}.vendor-form .notes-textarea:focus{outline:none;border-color:var(--primary, #4f46e5);box-shadow:0 0 0 2px var(--primary-light, #e0e7ff)}.vendor-form .form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--error-bg, #fef2f2);border:1px solid var(--error, #ef4444);border-radius:6px;color:var(--error, #ef4444);font-size:.875rem}.dark .vendor-form .form-section{background:var(--bg-secondary-dark, #1f2937)}.dark .vendor-form .form-section h3{color:var(--text-primary-dark, #f9fafb)}.dark .vendor-form .form-group label{color:var(--text-secondary-dark, #9ca3af)}.dark .vendor-form .notes-textarea{background:var(--bg-primary-dark, #111827);border-color:var(--border-color-dark, #374151);color:var(--text-primary-dark, #f9fafb)}.dark .vendor-form .form-error{background:var(--error-bg-dark, #450a0a)}.vendor-directory{display:flex;flex-direction:column;height:100%}.vendor-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.header-left h3{margin:0;font-size:1.125rem;font-weight:600}.btn-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary, #64748b);cursor:pointer}.btn-back:hover{background:var(--bg-secondary, #e2e8f0);color:var(--text-primary, #1e293b)}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 .5rem;border-radius:9999px;background:var(--bg-tertiary, #f1f5f9);font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b)}.vendor-list-filters{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:.5rem;flex:1;min-width:200px;padding:.5rem .75rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #fff)}.search-box:focus-within{border-color:var(--color-primary, #3b82f6)}.search-box input{flex:1;border:none;background:transparent;font-size:.875rem;outline:none;color:var(--text-primary, #1e293b)}.search-box input::placeholder{color:var(--text-secondary, #64748b)}.search-box svg{color:var(--text-secondary, #64748b)}.filter-group{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #fff)}.filter-group svg{color:var(--text-secondary, #64748b)}.filter-group select{border:none;background:transparent;font-size:.875rem;outline:none;cursor:pointer;color:var(--text-primary, #1e293b)}.vendor-list-loading,.vendor-list-error,.vendor-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.vendor-list-loading .spinner{width:32px;height:32px;border:3px solid var(--border-color, #e2e8f0);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.vendor-list-error{color:var(--color-danger, #ef4444)}.vendor-list-empty h4{margin:1rem 0 .5rem;color:var(--text-primary, #1e293b)}.vendor-list-empty p{margin:0 0 1.5rem;color:var(--text-secondary, #64748b)}.vendor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.vendor-card{padding:1rem;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-primary, #fff);cursor:pointer;transition:all .15s ease}.vendor-card:hover{box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .08))}.vendor-card-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.vendor-avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary, #64748b);flex-shrink:0}.vendor-info{flex:1;min-width:0}.vendor-name{display:block;font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vendor-type{font-size:.75rem;color:var(--text-secondary, #64748b);text-transform:capitalize}.vendor-actions{position:relative}.btn-menu{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer}.btn-menu:hover{background:var(--bg-tertiary, #f1f5f9)}.dropdown-menu{position:absolute;top:100%;right:0;min-width:140px;padding:.25rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #fff);box-shadow:var(--shadow-lg, 0 4px 12px rgba(0, 0, 0, .1));z-index:10}.dropdown-menu button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;border-radius:4px;background:transparent;font-size:.8125rem;color:var(--text-primary, #1e293b);cursor:pointer;text-align:left}.dropdown-menu button:hover{background:var(--bg-tertiary, #f1f5f9)}.vendor-category{display:inline-block;font-size:.6875rem;font-weight:500;padding:.125rem .5rem;border-radius:4px;background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary, #64748b);margin-bottom:.75rem}.vendor-contact{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.75rem}.contact-item{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary, #64748b)}.contact-item svg{flex-shrink:0;opacity:.7}.contact-name{font-weight:500;color:var(--text-primary, #1e293b)}.vendor-spending{display:flex;align-items:center;gap:.375rem;padding:.5rem;border-radius:6px;background:var(--bg-tertiary, #f8fafc);margin-bottom:.75rem}.vendor-spending svg{color:var(--color-success, #22c55e)}.spending-label{font-size:.75rem;color:var(--text-secondary, #64748b)}.spending-value{font-size:.875rem;font-weight:700;color:var(--text-primary, #1e293b);margin-left:auto}.vendor-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px dashed var(--border-color, #e2e8f0)}.status-badge{font-size:.625rem;font-weight:600;padding:.25rem .625rem;border-radius:9999px;text-transform:uppercase}.status-badge.success{background:var(--badge-healthy-bg, #dcfce7);color:var(--badge-success-color, #166534)}.status-badge.danger{background:var(--badge-critical-bg, #fee2e2);color:var(--badge-danger-color, #991b1b)}.status-badge.warning{background:var(--badge-warning-bg, #fef3c7);color:var(--badge-warning-color, #92400e)}.status-badge.muted{background:var(--badge-muted-bg, #f1f5f9);color:var(--badge-muted-color, #64748b)}.payment-terms{font-size:.75rem;color:var(--text-secondary, #64748b)}.dark .vendor-list-header h3{color:#f9fafb}.dark .btn-back{background:#374151;color:#9ca3af}.dark .btn-back:hover{background:#4b5563;color:#f9fafb}.dark .count-badge{background:#374151;color:#9ca3af}.dark .search-box{background:#1f2937;border-color:#374151}.dark .search-box:focus-within{border-color:#3b82f6}.dark .search-box input{color:#f9fafb}.dark .search-box input::placeholder{color:#6b7280}.dark .search-box svg{color:#6b7280}.dark .filter-group{background:#1f2937;border-color:#374151}.dark .filter-group svg{color:#6b7280}.dark .filter-group select{color:#f9fafb;background:transparent}.dark .vendor-list-empty h4{color:#f9fafb}.dark .vendor-list-empty p{color:#9ca3af}.dark .vendor-card{background:#1f2937;border-color:#374151}.dark .vendor-card:hover{box-shadow:0 4px 12px #0006}.dark .vendor-avatar{background:#374151;color:#9ca3af}.dark .vendor-name{color:#f9fafb}.dark .vendor-type,.dark .btn-menu{color:#9ca3af}.dark .btn-menu:hover{background:#374151}.dark .dropdown-menu button{color:#f9fafb}.dark .dropdown-menu button:hover{background:#374151}.dark .vendor-category{background:#374151;color:#9ca3af}.dark .contact-item{color:#9ca3af}.dark .contact-name{color:#f9fafb}.dark .vendor-spending{background:#374151}.dark .spending-label{color:#9ca3af}.dark .spending-value{color:#f9fafb}.dark .vendor-footer{border-top-color:#374151}.dark .payment-terms{color:#9ca3af}.dark .status-badge.success{background:#22c55e26;color:#4ade80}.dark .status-badge.danger{background:#ef444426;color:#f87171}.dark .status-badge.warning{background:#f59e0b26;color:#fbbf24}.dark .status-badge.muted{background:#374151;color:#9ca3af}[data-theme=dark] .vendor-card:hover{box-shadow:0 4px 12px #0000004d}.financial-reports-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:95%;max-width:1200px;max-height:90vh;background:var(--bg-primary, #fff);border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;overflow:hidden;z-index:1001}.financial-reports-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.financial-reports-modal .header-content{display:flex;align-items:center;gap:.75rem}.financial-reports-modal .header-content svg{color:var(--color-primary, #3b82f6)}.financial-reports-modal .header-content h2{margin:0;font-size:1.25rem;font-weight:600}.financial-reports-modal .btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer}.financial-reports-modal .btn-close:hover{background:var(--bg-tertiary, #f1f5f9);color:var(--text-primary, #1e293b)}.financial-reports-modal .modal-body{flex:1;padding:1.5rem;overflow-y:auto}.report-selector .selector-hint{margin:0 0 1rem;color:var(--text-secondary, #64748b);font-size:.875rem}.report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.report-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;background:var(--bg-primary, #fff);cursor:pointer;transition:all .15s ease;text-align:left}.report-card:hover{border-color:var(--color-primary, #3b82f6);box-shadow:0 4px 12px #3b82f61a}.report-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:var(--bg-tertiary, #f1f5f9);color:var(--color-primary, #3b82f6);flex-shrink:0}.report-info{display:flex;flex-direction:column;gap:.25rem}.report-title{font-weight:600;color:var(--text-primary, #1e293b)}.report-description{font-size:.8125rem;color:var(--text-secondary, #64748b);line-height:1.4}.report-view{display:flex;flex-direction:column;gap:1rem}.report-header-bar{display:flex;align-items:center;gap:1rem}.report-view .btn-back{padding:.375rem .75rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #fff);font-size:.8125rem;color:var(--text-secondary, #64748b);cursor:pointer}.report-view .btn-back:hover{background:var(--bg-tertiary, #f1f5f9);color:var(--text-primary, #1e293b)}.report-header-bar h3{margin:0;font-size:1.125rem;font-weight:600}.report-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;padding:1rem;border-radius:8px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0)}.filter-section{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em;width:100%;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, #e2e8f0);margin-bottom:.5rem}.filter-row{display:flex;flex-wrap:wrap;gap:1rem;width:100%}.report-filters .filter-group{display:flex;flex-direction:column;gap:.375rem}.report-filters .filter-group.checkbox{flex-direction:row;align-items:center}.report-filters .filter-group label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.report-filters .filter-group.checkbox label{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;cursor:pointer}.report-filters .filter-group input[type=date],.report-filters .filter-group select{padding:.5rem .75rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #fff);font-size:.875rem;min-width:150px}.report-filters .filter-group input:focus,.report-filters .filter-group select:focus{outline:none;border-color:var(--color-primary, #3b82f6)}.btn-run-report{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:none;border-radius:6px;background:var(--color-primary, #3b82f6);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;margin-left:auto}.btn-run-report:hover:not(:disabled){background:var(--color-primary-dark, #2563eb)}.btn-run-report:disabled{opacity:.6;cursor:not-allowed}.report-results{flex:1;min-height:300px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;overflow:hidden}.report-results .loading-state,.report-results .error-state,.report-results .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--text-secondary, #64748b)}.report-results .loading-state svg,.report-results .empty-state svg{margin-bottom:1rem;opacity:.5}.report-results .error-state{color:var(--color-danger, #ef4444)}.report-table-container{padding:1rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-cards.aging{grid-template-columns:repeat(5,1fr)}.summary-card{padding:1rem;border-radius:8px;background:var(--bg-tertiary, #f8fafc);border:1px solid var(--border-color, #e2e8f0)}.summary-card .label{display:block;font-size:.6875rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.summary-card .value{font-size:1.25rem;font-weight:700;color:var(--text-primary, #1e293b)}.summary-card .value.positive{color:var(--color-success, #16a34a)}.summary-card .value.negative{color:var(--color-danger, #dc2626)}.summary-card.current{border-left:3px solid #22c55e}.summary-card.days-30{border-left:3px solid #eab308}.summary-card.days-60{border-left:3px solid #f97316}.summary-card.days-90{border-left:3px solid #ef4444}.summary-card.over-90{border-left:3px solid #991b1b}.report-table{width:100%;border-collapse:collapse;font-size:.875rem}.report-table th{text-align:left;padding:.75rem 1rem;background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary, #64748b);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color, #e2e8f0)}.report-table th.right{text-align:right}.report-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-color, #e2e8f0);color:var(--text-primary, #1e293b)}.report-table td.right{text-align:right;font-family:SF Mono,Monaco,monospace}.report-table td.positive{color:var(--color-success, #16a34a)}.report-table td.negative{color:var(--color-danger, #dc2626)}.report-table tr:hover td{background:var(--bg-secondary, #f8fafc)}.report-table tr.aging-current td{background:#22c55e0d}.report-table tr.aging-1-30 td{background:#eab3080d}.report-table tr.aging-31-60 td{background:#f973160d}.report-table tr.aging-61-90 td{background:#ef44440d}.report-table tr.aging-90\+ td{background:#991b1b0d}.badge{display:inline-block;padding:.25rem .625rem;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:uppercase}.badge.current{background:#dcfce7;color:#166534}.badge.days-1-30{background:#fef3c7;color:#92400e}.badge.days-31-60{background:#fed7aa;color:#9a3412}.badge.days-61-90{background:#fecaca;color:#991b1b}.badge.days-90-plus{background:#fee2e2;color:#7f1d1d}.utilization-cell{display:flex;align-items:center;gap:.5rem}.utilization-bar{height:6px;border-radius:3px;max-width:60px}.percentage-cell{display:flex;align-items:center;gap:.5rem}.percentage-bar{height:6px;border-radius:3px;background:var(--color-primary, #3b82f6);max-width:60px}.export-actions{display:flex;align-items:center;gap:.75rem;padding:1rem;border-top:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.export-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary, #64748b)}.btn-export{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #fff);font-size:.8125rem;font-weight:500;color:var(--text-primary, #1e293b);cursor:pointer}.btn-export:hover:not(:disabled){background:var(--bg-tertiary, #f1f5f9);border-color:var(--color-primary, #3b82f6)}.btn-export:disabled{opacity:.5;cursor:not-allowed}.spinner{animation:spin .8s linear infinite}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000}@media (max-width: 768px){.financial-reports-modal{width:100%;height:100%;max-height:100%;border-radius:0}.report-grid{grid-template-columns:1fr}.summary-cards,.summary-cards.aging{grid-template-columns:repeat(2,1fr)}.report-filters{flex-direction:column;align-items:stretch}.btn-run-report{margin-left:0;width:100%;justify-content:center}.report-table{font-size:.75rem}.report-table th,.report-table td{padding:.5rem}}.dark .financial-reports-modal{background:#1f2937;box-shadow:0 20px 60px #00000080}.dark .financial-reports-modal .modal-header{background:#111827;border-bottom-color:#374151}.dark .financial-reports-modal .header-content svg{color:#60a5fa}.dark .financial-reports-modal .header-content h2{color:#f9fafb}.dark .financial-reports-modal .btn-close{color:#9ca3af}.dark .financial-reports-modal .btn-close:hover{background:#374151;color:#f9fafb}.dark .report-selector .selector-hint{color:#9ca3af}.dark .report-card{background:#374151;border-color:#4b5563}.dark .report-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633}.dark .report-icon{background:#1f2937;color:#60a5fa}.dark .report-title{color:#f9fafb}.dark .report-description{color:#9ca3af}.dark .report-view .btn-back{background:#374151;border-color:#4b5563;color:#9ca3af}.dark .report-view .btn-back:hover{background:#4b5563;color:#f9fafb}.dark .report-header-bar h3{color:#f9fafb}.dark .report-filters{background:#111827;border-color:#374151}.dark .filter-section{color:#9ca3af;border-bottom-color:#374151}.dark .report-filters .filter-group label{color:#9ca3af}.dark .report-filters .filter-group.checkbox label{color:#f9fafb}.dark .report-filters .filter-group input[type=date],.dark .report-filters .filter-group select{background:#374151;border-color:#4b5563;color:#f9fafb}.dark .report-filters .filter-group input:focus,.dark .report-filters .filter-group select:focus{border-color:#3b82f6}.dark .report-results{border-color:#374151;background:#1f2937}.dark .report-results .loading-state,.dark .report-results .error-state,.dark .report-results .empty-state{color:#9ca3af}.dark .report-results .error-state{color:#f87171}.dark .summary-card{background:#374151;border-color:#4b5563}.dark .summary-card .label{color:#9ca3af}.dark .summary-card .value{color:#f9fafb}.dark .summary-card .value.positive{color:#4ade80}.dark .summary-card .value.negative{color:#f87171}.dark .report-table th{background:#374151;color:#9ca3af;border-bottom-color:#4b5563}.dark .report-table td{border-bottom-color:#374151;color:#f9fafb}.dark .report-table td.positive{color:#4ade80}.dark .report-table td.negative{color:#f87171}.dark .report-table tr:hover td{background:#374151}.dark .report-table tr.aging-current td{background:#22c55e1a}.dark .report-table tr.aging-1-30 td{background:#eab3081a}.dark .report-table tr.aging-31-60 td{background:#f973161a}.dark .report-table tr.aging-61-90 td{background:#ef44441a}.dark .report-table tr.aging-90\+ td{background:#991b1b1a}.dark .badge.current{background:#22c55e26;color:#4ade80}.dark .badge.days-1-30{background:#f59e0b26;color:#fbbf24}.dark .badge.days-31-60{background:#f9731626;color:#fb923c}.dark .badge.days-61-90{background:#ef444426;color:#f87171}.dark .badge.days-90-plus{background:#991b1b26;color:#fca5a5}.dark .export-actions{background:#111827;border-top-color:#374151}.dark .export-label{color:#9ca3af}.dark .btn-export{background:#374151;border-color:#4b5563;color:#f9fafb}.dark .btn-export:hover:not(:disabled){background:#4b5563;border-color:#3b82f6}.dark .modal-overlay{background:#000000b3}.finance-dashboard{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary, #f8fafc)}.finance-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--bg-primary, #fff);border-bottom:1px solid var(--border-color, #e2e8f0)}.finance-header-left{display:flex;align-items:center;gap:.75rem}.finance-header-left h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #1e293b)}.finance-icon{color:var(--color-success, #22c55e)}.finance-header-right{display:flex;align-items:center;gap:.5rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s ease}.btn-icon:hover{background:var(--bg-tertiary, #f1f5f9);color:var(--text-primary, #1e293b)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.finance-nav{display:flex;gap:.25rem;padding:0 1.5rem;background:var(--bg-primary, #fff);border-bottom:1px solid var(--border-color, #e2e8f0);overflow-x:auto}.finance-nav-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary, #64748b);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.finance-nav-item:hover{color:var(--text-primary, #1e293b);background:var(--bg-tertiary, #f1f5f9)}.finance-nav-item.active{color:var(--color-primary, #3b82f6);border-bottom-color:var(--color-primary, #3b82f6)}.finance-nav-item.reports-btn{margin-left:auto;background:linear-gradient(135deg,#3b82f6,#2563eb);color:var(--text-on-primary, #fff);border-radius:6px;padding:.5rem 1rem;border-bottom:none}.finance-nav-item.reports-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:var(--text-on-primary, #fff)}.finance-content{flex:1;padding:1.5rem;overflow-y:auto}.finance-loading,.finance-error,.finance-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--text-secondary, #64748b)}.finance-loading p,.finance-error p,.finance-empty p{margin:1rem 0 0}.finance-error{color:var(--color-danger, #ef4444)}.finance-error small{margin-top:.5rem;font-size:.75rem;opacity:.7}.finance-empty h3{margin:1rem 0 .5rem;color:var(--text-primary, #1e293b)}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.coming-soon h3{margin:0 0 .5rem;color:var(--text-primary, #1e293b)}.coming-soon p{margin:0 0 1.5rem;color:var(--text-secondary, #64748b)}.overview-content{display:flex;flex-direction:column;gap:1.5rem}@media (max-width: 1200px){.overview-grid{grid-template-columns:1fr}}.overview-section{background:var(--bg-primary, #fff);border-radius:8px;border:1px solid var(--border-color, #e2e8f0);padding:1rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.section-header h3{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b)}.btn-link{display:flex;align-items:center;gap:.25rem;padding:0;border:none;background:transparent;color:var(--color-primary, #3b82f6);font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .15s ease}.btn-link:hover{color:var(--color-primary-dark, #2563eb)}.finance-stats-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.stat-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--bg-primary, #fff);border-radius:8px;border:1px solid var(--border-color, #e2e8f0);transition:box-shadow .15s ease}.stat-card:hover{box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .06))}.stat-card.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:var(--text-on-primary, #fff)}.stat-card.primary .stat-label{color:#fffc}.stat-card.primary .stat-value{color:var(--text-on-primary, #fff)}.stat-card.alert{border-color:var(--color-warning, #f59e0b);background:var(--stat-alert-bg, #fffbeb)}.stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary, #64748b);flex-shrink:0}.stat-card.primary .stat-icon{background:#fff3;color:var(--text-on-primary, #fff)}.stat-icon.income{background:var(--stat-income-bg, #dcfce7);color:var(--stat-income-color, #16a34a)}.stat-icon.expense{background:var(--stat-expense-bg, #fee2e2);color:var(--stat-expense-color, #dc2626)}.stat-icon.warning{background:var(--stat-warning-bg, #fef3c7);color:var(--stat-warning-color, #d97706)}.stat-icon.success{background:var(--stat-income-bg, #dcfce7);color:var(--stat-income-color, #16a34a)}.stat-content{display:flex;flex-direction:column;gap:.25rem;min-width:0}.stat-label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.025em}.stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary, #1e293b);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:600;margin-top:.25rem}.stat-badge.healthy{background:var(--badge-healthy-bg, #dcfce7);color:var(--badge-healthy-color, #16a34a)}.stat-badge.warning{background:var(--badge-warning-bg, #fef3c7);color:var(--badge-warning-color, #d97706)}.stat-badge.critical{background:var(--badge-critical-bg, #fee2e2);color:var(--badge-critical-color, #dc2626)}.budget-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.budget-health-card{padding:1rem;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-primary, #fff);transition:all .15s ease}.budget-health-card:hover{box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .06))}.budget-health-card.warning{border-left:3px solid var(--color-warning, #f59e0b)}.budget-health-card.critical,.budget-health-card.over-budget{border-left:3px solid var(--color-danger, #ef4444)}.budget-health-card.healthy{border-left:3px solid var(--color-success, #22c55e)}.budget-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.budget-title{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary, #1e293b)}.status-icon.healthy{color:var(--color-success, #22c55e)}.status-icon.warning{color:var(--color-warning, #f59e0b)}.status-icon.critical{color:var(--color-danger, #ef4444)}.budget-category{font-size:.6875rem;font-weight:500;padding:.125rem .5rem;border-radius:4px;background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary, #64748b)}.budget-amounts{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.75rem}.amount-row{display:flex;justify-content:space-between;font-size:.8125rem}.amount-row .label{color:var(--text-secondary, #64748b)}.amount-row .value{font-weight:600;color:var(--text-primary, #1e293b)}.amount-row .value.spent{color:var(--color-danger, #ef4444)}.amount-row .value.positive{color:var(--color-success, #22c55e)}.amount-row .value.negative{color:var(--color-danger, #ef4444)}.budget-progress{margin-bottom:.5rem}.progress-bar{position:relative;height:8px;border-radius:4px;background:var(--bg-tertiary, #e2e8f0);overflow:hidden}.progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.progress-fill.healthy{background:linear-gradient(90deg,var(--color-success, #22c55e) 0%,var(--color-success-dark, #16a34a) 100%)}.progress-fill.warning{background:linear-gradient(90deg,var(--color-warning, #f59e0b) 0%,var(--color-warning-dark, #d97706) 100%)}.progress-fill.critical,.progress-fill.over-budget{background:linear-gradient(90deg,var(--color-danger, #ef4444) 0%,var(--color-danger-dark, #dc2626) 100%)}.progress-overflow{position:absolute;right:0;top:0;height:100%;background:repeating-linear-gradient(45deg,var(--color-danger-dark, #dc2626),var(--color-danger-dark, #dc2626) 2px,var(--color-danger, #ef4444) 2px,var(--color-danger, #ef4444) 4px)}.progress-label{display:block;margin-top:.25rem;font-size:.75rem;color:var(--text-secondary, #64748b);text-align:right}.budget-alert{display:flex;align-items:center;gap:.375rem;padding:.5rem;border-radius:4px;font-size:.75rem;margin-top:.5rem}.budget-alert.warning{background:var(--badge-warning-bg, #fef3c7);color:var(--alert-warning-text, #92400e)}.budget-alert.critical{background:var(--badge-critical-bg, #fee2e2);color:var(--alert-critical-text, #991b1b)}.budget-scope{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border-color, #e2e8f0)}.scope-badge{font-size:.625rem;font-weight:600;padding:.125rem .375rem;border-radius:4px;background:var(--color-primary, #3b82f6);color:var(--text-on-primary, #fff);text-transform:uppercase}.scope-name{font-size:.75rem;color:var(--text-secondary, #64748b)}.upcoming-payments{display:flex;flex-direction:column;gap:.75rem}.payment-card{padding:.875rem;border-radius:6px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-primary, #fff);transition:all .15s ease}.payment-card:hover{box-shadow:var(--shadow-xs, 0 2px 6px rgba(0, 0, 0, .04))}.payment-card.overdue{border-left:3px solid var(--color-danger, #ef4444);background:var(--payment-overdue-bg, #fef2f2)}.payment-card.today{border-left:3px solid var(--color-warning, #f59e0b);background:var(--payment-today-bg, #fffbeb)}.payment-card.urgent{border-left:3px solid var(--color-orange, #f97316)}.payment-card.soon{border-left:3px solid var(--color-primary, #3b82f6)}.payment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.payment-info{display:flex;flex-direction:column;gap:.25rem}.bill-number{font-weight:600;color:var(--text-primary, #1e293b)}.vendor-name{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary, #64748b)}.payment-amount{font-size:1rem;font-weight:700;color:var(--text-primary, #1e293b)}.payment-due{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.due-indicator{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600}.due-indicator.overdue{color:var(--color-danger-dark, #dc2626)}.due-indicator.today{color:var(--color-warning-dark, #d97706)}.due-indicator.urgent{color:var(--color-orange-dark, #ea580c)}.due-indicator.soon{color:var(--color-primary-dark, #2563eb)}.due-indicator.normal{color:var(--text-secondary, #64748b)}.due-date{font-size:.75rem;color:var(--text-secondary, #64748b)}.payment-description{font-size:.75rem;color:var(--text-secondary, #64748b);margin-bottom:.5rem;line-height:1.4}.payment-status{display:flex;gap:.5rem}.status-badge{font-size:.625rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;text-transform:uppercase}.status-badge.draft{background:var(--badge-draft-bg, #f1f5f9);color:var(--badge-draft-color, #475569)}.status-badge.pending{background:var(--badge-warning-bg, #fef3c7);color:var(--badge-warning-color, #92400e)}.status-badge.approved{background:var(--badge-approved-bg, #dbeafe);color:var(--badge-approved-color, #1e40af)}.status-badge.paid{background:var(--badge-healthy-bg, #dcfce7);color:var(--badge-paid-color, #166534)}.status-badge.overdue{background:var(--badge-critical-bg, #fee2e2);color:var(--badge-overdue-color, #991b1b)}.approval-badge{font-size:.625rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;text-transform:uppercase}.approval-badge.pending{background:var(--badge-warning-bg, #fef3c7);color:var(--badge-warning-color, #92400e)}.approval-badge.submitted{background:var(--badge-approved-bg, #dbeafe);color:var(--badge-approved-color, #1e40af)}.more-items{padding:.5rem;text-align:center;font-size:.8125rem;color:var(--text-secondary, #64748b);background:var(--bg-tertiary, #f8fafc);border-radius:4px}.overdue-list{display:flex;flex-direction:column;gap:.5rem}.overdue-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-radius:6px;background:var(--overdue-item-bg, #fef2f2);border:1px solid var(--overdue-item-border, #fecaca)}.overdue-info{display:flex;flex-direction:column;gap:.125rem}.invoice-number{font-weight:600;color:var(--text-primary, #1e293b)}.customer-name{font-size:.75rem;color:var(--text-secondary, #64748b)}.overdue-details{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.overdue-details .amount{font-weight:700;color:var(--color-danger-dark, #dc2626)}.days-overdue{display:flex;align-items:center;gap:.25rem;font-size:.6875rem;font-weight:600;color:var(--alert-critical-text, #991b1b)}.transaction-list{display:flex;flex-direction:column;gap:.5rem}.transaction-item{display:flex;align-items:center;gap:.75rem;padding:.625rem;border-radius:6px;background:var(--bg-tertiary, #f8fafc);transition:background .15s ease}.transaction-item:hover{background:var(--bg-secondary, #f1f5f9)}.transaction-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;flex-shrink:0}.transaction-icon.income{background:var(--stat-income-bg, #dcfce7);color:var(--stat-income-color, #16a34a)}.transaction-icon.expense{background:var(--stat-expense-bg, #fee2e2);color:var(--stat-expense-color, #dc2626)}.transaction-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.transaction-info .description{font-size:.8125rem;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-info .date{font-size:.6875rem;color:var(--text-secondary, #64748b)}.transaction-item .amount{font-size:.875rem;font-weight:600;flex-shrink:0}.transaction-item .amount.income{color:var(--stat-income-color, #16a34a)}.transaction-item .amount.expense{color:var(--stat-expense-color, #dc2626)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--text-secondary, #64748b)}.empty-state h4{margin:.75rem 0 .25rem;color:var(--text-primary, #1e293b)}.empty-state p{margin:0;font-size:.8125rem}.dark .finance-dashboard{background:#111827}.dark .finance-header{background:#1f2937;border-bottom-color:#374151}.dark .finance-header-left h2{color:#f9fafb}.dark .btn-icon{color:#9ca3af}.dark .btn-icon:hover{background:#374151;color:#f9fafb}.dark .finance-nav{background:#1f2937;border-bottom-color:#374151}.dark .finance-nav-item{color:#9ca3af}.dark .finance-nav-item:hover{color:#f9fafb;background:#374151}.dark .finance-nav-item.active{color:#60a5fa;border-bottom-color:#60a5fa}.dark .finance-content{background:#111827}.dark .finance-loading,.dark .finance-error,.dark .finance-empty{color:#9ca3af}.dark .finance-empty h3,.dark .coming-soon h3{color:#f9fafb}.dark .coming-soon p{color:#9ca3af}.dark .overview-section{background:#1f2937;border-color:#374151}.dark .section-header{border-bottom-color:#374151}.dark .section-header h3{color:#f9fafb}.dark .btn-link{color:#60a5fa}.dark .btn-link:hover{color:#93c5fd}.dark .stat-card{background:#1f2937;border-color:#374151}.dark .stat-card:hover{box-shadow:0 2px 8px #0006}.dark .stat-card.alert{background:#f59e0b1a;border-color:#d97706}.dark .stat-icon{background:#374151;color:#9ca3af}.dark .stat-icon.income{background:#22c55e26;color:#4ade80}.dark .stat-icon.expense{background:#ef444426;color:#f87171}.dark .stat-icon.warning{background:#f59e0b26;color:#fbbf24}.dark .stat-icon.success{background:#22c55e26;color:#4ade80}.dark .stat-label{color:#9ca3af}.dark .stat-value{color:#f9fafb}.dark .stat-badge.healthy{background:#22c55e26;color:#4ade80}.dark .stat-badge.warning{background:#f59e0b26;color:#fbbf24}.dark .stat-badge.critical{background:#ef444426;color:#f87171}.dark .budget-health-card{background:#1f2937;border-color:#374151}.dark .budget-health-card:hover{box-shadow:0 2px 8px #0006}.dark .budget-title{color:#f9fafb}.dark .budget-category{background:#374151;color:#9ca3af}.dark .amount-row .label{color:#9ca3af}.dark .amount-row .value{color:#f9fafb}.dark .progress-bar{background:#374151}.dark .progress-label{color:#9ca3af}.dark .budget-alert.warning{background:#f59e0b26;color:#fbbf24}.dark .budget-alert.critical{background:#ef444426;color:#f87171}.dark .budget-scope{border-top-color:#374151}.dark .scope-name{color:#9ca3af}.dark .payment-card{background:#1f2937;border-color:#374151}.dark .payment-card:hover{box-shadow:0 2px 6px #0006}.dark .payment-card.overdue{background:#ef44441a;border-left-color:#ef4444}.dark .payment-card.today{background:#f59e0b1a;border-left-color:#f59e0b}.dark .bill-number{color:#f9fafb}.dark .vendor-name{color:#9ca3af}.dark .payment-amount{color:#f9fafb}.dark .due-date,.dark .payment-description{color:#9ca3af}.dark .more-items,.dark .status-badge.draft{background:#374151;color:#9ca3af}.dark .status-badge.pending{background:#f59e0b26;color:#fbbf24}.dark .status-badge.approved{background:#3b82f626;color:#60a5fa}.dark .status-badge.paid{background:#22c55e26;color:#4ade80}.dark .status-badge.overdue{background:#ef444426;color:#f87171}.dark .approval-badge.pending{background:#f59e0b26;color:#fbbf24}.dark .approval-badge.submitted{background:#3b82f626;color:#60a5fa}.dark .overdue-item{background:#ef44441a;border-color:#ef44444d}.dark .invoice-number{color:#f9fafb}.dark .customer-name{color:#9ca3af}.dark .days-overdue{color:#f87171}.dark .transaction-item{background:#374151}.dark .transaction-item:hover{background:#4b5563}.dark .transaction-icon.income{background:#22c55e26;color:#4ade80}.dark .transaction-icon.expense{background:#ef444426;color:#f87171}.dark .transaction-info .description{color:#f9fafb}.dark .transaction-info .date{color:#6b7280}.dark .transaction-item .amount.income{color:#4ade80}.dark .transaction-item .amount.expense{color:#f87171}.dark .empty-state{color:#9ca3af}.dark .empty-state h4{color:#f9fafb}.dark .dropdown-menu{background:#1f2937;border-color:#374151;box-shadow:0 4px 12px #00000080}[data-theme=dark] .stat-card:hover,[data-theme=dark] .budget-health-card:hover,[data-theme=dark] .payment-card:hover{box-shadow:0 2px 8px #0000004d}[data-theme=dark] .budget-card:hover,[data-theme=dark] .invoice-card:hover{box-shadow:0 4px 12px #0000004d}[data-theme=dark] .dropdown-menu{box-shadow:0 4px 12px #0006}.dashboard{height:100%;display:flex;flex-direction:column}.dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-secondary)}.research-no-jurisdiction{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary);background:var(--background);border-radius:8px;box-shadow:0 1px 3px #0000001a;min-height:400px;margin:20px}.research-no-jurisdiction h3{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.research-no-jurisdiction p{font-size:16px;color:var(--text-secondary);margin:0;line-height:1.6}.dashboard-empty h2{color:var(--text-primary);margin-bottom:.5rem}.dashboard-empty .empty-actions{margin-top:2rem;display:flex;gap:1rem;justify-content:center}.dashboard-header{background-color:var(--background);padding:2rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.header-info h1{font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.header-info p{color:var(--text-secondary)}.dashboard-tabs{display:flex;gap:0;padding:0 2rem;background-color:var(--background);border-bottom:1px solid var(--border)}.tab-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;position:relative;transition:all .2s;border-bottom:2px solid transparent}.tab-button:hover{color:var(--text-primary);background-color:var(--surface)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-button svg{width:16px;height:16px}.dashboard-toolbar{background-color:var(--background);padding:.75rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);box-shadow:0 1px 2px #00000008;position:relative;overflow:visible;z-index:10}.toolbar-left{display:flex;align-items:center;gap:1rem}.toolbar-right{display:flex;align-items:center;gap:1rem;position:relative;overflow:visible;z-index:100}.view-toggle{display:flex;background-color:var(--surface);border:1px solid var(--border);border-radius:.375rem;padding:.25rem}.view-button{background:none;border:none;padding:.5rem .75rem;border-radius:.25rem;cursor:pointer;color:var(--text-secondary);transition:all .2s}.view-button:hover{background-color:var(--surface-elevated, #f1f5f9);color:var(--text-primary)}.view-button.active{background-color:#3b82f6;color:#fff;box-shadow:0 1px 2px #0000000d}.site-stats{color:var(--text-secondary);font-size:.875rem;display:flex;align-items:center;gap:1rem;overflow:visible;position:relative}.actions-dropdown{position:relative;isolation:isolate;overflow:visible;z-index:1000}.btn-icon{background:none;border:1px solid #e2e8f0;border-radius:.375rem;padding:.375rem;cursor:pointer;color:#475569;transition:all .2s;display:flex;align-items:center;justify-content:center;position:relative}.btn-icon:hover{background-color:#f1f5f9;border-color:#cbd5e1}.btn-icon[aria-expanded=true]{background-color:#f1f5f9;border-color:#3b82f6;color:#3b82f6}.dropdown-menu{position:fixed;background-color:var(--background);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:1000;min-width:200px;pointer-events:auto}.dropdown-menu button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem 1rem;background:none;border:none;color:#334155;font-size:.875rem;text-align:left;cursor:pointer;transition:background-color .2s}.dropdown-menu button:hover{background-color:#f1f5f9}.dropdown-menu button:disabled{opacity:.5;cursor:not-allowed}.dropdown-menu button:first-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.dropdown-menu button:last-child{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.dropdown-divider{height:1px;background-color:#e2e8f0;margin:.25rem 0}.dashboard-content{flex:1;overflow:auto;background-color:var(--background);min-height:0;position:relative}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.coming-soon{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:1.125rem}.filter-toggle{position:relative;background:none;border:1px solid #e2e8f0;border-radius:.375rem;padding:.5rem .75rem;cursor:pointer;color:#475569;transition:all .2s;display:flex;align-items:center;gap:.5rem}.filter-toggle:hover{background-color:#f1f5f9;border-color:#cbd5e1}.filter-toggle.active{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:#ef4444;color:#fff;border-radius:9px;font-size:11px;font-weight:600}.filter-toggle.active .filter-badge{background:#fff;color:#3b82f6}.filter-bar-container{background-color:#fafbfc;border-bottom:1px solid #e2e8f0;overflow:hidden;animation:slideDown .2s ease-out}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:100px;opacity:1}}@media (max-width: 1024px){.dashboard-header{padding:1.5rem 1rem}.site-toolbar{padding:.75rem 1rem}.toolbar-left{gap:.75rem}}@media (max-width: 768px){.dashboard-header{padding:1rem}.dashboard-header h1{font-size:1.25rem}.site-toolbar{flex-wrap:wrap;gap:1rem;padding:.75rem}.toolbar-left{width:100%;justify-content:space-between}.view-toggle{flex:0 0 auto}.site-stats{width:100%;justify-content:space-between}.filter-bar{padding:.75rem}.filter-controls{flex-wrap:wrap;gap:.5rem}.filter-section{flex:1 1 calc(50% - .25rem);min-width:120px}.dropdown-menu{right:0;left:auto;min-width:200px}.modal-content{margin:1rem;max-width:calc(100% - 2rem);max-height:calc(100vh - 2rem)}.modal-body{max-height:calc(100vh - 200px)}}@media (max-width: 480px){.dashboard-header h1{font-size:1.125rem}.view-button{padding:.375rem}.view-button svg{width:16px;height:16px}.btn-icon{padding:.375rem}.filter-section{flex:1 1 100%}.empty-state h2{font-size:1.25rem}.empty-state p{font-size:.875rem}.empty-actions{flex-direction:column;width:100%}.empty-actions button{width:100%}}.gis-tab-content{height:100%;overflow:hidden;display:flex;flex-direction:column}.gis-overview-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;border-radius:8px;margin-bottom:1.5rem}.gis-overview-header h2{color:#fff;margin:0 0 .5rem;font-size:1.875rem;font-weight:700}.gis-overview-header p{color:#ffffffe6;margin:0;font-size:1rem;line-height:1.5}:root.dark .view-button:hover{background-color:#ffffff1a}:root.dark .research-no-jurisdiction{box-shadow:0 1px 3px #0000004d}:root.dark .dashboard-toolbar{box-shadow:0 1px 2px #0003}.sites-table-compact{display:flex;flex-direction:column;flex:1;height:100%;width:100%;overflow:hidden;min-height:0}.sites-table-compact.resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}.sites-table-compact.resizing *{cursor:col-resize!important}.sites-table-compact-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:32px;text-align:center;color:var(--text-secondary, #666)}.sites-table-compact-empty p{margin:12px 0 4px;font-size:1rem;font-weight:500;color:var(--text-primary, #333)}.sites-table-compact-empty span{font-size:.875rem}.table-header{display:flex;align-items:center;padding:8px 16px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-color, #eee);font-size:.75rem;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.table-header>div{position:relative}.table-body{flex:1;width:100%;overflow-y:auto;overflow-x:hidden;min-height:0}.table-row{display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--border-color, #f0f0f0);cursor:pointer;transition:background .15s ease}.table-row:hover{background:var(--bg-hover, #f8f9fa)}:root.dark .table-row:hover,.dark .table-row:hover{background:var(--bg-hover, #374151)}:root.dark .table-row:hover .site-id-text,:root.dark .table-row:hover .text-cell,:root.dark .table-row:hover .numeric-cell,:root.dark .table-row:hover .col-address,:root.dark .table-row:hover .col-jurisdiction,:root.dark .table-row:hover .col-status,:root.dark .table-row:hover .col-project,.dark .table-row:hover .site-id-text,.dark .table-row:hover .text-cell,.dark .table-row:hover .numeric-cell,.dark .table-row:hover .col-address,.dark .table-row:hover .col-jurisdiction,.dark .table-row:hover .col-status,.dark .table-row:hover .col-project{color:var(--text-primary, #f9fafb)}.table-row.selected{background:var(--primary-bg, #eff6ff);border-left:3px solid var(--primary-color, #3b82f6)}.table-row.checked{background:var(--primary-bg, #eff6ff)}.table-row.checked.selected{background:var(--primary-bg, #eff6ff);border-left:3px solid var(--primary-color, #3b82f6)}:root.dark .table-row.selected,.dark .table-row.selected{background:#3b82f626;border-left:3px solid var(--primary-color, #60a5fa)}:root.dark .table-row.checked,.dark .table-row.checked{background:#3b82f626}:root.dark .table-row.checked.selected,.dark .table-row.checked.selected{background:#3b82f633;border-left:3px solid var(--primary-color, #60a5fa)}:root.dark .table-row.selected .site-id-text,:root.dark .table-row.selected .text-cell,:root.dark .table-row.selected .numeric-cell,:root.dark .table-row.selected .col-address,:root.dark .table-row.selected .col-jurisdiction,:root.dark .table-row.selected .col-status,:root.dark .table-row.selected .col-project,:root.dark .table-row.checked .site-id-text,:root.dark .table-row.checked .text-cell,:root.dark .table-row.checked .numeric-cell,:root.dark .table-row.checked .col-address,:root.dark .table-row.checked .col-jurisdiction,:root.dark .table-row.checked .col-status,:root.dark .table-row.checked .col-project,.dark .table-row.selected .site-id-text,.dark .table-row.selected .text-cell,.dark .table-row.selected .numeric-cell,.dark .table-row.selected .col-address,.dark .table-row.selected .col-jurisdiction,.dark .table-row.selected .col-status,.dark .table-row.selected .col-project,.dark .table-row.checked .site-id-text,.dark .table-row.checked .text-cell,.dark .table-row.checked .numeric-cell,.dark .table-row.checked .col-address,.dark .table-row.checked .col-jurisdiction,.dark .table-row.checked .col-status,.dark .table-row.checked .col-project{color:var(--text-primary, #f9fafb)}.checkbox-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.checkbox-btn:hover{background:var(--bg-secondary, #f3f4f6)}.checkbox-btn:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.checkbox-icon{color:var(--text-tertiary, #9ca3af);transition:color .15s ease}.checkbox-icon.checked,.checkbox-icon.indeterminate{color:var(--primary-color, #3b82f6)}.col-checkbox{width:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.col-site-id{width:120px;flex-shrink:0;display:flex;align-items:center;gap:6px}.col-address{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:16px}.col-jurisdiction{width:140px;flex-shrink:0}.col-status{width:80px;flex-shrink:0}.col-actions{width:64px;flex-shrink:0;display:flex;justify-content:flex-end;gap:2px}.col-carrier{width:60px;min-width:60px;flex-shrink:0}.col-tags{width:100px;min-width:100px;flex-shrink:0;display:flex;gap:3px;align-items:center;overflow:hidden}.col-project{width:90px;min-width:90px;flex-shrink:0;display:flex;gap:4px;align-items:center;overflow:hidden}.carrier-badge.carrier-tmobile{background-color:#e20074!important;color:#fff}.carrier-badge.carrier-att{background-color:#00a8e0!important;color:#fff}.carrier-badge.carrier-verizon{background-color:#cd040b!important;color:#fff}.tag-chip{display:inline-block;padding:1px 5px;border-radius:3px;font-size:.625rem;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45px}.tag-overflow{font-size:.625rem;color:var(--text-tertiary, #9ca3af);white-space:nowrap}.project-icon{color:var(--text-tertiary, #9ca3af);flex-shrink:0}.project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:var(--text-secondary, #666)}.site-id-text{font-weight:500;color:var(--text-primary, #333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-id-text.site-id-link{cursor:pointer;transition:color .2s ease}.site-id-text.site-id-link:hover{color:#3b82f6;text-decoration:underline}.site-id-text.site-id-link:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:4px}.flag-icon{color:var(--warning-color, #f59e0b);flex-shrink:0}.jurisdiction-badge{display:inline-block;max-width:100%;padding:2px 8px;background:var(--bg-secondary, #f3f4f6);border-radius:4px;font-size:.75rem;color:var(--text-secondary, #666);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-jurisdiction{color:var(--text-tertiary, #999)}.jurisdiction-link{display:inline-block;max-width:100%;padding:2px 8px;background:var(--bg-secondary, #f3f4f6);border:none;border-radius:4px;font-size:.75rem;color:var(--text-secondary, #666);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all .15s ease}.jurisdiction-link:hover{background:var(--primary-bg, #eff6ff);color:var(--primary-color, #3b82f6)}.jurisdiction-link:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:1px}.project-link{display:flex;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;overflow:hidden;max-width:100%;transition:all .15s ease}.project-link:hover .project-name,.project-link:hover .project-icon{color:var(--primary-color, #3b82f6)}.project-link:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px;border-radius:4px}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.25px}.action-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-tertiary, #999);transition:all .15s ease}.action-btn:hover{background:var(--bg-secondary, #f3f4f6);color:var(--primary-color, #3b82f6)}.action-btn.review-btn:hover{color:var(--info-color, #0ea5e9)}.go-to-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-tertiary, #999);transition:all .15s ease}.go-to-btn:hover{background:var(--bg-secondary, #f3f4f6);color:var(--primary-color, #3b82f6)}@media (max-width: 1100px){.col-tags,.col-project{display:none}}@media (max-width: 900px){.col-carrier{display:none}}@media (max-width: 768px){.table-header{display:none}.table-row{flex-wrap:wrap;padding:12px 16px;gap:4px}.col-checkbox{width:28px;order:0}.col-site-id{width:auto;order:1}.col-status{width:auto;order:2;margin-left:auto}.col-address{width:100%;order:3;padding-right:0;padding-left:28px;font-size:.875rem;color:var(--text-secondary, #666)}.col-jurisdiction,.col-carrier,.col-tags,.col-project{display:none}.col-actions{width:auto;order:4;position:absolute;right:12px;top:50%;transform:translateY(-50%)}}@media (max-width: 480px){.col-site-id{max-width:100px}.site-id-text{font-size:.875rem}}.col-lifecycle-state,.col-health-score,.col-days-in-stage,.col-assigned-to,.col-is-blocked,.col-install-type,.col-pole-material,.col-pole-style,.col-target-height,.col-pole-owner,.col-city,.col-county,.col-state,.col-zip-code,.col-budget-amount,.col-budget-spent,.col-distance-status,.col-image-count,.col-is-flagged,.col-notes{flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-cell{color:var(--text-tertiary, #999);font-size:.75rem}.text-cell{font-size:.75rem;color:var(--text-secondary, #666);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.numeric-cell{font-size:.75rem;color:var(--text-primary, #333);font-variant-numeric:tabular-nums}.notes-cell{font-size:.75rem;color:var(--text-secondary, #666);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.lifecycle-badge{font-size:.625rem;text-transform:uppercase;letter-spacing:.3px}.compliance-badge{font-size:.625rem;text-transform:capitalize}.flagged-icon{color:var(--warning-color, #f59e0b)}:root.dark .jurisdiction-link{background:var(--bg-secondary, #374151);color:var(--text-secondary, #9ca3af)}:root.dark .jurisdiction-link:hover{background:#3b82f633;color:var(--primary-color, #60a5fa)}:root.dark .project-link:hover .project-name,:root.dark .project-link:hover .project-icon{color:var(--primary-color, #60a5fa)}:root.dark .empty-cell{color:var(--text-tertiary, #6b7280)}:root.dark .text-cell{color:var(--text-secondary, #9ca3af)}:root.dark .numeric-cell{color:var(--text-primary, #e5e7eb)}:root.dark .notes-cell{color:var(--text-secondary, #9ca3af)}.bulk-actions-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--primary-bg, #eff6ff);border-bottom:1px solid var(--primary-color, #3b82f6);flex-shrink:0;gap:12px;min-height:48px;overflow:visible}:root.dark .bulk-actions-bar,.dark .bulk-actions-bar{background:#3b82f61a;border-bottom-color:#3b82f64d}.bulk-actions-left{display:flex;align-items:center;flex-shrink:0;min-width:max-content}.selection-count{font-size:.875rem;color:var(--text-secondary, #666);white-space:nowrap}.selection-count strong{color:var(--primary-color, #3b82f6);font-weight:600}.bulk-actions-center{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;justify-content:center;flex:1;min-width:0;overflow-x:auto;overflow-y:visible;padding:2px 0;scrollbar-width:none;-ms-overflow-style:none}.bulk-actions-center::-webkit-scrollbar{display:none}.bulk-actions-right{display:flex;align-items:center;flex-shrink:0;min-width:max-content}.bulk-action-group{position:relative;flex-shrink:0}.bulk-action-btn{display:flex;align-items:center;gap:6px;font-size:.8125rem;white-space:nowrap}.bulk-action-btn svg{flex-shrink:0}.deselect-btn{display:flex;align-items:center;gap:4px;font-size:.8125rem;color:var(--text-secondary, #666)}.deselect-btn:hover{color:var(--text-primary, #333)}.bulk-dropdown{min-width:300px;background:var(--background, #fff);border:1px solid var(--border, #e5e7eb);border-radius:10px;box-shadow:0 -8px 32px #0000001f;overflow:visible}.bulk-dropdown-portal{z-index:3000}.bulk-action-group .bulk-dropdown:not(.bulk-dropdown-portal){position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);z-index:2000}:root.dark .bulk-dropdown,.dark .bulk-dropdown{background:var(--surface-elevated, #374151);border-color:var(--border, #4b5563);box-shadow:0 8px 24px #0006}.bulk-dropdown.project-dropdown{min-width:320px}.bulk-dropdown.tags-dropdown,.bulk-dropdown.user-dropdown{min-width:300px}.dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border, #e5e7eb);border-radius:10px 10px 0 0;font-size:.875rem;font-weight:600;color:var(--text-primary, #333)}.dropdown-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-tertiary, #999);transition:all .15s ease}.dropdown-close:hover{background:var(--bg-hover, #eee);color:var(--text-primary, #333);transform:scale(1.05)}.bulk-actions-bar .bulk-dropdown .dropdown-content{display:flex;flex-direction:column;gap:16px;padding:16px 20px;position:static}.dropdown-loading{padding:8px 16px;background:var(--primary-bg, #eff6ff);color:var(--primary-color, #3b82f6);font-size:.8125rem;text-align:center}.apply-tags-btn{align-self:flex-end}.user-list{max-height:280px;overflow-y:auto;margin:0;border:1px solid var(--border, #e5e7eb);border-radius:8px}.user-list-item{display:flex;align-items:center;width:100%;padding:14px 16px;background:transparent;border:none;border-bottom:1px solid var(--border, #f0f0f0);cursor:pointer;text-align:left;transition:background .15s ease}.user-list-item:last-child{border-bottom:none}.user-list-item:hover:not(:disabled){background:var(--bg-hover, #f8f9fa)}.user-list-item:disabled{opacity:.5;cursor:not-allowed}.user-info{display:flex;flex-direction:column;gap:4px}.user-name{font-size:.9375rem;font-weight:500;color:var(--text-primary, #333)}.user-email{font-size:.8125rem;color:var(--text-tertiary, #999)}.user-list-empty{padding:20px;text-align:center;color:var(--text-tertiary, #999);font-size:.875rem}.unassign-btn{width:100%;justify-content:center;margin-top:8px;color:var(--error-color, #ef4444)}.unassign-btn:hover:not(:disabled){background:var(--error-bg, #fef2f2)}@media (max-width: 768px){.bulk-actions-bar{flex-wrap:nowrap;gap:8px;padding:8px 12px;overflow-x:auto}.bulk-actions-left{flex-shrink:0}.bulk-actions-center{flex-wrap:nowrap;gap:4px}.bulk-actions-right{flex-shrink:0}.bulk-dropdown{position:fixed;left:50%!important;transform:translate(-50%)!important;top:auto!important;bottom:60px;min-width:280px;max-width:calc(100vw - 32px)}}@media (max-width: 480px){.bulk-action-btn{padding:6px 10px;font-size:.75rem}.bulk-action-btn svg{width:12px;height:12px}.selection-count{font-size:.8125rem}}.bulk-actions-bar .bulk-dropdown.export-dropdown{position:absolute;min-width:280px}.export-options{padding:12px!important;gap:8px!important}.export-option{display:flex;align-items:center;width:100%;padding:14px 16px;gap:14px;background:transparent;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:background .15s ease}.export-option:hover:not(:disabled){background:var(--bg-hover, #f8f9fa)}.export-option:disabled{opacity:.5;cursor:not-allowed}.export-option svg{flex-shrink:0;color:var(--primary-color, #3b82f6)}.export-option-info{display:flex;flex-direction:column;gap:4px}.export-option-title{font-size:.9375rem;font-weight:500;color:var(--text-primary, #333)}.export-option-desc{font-size:.8125rem;color:var(--text-tertiary, #999);line-height:1.4}:root.dark .export-option:hover:not(:disabled),.dark .export-option:hover:not(:disabled){background:var(--hover-bg, #4b5563)}:root.dark .export-option-title,.dark .export-option-title{color:var(--text-primary, #f9fafb)}:root.dark .export-option-desc,.dark .export-option-desc{color:var(--text-muted, #9ca3af)}:root.dark .dropdown-header,.dark .dropdown-header{background:var(--surface, #1f2937);border-bottom-color:var(--border, #374151);color:var(--text-primary, #f9fafb)}:root.dark .dropdown-close:hover,.dark .dropdown-close:hover{background:var(--hover-bg, #4b5563);color:var(--text-primary, #f9fafb)}:root.dark .user-list,.dark .user-list{border-color:var(--border, #374151)}:root.dark .user-list-item,.dark .user-list-item{border-bottom-color:var(--border, #374151)}:root.dark .user-list-item:hover:not(:disabled),.dark .user-list-item:hover:not(:disabled){background:var(--hover-bg, #4b5563)}:root.dark .user-name,.dark .user-name{color:var(--text-primary, #f9fafb)}:root.dark .user-email,.dark .user-email{color:var(--text-muted, #9ca3af)}:root.dark .user-list-empty,.dark .user-list-empty{color:var(--text-muted, #9ca3af)}.column-config-modal{display:flex;flex-direction:column;gap:16px}.column-config-description{margin:0;font-size:.875rem;color:var(--text-secondary, #666)}.column-list{display:flex;flex-direction:column;gap:4px;max-height:400px;overflow-y:auto;padding:4px 0}.column-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary, #f8f9fa);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;cursor:grab;transition:all .15s ease}.column-item:hover{background:var(--bg-hover, #f3f4f6);border-color:var(--border-color-hover, #d1d5db)}.column-item.drag-over{background:var(--primary-bg, #eff6ff);border-color:var(--primary-color, #3b82f6);border-style:dashed}.column-item.hidden-column .column-label{text-decoration:line-through;color:var(--text-tertiary, #9ca3af)}.drag-handle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--text-tertiary, #9ca3af);cursor:grab;flex-shrink:0;transition:color .15s ease}.drag-handle:hover{color:var(--text-secondary, #666)}.column-label{font-size:.9375rem;font-weight:500;color:var(--text-primary, #333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-width{font-size:.75rem;color:var(--text-tertiary, #9ca3af);background:var(--bg-tertiary, #e5e7eb);padding:2px 8px;border-radius:4px;flex-shrink:0}.visibility-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary, #666);transition:all .15s ease;flex-shrink:0}.visibility-toggle:hover:not(:disabled){background:var(--bg-hover, #e5e7eb);color:var(--text-primary, #333)}.visibility-toggle.hidden{color:var(--text-tertiary, #9ca3af)}.column-config-note{margin:0;padding:12px;font-size:.75rem;color:var(--text-tertiary, #9ca3af);background:var(--bg-secondary, #f8f9fa);border-radius:6px;border:1px dashed var(--border-color, #e5e7eb)}.category-section{margin-bottom:8px}.category-section:last-child{margin-bottom:0}.category-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary, #f3f4f6);border-radius:6px;margin-bottom:4px}.category-toggle{display:flex;align-items:center;gap:8px;background:none;border:none;padding:0;cursor:pointer;flex:1}.category-toggle:hover .category-label{color:var(--primary-color, #3b82f6)}.category-label{font-size:.8125rem;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px;transition:color .15s ease}.category-count{font-size:.75rem;color:var(--text-tertiary, #9ca3af);background:var(--bg-tertiary, #e5e7eb);padding:2px 8px;border-radius:10px;margin-left:auto}.category-visibility-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-tertiary, #9ca3af);transition:all .15s ease;margin-left:8px}.category-visibility-toggle:hover{background:var(--bg-hover, #e5e7eb);color:var(--text-secondary, #666)}.category-visibility-toggle.all-visible{color:var(--primary-color, #3b82f6)}.category-visibility-toggle.all-visible:hover,.category-visibility-toggle.none-visible{color:var(--text-tertiary, #9ca3af)}.category-visibility-toggle.none-visible:hover{color:var(--success-color, #22c55e)}.category-columns{display:flex;flex-direction:column;gap:4px;padding-left:8px;border-left:2px solid var(--border-color, #e5e7eb);margin-left:8px}.category-columns .column-item{padding:10px 12px}:root.dark .column-item,.dark .column-item{background:var(--bg-secondary, #1f2937);border-color:var(--border-color, #374151)}:root.dark .column-item:hover,.dark .column-item:hover{background:var(--bg-hover, #374151)}:root.dark .column-item.drag-over,.dark .column-item.drag-over{background:var(--primary-bg, #1e3a5f)}:root.dark .column-width,.dark .column-width{background:var(--bg-tertiary, #374151)}:root.dark .column-config-note,.dark .column-config-note{background:var(--bg-secondary, #1f2937);border-color:var(--border-color, #374151)}:root.dark .category-header,.dark .category-header{background:var(--bg-secondary, #1f2937)}:root.dark .category-label,.dark .category-label{color:var(--text-secondary, #9ca3af)}:root.dark .category-toggle:hover .category-label,.dark .category-toggle:hover .category-label{color:var(--primary-color, #60a5fa)}:root.dark .category-count,.dark .category-count{background:var(--bg-tertiary, #374151);color:var(--text-tertiary, #6b7280)}:root.dark .category-columns,.dark .category-columns{border-color:var(--border-color, #374151)}:root.dark .category-visibility-toggle,.dark .category-visibility-toggle{color:var(--text-tertiary, #6b7280)}:root.dark .category-visibility-toggle:hover,.dark .category-visibility-toggle:hover{background:var(--bg-hover, #374151);color:var(--text-secondary, #9ca3af)}:root.dark .category-visibility-toggle.all-visible,.dark .category-visibility-toggle.all-visible{color:var(--primary-color, #60a5fa)}.map-home-filter-bar{display:flex;align-items:center;gap:8px;padding:6px 16px;border-bottom:1px solid var(--border);background:var(--background);flex-shrink:0}.filter-bar-item{display:flex;align-items:center;gap:4px;min-width:0}.filter-bar-icon{color:var(--text-secondary);flex-shrink:0}.filter-bar-item select{max-width:180px;font-size:.8125rem}.filter-bar-clear{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--error-bg);color:var(--error-color);border:none;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background .2s ease;white-space:nowrap;flex-shrink:0}.filter-bar-clear:hover{opacity:.8}:root.dark .map-home-filter-bar,.dark .map-home-filter-bar{background:var(--background);border-bottom-color:var(--border)}@media (max-width: 768px){.map-home-filter-bar{padding:6px 12px;gap:6px;flex-wrap:wrap}.filter-bar-item select{max-width:150px}.filter-bar-clear{min-height:44px;min-width:44px;padding:8px 12px}}@media (max-width: 375px){.map-home-filter-bar{padding:6px 8px}.filter-bar-item select{max-width:120px}}.site-bottom-panel{position:absolute;bottom:0;left:0;right:0;background:var(--background);border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -4px 20px #00000026;z-index:1100;display:flex;flex-direction:column;transition:height .3s ease;overflow:hidden}.site-bottom-panel.dragging{transition:none;-webkit-user-select:none;user-select:none}.panel-drag-handle{display:flex;justify-content:center;padding:12px 0 8px;cursor:grab;flex-shrink:0}.panel-drag-handle:active{cursor:grabbing}.handle-bar{width:40px;height:4px;background:var(--border);border-radius:2px;transition:background .2s ease}.site-bottom-panel:hover .handle-bar{background:var(--text-secondary)}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:0 16px 8px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--background)}.panel-stats{display:flex;align-items:center;gap:12px;font-size:.875rem;color:var(--text-secondary)}.panel-stats .site-count{color:var(--text-secondary)}.panel-stats .site-count strong{color:var(--text-primary);font-weight:600}:root.dark .panel-header,.dark .panel-header{background:var(--background);border-bottom-color:var(--border)}:root.dark .panel-stats .site-count,.dark .panel-stats .site-count{color:var(--text-secondary)}:root.dark .panel-stats .site-count strong,.dark .panel-stats .site-count strong{color:var(--text-primary)}.clear-filter-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--error-bg);color:var(--error-color);border:none;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background .2s ease}.clear-filter-btn:hover{background:var(--error-bg)}.panel-controls{display:flex;align-items:center;gap:8px}.settings-btn,.expand-btn,.collapse-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.settings-btn:hover,.expand-btn:hover,.collapse-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.list-filter-btn{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.list-filter-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.list-filter-btn.active{background:#3b82f61a;border-color:var(--primary);color:var(--primary)}.list-filter-btn.active:hover{background:#3b82f633}.list-filter-btn .filter-indicator{position:absolute;top:3px;right:3px;width:6px;height:6px;background-color:var(--primary);border-radius:50%;animation:filter-pulse 2s infinite}.site-bottom-panel .panel-content{flex:1;width:100%;overflow:hidden;display:flex;flex-direction:column;min-height:0;max-height:none}.collapsed-hint{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:.875rem;cursor:pointer}.collapsed-hint:hover{color:var(--text-primary)}@media (max-width: 768px){.site-bottom-panel{border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom)}.panel-header{padding:0 12px 8px}.panel-stats{font-size:.8125rem}.clear-filter-btn{padding:8px 12px;font-size:.75rem;min-height:44px;min-width:44px}.panel-drag-handle{padding:16px 0 12px;min-height:44px}.handle-bar{width:48px;height:6px}.settings-btn,.expand-btn,.collapse-btn,.list-filter-btn{width:44px;height:44px;min-width:44px;min-height:44px}.panel-controls{gap:6px}}@media (max-width: 375px){.panel-header{padding:0 8px 8px}.panel-stats{font-size:.75rem;gap:8px}.panel-controls{gap:4px}.settings-btn,.expand-btn,.collapse-btn,.list-filter-btn{width:44px;height:44px;min-width:44px;min-height:44px}}.map-filter-controls{display:flex;flex-direction:column;gap:8px;background:var(--overlay-white-95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px;border-radius:8px;box-shadow:0 2px 8px #00000026}.map-filter-controls.hide-trigger-buttons{display:none;background:transparent;padding:0;box-shadow:none}.map-filter-controls.hide-trigger-buttons:has(.drawing-instructions),.map-filter-controls.hide-trigger-buttons:has(.polygon-confirm){display:flex;background:var(--overlay-white-95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px;box-shadow:0 2px 8px #00000026}.filter-buttons{display:flex;gap:4px}.filter-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--background);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:.8125rem;color:var(--text-secondary);transition:all .2s ease}.filter-btn:hover:not(:disabled){background:var(--hover-bg);border-color:var(--border);color:var(--text-primary)}.filter-btn:disabled{opacity:.5;cursor:not-allowed}.filter-btn.active{background:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.filter-btn.drawing{background:var(--warning-bg);border-color:var(--warning-color);color:var(--warning-color)}.filter-btn.clear-btn{background:var(--error-bg);border-color:var(--error-color);color:var(--error-color)}.filter-btn.clear-btn:hover{background:var(--error-bg)}.filter-btn.freehand-btn.drawing{background:var(--success-bg);border-color:var(--success-color);color:var(--success-color)}.drawing-instructions{padding:8px 12px;background:var(--primary-light);border:1px solid var(--primary-light);border-radius:6px;font-size:.75rem;color:var(--primary-700);text-align:center}.drawing-instructions.freehand{background:var(--success-bg);border-color:var(--success-light);color:var(--success-color-text)}.polygon-confirm{display:flex;gap:8px}.confirm-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--success-color);border:none;border-radius:6px;cursor:pointer;font-size:.8125rem;color:#fff;transition:background .2s ease}.confirm-btn:hover{background:var(--success-color);filter:brightness(.9)}.cancel-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--secondary-bg);border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.cancel-btn:hover{background:var(--error-bg);border-color:var(--error-color);color:var(--error-color)}@media (max-width: 768px){.filter-buttons{flex-wrap:wrap}.filter-btn{flex:1;justify-content:center;padding:10px 8px}.filter-btn span{display:none}.filter-btn.active span,.filter-btn.drawing span{display:inline}}.map-home-page{width:100%;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.map-home-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-secondary, #666)}.map-home-loading .spinner{animation:spin 1s linear infinite}.map-home-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--error-color, #dc2626);text-align:center;padding:32px}.map-home-error h2{margin:0;font-size:1.5rem}.map-home-error p{margin:0;color:var(--text-secondary, #666)}.map-home-error button{margin-top:8px;padding:12px 32px;min-height:44px;min-width:120px;background:var(--primary-color, #3b82f6);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .2s ease}@media (max-width: 480px){.map-home-error button{width:100%;max-width:280px}}.map-home-error button:hover{background:var(--primary-hover, #2563eb)}.map-home-error button:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.map-home-error-hint{margin:0;font-size:.875rem;color:var(--text-secondary, #666)}@media (max-width: 768px){.map-home-error{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:var(--bg-primary, #ffffff);padding:24px;padding-top:max(80px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}.map-home-error h2{font-size:1.25rem}}.map-home-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-secondary, #666);text-align:center;padding:32px}.map-home-empty h2{margin:0;font-size:1.5rem;color:var(--text-primary, #333)}.map-home-empty p{margin:0;max-width:400px}.map-home-empty-actions{display:flex;gap:12px;margin-top:8px}.map-home-empty-hint{margin-top:16px;font-size:.875rem;color:var(--text-muted, #888);font-style:italic}@media (max-width: 480px){.map-home-empty-actions{flex-direction:column;width:100%;max-width:280px}.map-home-empty-actions button{width:100%}}.map-home-content{width:100%;height:100%;display:flex;flex-direction:column;position:relative}.map-home-map-container{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.map-home-filter-controls{position:absolute;bottom:220px;left:16px;z-index:15;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 16px;border-radius:8px;box-shadow:0 2px 8px #00000026;font-size:.875rem}.filter-label{color:var(--text-secondary, #666)}.map-home-content.panel-collapsed .map-home-filter-controls{bottom:70px}.map-home-content.panel-peek .map-home-filter-controls{bottom:220px}.map-home-content.panel-expanded .map-home-filter-controls{bottom:calc(50vh + 20px)}.map-home-content.panel-full .map-home-filter-controls{bottom:calc(80vh + 20px)}@media (max-width: 768px){.map-home-filter-controls{left:8px;right:8px;display:flex;justify-content:center}}.view-toggle{display:flex;gap:4px;background-color:var(--surface);padding:4px;border-radius:8px}.view-toggle-btn{display:flex;align-items:center;justify-content:center;padding:8px 12px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.view-toggle-btn:hover{background-color:var(--hover-bg);color:var(--text-primary)}.view-toggle-btn.active{background-color:var(--background);color:#3b82f6;box-shadow:0 1px 2px #0000000d}.view-toggle-btn.active:hover{background-color:var(--background);color:#3b82f6}.quick-filters-bar{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--background);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;gap:16px;flex-wrap:wrap}.quick-filters-section{display:flex;align-items:center;gap:16px;flex-wrap:wrap;flex:1}.filter-label{font-size:14px;font-weight:500;color:var(--text-muted);margin-right:4px}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--surface);border:1px solid var(--border);border-radius:20px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap;outline:none}.filter-chip:hover{background:var(--hover-bg);border-color:var(--border)}.filter-chip.active{background:var(--chip-color, var(--primary));color:#fff;border-color:var(--chip-color, var(--primary))}.filter-chip.template{background:var(--icon-teal-bg);border-color:var(--icon-teal-border);color:var(--icon-teal-text)}.filter-chip.template:hover{background:var(--icon-teal-bg-hover);border-color:var(--icon-teal-border-hover)}.flag-icon{font-size:14px}.filter-actions{display:flex;align-items:center;gap:12px}.active-count{font-size:13px;font-weight:500;color:var(--primary);padding:4px 8px;background:var(--primary-light-bg);border-radius:12px}.clear-filters-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:transparent;border:none;color:var(--danger);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border-radius:6px}.clear-filters-btn:hover{background:var(--danger-light-bg)}.advanced-filters-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.advanced-filters-btn:hover{background:var(--primary-hover)}@media (max-width: 768px){.quick-filters-bar{flex-direction:column;align-items:flex-start}.quick-filters-section{width:100%}.filter-group{flex-wrap:wrap}.filter-actions{width:100%;justify-content:space-between;margin-top:8px}}:root.dark .quick-filters-bar{background:var(--background);border-color:var(--border)}:root.dark .filter-label{color:var(--text-muted)}:root.dark .filter-chip{background:var(--surface);border-color:var(--border);color:var(--text-secondary)}:root.dark .filter-chip:hover{background:var(--hover-bg);border-color:var(--border-hover)}:root.dark .filter-chip.template{background:var(--icon-blue-bg-dark);border-color:var(--icon-blue-border-dark);color:var(--icon-blue-text-dark)}:root.dark .filter-chip.template:hover{background:var(--primary);border-color:var(--primary)}:root.dark .active-count{background:var(--primary-dark-bg);color:var(--primary-light)}:root.dark .clear-filters-btn{color:var(--danger-light)}:root.dark .clear-filters-btn:hover{background:var(--danger-dark-bg)}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background-color:var(--background, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:6px;transition:all .2s ease}.filter-row:hover{border-color:var(--border-hover, #cbd5e1);box-shadow:0 1px 4px #0000000d}.filter-row.invalid{border-color:var(--warning, #f59e0b);background-color:#f59e0b0d}.filter-controls{display:flex;align-items:center;gap:8px;flex:1;flex-wrap:wrap}.field-select,.operator-select,.value-select,.value-input{padding:6px 10px;font-size:13px;color:var(--text-primary, #1e293b);background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:4px;transition:all .2s ease}.field-select:focus,.operator-select:focus,.value-select:focus,.value-input:focus{outline:none;border-color:var(--primary, #3b82f6);background-color:var(--background, #ffffff);box-shadow:0 0 0 3px #3b82f61a}.field-select{min-width:160px;max-width:200px}.operator-select{min-width:140px;max-width:180px}.value-input{min-width:140px;flex:1;max-width:300px}.value-input.small{min-width:80px;max-width:100px;flex:0 0 auto}.value-input::placeholder{color:var(--text-tertiary, #94a3b8)}.value-select{min-width:120px}.value-select.multiple{min-height:80px;resize:vertical}.value-input-group{display:flex;align-items:center;gap:8px}.value-separator{font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);padding:0 4px}.filter-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.value-input[type=date],.value-input[type=datetime-local]{min-width:160px}.value-input[type=number]::-webkit-inner-spin-button,.value-input[type=number]::-webkit-outer-spin-button{opacity:1;height:auto}:root.dark .filter-row{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-dark, #334155)}:root.dark .filter-row:hover{border-color:var(--border-hover-dark, #475569);box-shadow:0 1px 4px #0003}:root.dark .filter-row.invalid{border-color:#f59e0b;background-color:#f59e0b1a}:root.dark .field-select,:root.dark .operator-select,:root.dark .value-select,:root.dark .value-input{color:var(--text-primary-dark, #f1f5f9);background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-dark, #334155)}:root.dark .field-select:focus,:root.dark .operator-select:focus,:root.dark .value-select:focus,:root.dark .value-input:focus{border-color:var(--primary, #60a5fa);background-color:var(--bg-secondary-dark, #1e293b);box-shadow:0 0 0 3px #3b82f626}:root.dark .value-input::placeholder{color:var(--text-tertiary-dark, #64748b)}:root.dark .value-separator{color:var(--text-secondary-dark, #94a3b8)}:root.dark .field-select,:root.dark .operator-select,:root.dark .value-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;padding-right:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.field-select,.operator-select,.value-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;padding-right:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.filter-group{position:relative;background-color:var(--background, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden}.filter-group.depth-0{background-color:var(--bg-tertiary, #f1f5f9);border-color:var(--border, #e2e8f0)}.filter-group.depth-1{background-color:var(--background, #ffffff);border-color:var(--border, #e2e8f0);margin:8px 0}.filter-group.depth-2{background-color:var(--bg-secondary, #f8fafc);border-color:var(--border, #e2e8f0);margin:8px 0}.filter-group.depth-3{background-color:#3b82f60d;border-color:#3b82f633;margin:8px 0}.filter-group.root-group{border:none;background:transparent}.group-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#00000005;border-bottom:1px solid var(--border, #e2e8f0)}.filter-group.root-group .group-header{background:transparent;border-bottom:none;padding:0 0 8px}.group-controls{display:flex;align-items:center;gap:8px}.collapse-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;color:var(--text-secondary, #64748b);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.collapse-btn:hover{background-color:var(--bg-hover, #e2e8f0);color:var(--text-primary, #1e293b)}.operator-toggle{display:flex;background-color:var(--bg-tertiary, #f1f5f9);border-radius:6px;padding:2px}.operator-btn{padding:4px 12px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.operator-btn:hover{color:var(--text-primary, #1e293b)}.operator-btn.active{color:var(--primary, #3b82f6);background-color:var(--background, #ffffff);box-shadow:0 1px 3px #0000001a}.negation-btn{padding:4px 10px;font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);background-color:var(--bg-tertiary, #f1f5f9);border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .2s ease}.negation-btn:hover{background-color:var(--bg-hover, #e2e8f0);color:var(--text-primary, #1e293b)}.negation-btn.active{color:var(--error, #ef4444);background-color:#ef44441a;border-color:#ef44444d}.group-info{font-size:12px;color:var(--text-tertiary, #94a3b8)}.group-actions{display:flex;align-items:center;gap:4px}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--text-secondary, #64748b);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.action-btn:hover{background-color:var(--bg-hover, #e2e8f0);color:var(--text-primary, #1e293b)}.action-btn.danger:hover{background-color:#ef44441a;color:var(--error, #ef4444)}.group-content{padding:12px}.filter-group.root-group .group-content{padding:0}.empty-group{text-align:center;padding:24px;color:var(--text-tertiary, #94a3b8)}.empty-group p{margin:0 0 12px;font-size:14px}.add-first-filter{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;color:var(--primary, #3b82f6);background-color:#3b82f61a;border:1px dashed var(--primary, #3b82f6);border-radius:6px;cursor:pointer;transition:all .2s ease}.add-first-filter:hover{background-color:#3b82f626}.filter-item{position:relative}.operator-line{display:flex;align-items:center;justify-content:center;padding:8px 0}.operator-text{font-size:11px;font-weight:600;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.5px;padding:2px 12px;background-color:var(--bg-tertiary, #f1f5f9);border-radius:10px}.group-add-buttons{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border, #e2e8f0)}.add-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:1px dashed var(--border, #cbd5e1);border-radius:6px;cursor:pointer;transition:all .2s ease}.add-btn:hover{color:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);background-color:#3b82f60d}.add-btn.add-group{color:var(--text-secondary, #64748b)}.add-btn.add-group:hover{color:var(--success, #10b981);border-color:var(--success, #10b981);background-color:#10b9810d}:root.dark .filter-group{background-color:var(--bg-primary-dark, #0f172a);border-color:var(--border-dark, #334155)}:root.dark .filter-group.depth-0{background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-dark, #334155)}:root.dark .filter-group.depth-1{background-color:var(--bg-secondary-dark, #1e293b)}:root.dark .filter-group.depth-2{background-color:var(--bg-primary-dark, #0f172a)}:root.dark .filter-group.depth-3{background-color:#3b82f61a;border-color:#3b82f64d}:root.dark .group-header{background-color:#ffffff05;border-bottom-color:var(--border-dark, #334155)}:root.dark .collapse-btn{color:var(--text-secondary-dark, #94a3b8)}:root.dark .collapse-btn:hover{background-color:var(--bg-hover-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}:root.dark .operator-toggle{background-color:var(--bg-tertiary-dark, #0f172a)}:root.dark .operator-btn{color:var(--text-secondary-dark, #94a3b8)}:root.dark .operator-btn:hover{color:var(--text-primary-dark, #f1f5f9)}:root.dark .operator-btn.active{color:var(--primary, #60a5fa);background-color:var(--bg-secondary-dark, #1e293b)}:root.dark .negation-btn{color:var(--text-secondary-dark, #94a3b8);background-color:var(--bg-tertiary-dark, #0f172a)}:root.dark .negation-btn:hover{background-color:var(--bg-hover-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}:root.dark .negation-btn.active{color:#f87171;background-color:#ef444426;border-color:#ef44444d}:root.dark .group-info{color:var(--text-tertiary-dark, #64748b)}:root.dark .action-btn{color:var(--text-secondary-dark, #94a3b8)}:root.dark .action-btn:hover{background-color:var(--bg-hover-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}:root.dark .action-btn.danger:hover{background-color:#ef444426;color:#f87171}:root.dark .empty-group{color:var(--text-tertiary-dark, #64748b)}:root.dark .add-first-filter{color:var(--primary, #60a5fa);background-color:#3b82f626;border-color:var(--primary, #3b82f6)}:root.dark .add-first-filter:hover{background-color:#3b82f633}:root.dark .operator-text{color:var(--text-tertiary-dark, #64748b);background-color:var(--bg-tertiary-dark, #0f172a)}:root.dark .group-add-buttons{border-top-color:var(--border-dark, #334155)}:root.dark .add-btn{color:var(--text-secondary-dark, #94a3b8);border-color:var(--border-dark, #475569)}:root.dark .add-btn:hover{color:var(--primary, #60a5fa);border-color:var(--primary, #3b82f6);background-color:#3b82f61a}:root.dark .add-btn.add-group:hover{color:#34d399;border-color:#10b981;background-color:#10b9811a}.filter-builder{display:flex;flex-direction:column;height:100%;min-height:400px;max-height:80vh;background-color:var(--background, #ffffff)}.filter-builder-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);background-color:var(--bg-secondary, #f8fafc)}.filter-builder-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.filter-stats{display:flex;align-items:center;gap:12px}.filter-count{font-size:13px;color:var(--text-secondary, #64748b);background-color:var(--bg-tertiary, #f1f5f9);padding:4px 8px;border-radius:4px}.validation-error{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--error, #ef4444)}.filter-builder-toolbar{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);background-color:var(--bg-secondary, #f8fafc)}.filter-builder-content{flex:1;overflow-y:auto;padding:16px}.filter-preview{background-color:var(--bg-tertiary, #f1f5f9);border-radius:8px;padding:16px}.filter-preview h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.filter-preview pre{font-family:Monaco,Menlo,monospace;font-size:13px;white-space:pre-wrap;word-break:break-word;background-color:var(--background, #ffffff);padding:12px;border-radius:6px;border:1px solid var(--border, #e2e8f0);color:var(--text-primary, #1e293b)}.filter-json{margin-top:16px}.filter-json h4{margin:0 0 8px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b)}.filter-json pre{max-height:300px;overflow-y:auto}.filter-builder-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--border, #e2e8f0);background-color:var(--bg-secondary, #f8fafc)}.footer-actions{display:flex;gap:8px}.filter-name-input{width:100%;padding:10px 12px;font-size:14px;color:var(--text-primary, #1e293b);background-color:var(--background, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:6px;transition:all .2s ease}.filter-name-input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.filter-name-input::placeholder{color:var(--text-tertiary, #94a3b8)}:root.dark .filter-builder{background-color:var(--bg-primary-dark, #0f172a)}:root.dark .filter-builder-header{background-color:var(--bg-secondary-dark, #1e293b);border-bottom-color:var(--border-dark, #334155)}:root.dark .filter-builder-header h2{color:var(--text-primary-dark, #f1f5f9)}:root.dark .filter-count{color:var(--text-secondary-dark, #94a3b8);background-color:var(--bg-tertiary-dark, #0f172a)}:root.dark .filter-builder-toolbar{background-color:var(--bg-secondary-dark, #1e293b);border-bottom-color:var(--border-dark, #334155)}:root.dark .filter-preview{background-color:var(--bg-secondary-dark, #1e293b)}:root.dark .filter-preview h3{color:var(--text-primary-dark, #f1f5f9)}:root.dark .filter-preview pre{background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}:root.dark .filter-json h4{color:var(--text-secondary-dark, #94a3b8)}:root.dark .filter-builder-footer{background-color:var(--bg-secondary-dark, #1e293b);border-top-color:var(--border-dark, #334155)}:root.dark .filter-name-input{color:var(--text-primary-dark, #f1f5f9);background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-dark, #334155)}:root.dark .filter-name-input:focus{border-color:var(--primary, #3b82f6)}:root.dark .filter-name-input::placeholder{color:var(--text-tertiary-dark, #64748b)}.search-results-page{display:flex;flex-direction:column;height:100vh;padding:24px;background:var(--surface);overflow:hidden}.search-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.search-info h1{margin:0 0 8px;font-size:28px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.results-summary{margin:0;font-size:16px;color:var(--text-secondary)}.results-summary strong{color:var(--text-primary);font-weight:600}.execution-time{font-size:14px;color:var(--text-tertiary, #a0aec0)}.search-actions{display:flex;gap:12px;align-items:center}.export-dropdown{position:relative}.dropdown-content{display:none;position:absolute;right:0;top:100%;margin-top:4px;background:var(--background);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 6px #0000001a;min-width:160px;z-index:1000}.export-dropdown:hover .dropdown-content{display:block}.dropdown-content button{display:block;width:100%;padding:10px 16px;text-align:left;background:none;border:none;cursor:pointer;font-size:14px;color:var(--text-primary);transition:background .2s ease}.dropdown-content button:hover{background:var(--surface)}.error-message{display:flex;align-items:center;gap:12px;padding:16px;background:#fed7d7;border:1px solid #fc8181;border-radius:8px;color:#c53030;margin-bottom:24px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:var(--text-secondary)}.loading-spinner{margin-bottom:16px}.results-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;background:var(--background);border:1px solid var(--border);border-radius:8px}.bulk-actions{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-primary)}.bulk-actions button{padding:6px 12px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.bulk-actions button:hover{background:var(--surface);border-color:var(--border-light, #cbd5e0)}.results-content{flex:1;background:var(--background);border:1px solid var(--border);border-radius:8px;overflow:auto;max-height:calc(100vh - 300px)}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px;background:var(--background);border:1px solid var(--border);border-radius:8px}.pagination button{padding:8px 16px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.pagination button:hover:not(:disabled){background:var(--surface);border-color:var(--border-light, #cbd5e0)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center;color:var(--text-secondary)}.no-results h2{margin:24px 0 8px;font-size:24px;font-weight:600;color:var(--text-primary)}.no-results p{margin:0 0 24px;font-size:16px}.list-view,.grid-view{height:100%;overflow-y:auto;overflow-x:auto}.list-view .sites-table-container{overflow-x:auto;overflow-y:visible}.site-map{height:100%;min-height:400px}@media (max-width: 768px){.search-results-page{padding:16px}.search-header{flex-direction:column;gap:16px}.search-actions{width:100%;justify-content:flex-start}.results-toolbar{flex-direction:column;gap:12px;align-items:flex-start}}:root.dark .error-message{background:#ef444426;border-color:#ef44444d;color:#fca5a5}.advanced-filters-active{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background-color:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;margin-bottom:16px}.advanced-filters-badge{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--primary, #3b82f6)}.clear-advanced-filters-btn{padding:4px 12px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:1px solid var(--border, #e2e8f0);border-radius:4px;cursor:pointer;transition:all .2s ease}.clear-advanced-filters-btn:hover{color:var(--error, #ef4444);border-color:var(--error, #ef4444);background-color:#ef44440d}:root.dark .advanced-filters-active{background-color:#3b82f626;border-color:#3b82f666}:root.dark .advanced-filters-badge{color:#60a5fa}:root.dark .clear-advanced-filters-btn{color:var(--text-secondary-dark, #94a3b8);border-color:var(--border-dark, #475569)}:root.dark .clear-advanced-filters-btn:hover{color:#f87171;border-color:#f87171;background-color:#ef44441a}.reports-repository{padding:20px;max-width:1400px;margin:0 auto;min-height:calc(100vh - 60px)}.reports-header{margin-bottom:24px}.header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.reports-header h2{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.header-actions{display:flex;gap:12px}.alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:14px}.alert-success{background-color:#f0fdf4;border:1px solid #86efac;color:#166534}.alert-error{background-color:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.alert-close{margin-left:auto;background:none;border:none;cursor:pointer;padding:4px;color:inherit;opacity:.7;transition:opacity .2s}.alert-close:hover{opacity:1}.reports-controls{display:flex;align-items:center;gap:16px;margin-bottom:20px}.search-box{position:relative;flex:1;max-width:400px;display:flex;align-items:center}.search-box svg{position:absolute;left:12px;color:var(--text-secondary);pointer-events:none}.search-box input{width:100%;padding:8px 40px;border:1px solid var(--border);border-radius:6px;font-size:14px;outline:none;transition:border-color .2s;background-color:var(--background);color:var(--text-primary)}.search-box input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.search-box input::placeholder{color:var(--text-secondary)}.clear-search{position:absolute;right:8px;background:none;border:none;cursor:pointer;padding:4px;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.clear-search:hover{background-color:var(--hover-bg);color:var(--text-primary)}.results-info{color:var(--text-secondary);font-size:14px}.reports-table-container{background-color:var(--background);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.reports-table{width:100%;border-collapse:collapse}.reports-table thead{background-color:var(--surface);border-bottom:1px solid var(--border)}.reports-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.reports-table th.sortable{cursor:pointer;transition:background-color .2s}.reports-table th.sortable:hover{background-color:var(--hover-bg)}.reports-table th.sortable span{display:inline-flex;align-items:center;gap:4px}.reports-table th svg{vertical-align:middle}.reports-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s}.reports-table tbody tr:hover{background-color:var(--hover-bg)}.reports-table tbody tr:last-child{border-bottom:none}.reports-table td{padding:14px 16px;font-size:14px;color:var(--text-primary)}.report-title{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text-primary)}.report-title svg{color:var(--text-secondary);flex-shrink:0}.report-date{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.report-date svg{color:var(--text-muted)}.report-sites{font-weight:500}.report-size,.report-creator{color:var(--text-secondary)}.report-share{width:160px}.share-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.share-status.shared{color:var(--success)}.share-status-icons{display:flex;align-items:center;gap:4px;flex-shrink:0;animation:fadeIn .3s ease}@keyframes pulseGlow{0%,to{filter:drop-shadow(0 0 2px var(--success))}50%{filter:drop-shadow(0 0 6px var(--success))}}.share-status .share-icon{color:var(--success);flex-shrink:0;animation:pulseGlow 2s ease-in-out infinite}.share-status .password-icon{color:#d97706;flex-shrink:0;transition:transform .2s ease}.share-status:hover .password-icon{transform:scale(1.1)}.share-actions-inline{display:flex;gap:4px}.copy-url-btn,.share-settings-btn,.enable-share-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.copy-url-btn:before,.share-settings-btn:before,.enable-share-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.copy-url-btn:hover:before,.share-settings-btn:hover:before,.enable-share-btn:hover:before{left:100%}.copy-url-btn:hover,.share-settings-btn:hover{background:var(--surface);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 8px #3b82f626}.copy-url-btn:active,.share-settings-btn:active{transform:translateY(0)}.copy-url-btn.copied{background:var(--success-bg, #dcfce7);border-color:var(--success);color:var(--success);animation:copiedPulse .3s ease}@keyframes copiedPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.copy-url-btn svg,.share-settings-btn svg{transition:transform .2s ease}.copy-url-btn:hover svg{transform:scale(1.1)}.share-settings-btn:hover svg{transform:rotate(15deg)}.enable-share-btn{color:var(--text-muted);border-style:dashed}.enable-share-btn:hover{background:var(--surface);border-color:var(--primary);border-style:solid;color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 8px #3b82f626}.enable-share-btn svg{color:var(--text-muted);transition:transform .2s ease,color .2s ease}.enable-share-btn:hover svg{color:var(--primary);transform:scale(1.15)}.view-count{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);padding:3px 8px;background:var(--surface);border-radius:12px;font-weight:500;transition:all .2s ease}.view-count:hover{background:var(--hover-bg);color:var(--text-secondary)}.view-count svg{width:12px;height:12px}:root.dark .copy-url-btn,:root.dark .share-settings-btn,:root.dark .enable-share-btn{background:var(--surface-dark, #1e293b);border-color:var(--border)}:root.dark .copy-url-btn:hover,:root.dark .share-settings-btn:hover{background:var(--hover-bg);border-color:var(--primary);box-shadow:0 2px 8px #3b82f640}:root.dark .enable-share-btn:hover{background:var(--hover-bg);border-color:var(--primary);box-shadow:0 2px 8px #3b82f640}:root.dark .copy-url-btn.copied{background:#10b98133;border-color:var(--success)}:root.dark .view-count{background:var(--surface-dark, #1e293b)}:root.dark .view-count:hover{background:var(--hover-bg)}:root.dark .share-status .password-icon{color:#fbbf24}:root.dark .share-status .share-icon{animation:pulseGlowDark 2s ease-in-out infinite}@keyframes pulseGlowDark{0%,to{filter:drop-shadow(0 0 2px rgba(16,185,129,.6))}50%{filter:drop-shadow(0 0 8px rgba(16,185,129,.8))}}.report-actions{width:200px}.action-buttons{display:flex;gap:8px}button:disabled{opacity:.5;cursor:not-allowed}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;animation:fadeIn .3s ease}.loading-state svg,.error-state svg,.empty-state svg{color:var(--text-muted);margin-bottom:16px}.error-state svg{color:var(--error-color);animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.loading-state p,.error-state p,.empty-state p{color:var(--text-secondary);margin:8px 0 24px}.error-state h3,.empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.skeleton-row{animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-cell{height:16px;background:linear-gradient(90deg,var(--surface) 25%,var(--hover-bg) 50%,var(--surface) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:4px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.reports-table tbody tr{animation:rowFadeIn .3s ease forwards;opacity:0}@keyframes rowFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reports-table tbody tr:nth-child(1){animation-delay:.05s}.reports-table tbody tr:nth-child(2){animation-delay:.1s}.reports-table tbody tr:nth-child(3){animation-delay:.15s}.reports-table tbody tr:nth-child(4){animation-delay:.2s}.reports-table tbody tr:nth-child(5){animation-delay:.25s}.reports-table tbody tr:nth-child(6){animation-delay:.3s}.reports-table tbody tr:nth-child(7){animation-delay:.35s}.reports-table tbody tr:nth-child(8){animation-delay:.4s}.reports-table tbody tr:nth-child(9){animation-delay:.45s}.reports-table tbody tr:nth-child(10){animation-delay:.5s}.reports-table tbody tr:nth-child(n+11){animation-delay:.55s}.confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes overlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.confirmation-dialog{background-color:var(--background);border-radius:12px;box-shadow:0 25px 50px -12px #00000040;max-width:400px;width:90%;animation:dialogSlideUp .3s cubic-bezier(.34,1.56,.64,1);border:1px solid var(--border)}@keyframes dialogSlideUp{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.dialog-header{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid var(--border)}.dialog-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.warning-icon{color:var(--warning-color)}.dialog-content{padding:20px}.dialog-content p{margin:0 0 12px;color:var(--text-primary);font-size:14px}.warning-text{color:var(--error-color-text);font-size:13px;font-weight:500}.dialog-actions{display:flex;gap:12px;padding:20px;border-top:1px solid var(--border);justify-content:flex-end}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.page-info{color:var(--text-secondary);font-size:14px}@media (max-width: 768px){.reports-repository{padding:16px}.header-content{flex-direction:column;align-items:flex-start;gap:12px}.reports-controls{flex-direction:column;align-items:stretch}.search-box{max-width:none}.reports-table-container{overflow-x:auto}.reports-table{min-width:850px}.action-buttons{flex-direction:column;gap:4px}}@media (max-width: 480px){.reports-header h2{font-size:20px}.confirmation-dialog{width:95%;margin:0 10px}}@media print{.header-actions,.reports-controls,.report-actions,.pagination,.alert{display:none}.reports-table-container{border:none;box-shadow:none}.reports-table thead{background-color:transparent;border-bottom:2px solid #000}.reports-table th{color:#000;font-weight:700}.reports-table tbody tr{border-bottom:1px solid #ccc}.reports-table tbody tr:hover{background-color:transparent}}:root.dark .alert-success{background-color:#10b98126;border-color:#34d3994d;color:var(--success-color-text)}:root.dark .alert-error{background-color:#ef444426;border-color:#f871714d;color:var(--error-color-text)}:root.dark .reports-table tbody tr{border-bottom-color:var(--border)}:root.dark .confirmation-overlay{background-color:#000000b3}:root.dark .confirmation-dialog{box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003}.jurisdictions-table-container{background:var(--background);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px var(--shadow-color, rgba(0, 0, 0, .1))}.jurisdictions-table{width:100%;border-collapse:collapse}.jurisdictions-table thead{background:var(--surface);border-bottom:1px solid var(--border)}.jurisdictions-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);white-space:nowrap}.jurisdictions-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.jurisdictions-table th.sortable:hover{color:var(--text-primary)}.jurisdictions-table th.center{text-align:center}.jurisdictions-table tbody tr{border-bottom:1px solid var(--border);transition:background .15s}.jurisdictions-table tbody tr:hover{background:var(--surface)}.jurisdictions-table tbody tr.selected{background:var(--selected-row-bg, rgba(59, 130, 246, .15))}.jurisdictions-table td{padding:12px 16px;font-size:14px;color:var(--text-primary)}.jurisdictions-table td.center{text-align:center}.checkbox-column{width:40px;padding:12px!important}.checkbox-column input[type=checkbox]{cursor:pointer}.name-column{min-width:200px;font-weight:500}.name-column.clickable{cursor:pointer}.name-cell{display:flex;align-items:center;gap:8px}.name-cell .icon{color:var(--text-secondary);flex-shrink:0}.name-cell .name{color:var(--text-primary);text-decoration:none;transition:color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.name-column.clickable:hover .name{color:var(--primary-color, #3b82f6);text-decoration:underline}.type-column,.state-column,.county-column,.status-column{min-width:100px}.difficulty-column{min-width:80px;position:relative}.difficulty-column.center{text-align:center}.difficulty-value{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:500;cursor:pointer;transition:background .15s}.difficulty-value:hover{background:var(--surface)}.difficulty-edit{display:inline-block}.difficulty-input{width:60px;padding:4px 8px;border:2px solid var(--primary-color, #3b82f6);border-radius:4px;font-size:14px;font-weight:500;text-align:center;outline:none;background:var(--background);color:var(--text-primary)}.difficulty-input:focus{box-shadow:0 0 0 3px var(--primary-color-alpha, rgba(59, 130, 246, .1))}.difficulty-input::-webkit-inner-spin-button,.difficulty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.difficulty-input[type=number]{-moz-appearance:textfield}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.status-badge.status-active{background:var(--status-active-bg, #d1fae5);color:var(--status-active-text, #065f46)}.status-badge.status-research{background:var(--status-research-bg, #fed7aa);color:var(--status-research-text, #9a3412)}.status-badge.status-pending{background:var(--status-pending-bg, #fef3c7);color:var(--status-pending-text, #92400e)}.icon-success{color:var(--success-color, #10b981)}.icon-muted{color:var(--text-secondary)}.sites-count{font-weight:500;color:var(--text-primary)}.population-column,.area-column{min-width:100px;text-align:right}.date-column{min-width:120px;color:var(--text-secondary);font-size:13px}.actions-column{width:60px;text-align:center}.btn-icon{padding:4px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .15s;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--surface);color:var(--text-primary)}@media (max-width: 1200px){.county-column,.population-column,.area-column{display:none}}@media (max-width: 992px){.type-column,.date-column{display:none}}@media (max-width: 768px){.jurisdictions-table{font-size:13px}.jurisdictions-table th,.jurisdictions-table td{padding:8px 12px}}:root.dark .jurisdictions-table-container{--shadow-color: rgba(0, 0, 0, .3)}:root.dark .status-badge.status-pending{--status-pending-bg: rgba(250, 204, 21, .15);--status-pending-text: #facc15}:root.dark .icon-success{--success-color: #4ade80}.jurisdiction-card{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:1rem;transition:all .2s;cursor:pointer;position:relative}.jurisdiction-card:hover{box-shadow:0 4px 12px var(--shadow-color, rgba(0, 0, 0, .1));transform:translateY(-2px)}.jurisdiction-card.selected{border-color:var(--primary-color, #2196F3);background:var(--selected-bg, rgba(33, 150, 243, .15))}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.card-header-left{display:flex;align-items:center;gap:.75rem;flex:1}.card-checkbox{width:18px;height:18px;cursor:pointer;flex-shrink:0}.jurisdiction-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--primary-color, #2196F3);cursor:pointer;transition:color .2s}.jurisdiction-name:hover{color:var(--primary-hover, #1976D2);text-decoration:underline}.status-badge{padding:.25rem .75rem;border-radius:16px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-active{background:var(--status-active-bg, #e8f5e9);color:var(--status-active-text, #2e7d32)}.status-badge.status-research{background:var(--status-research-bg, #fff3e0);color:var(--status-research-text, #e65100)}.status-badge.status-pending{background:var(--status-pending-bg, #fce4ec);color:var(--status-pending-text, #c2185b)}.card-body{display:flex;flex-direction:column;gap:.5rem}.info-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.info-label{color:var(--text-secondary);font-weight:500;min-width:70px}.info-value{color:var(--text-primary)}.sites-count{font-weight:600;color:var(--primary-color, #2196F3)}.status-indicators{display:flex;gap:1rem;margin:.75rem 0;padding:.5rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.indicator{display:flex;align-items:center;gap:.25rem;font-size:.85rem;padding:.25rem .5rem;border-radius:4px}.indicator.active{background:var(--indicator-active-bg, #e8f5e9);color:var(--indicator-active-text, #2e7d32)}.indicator.inactive{background:var(--surface);color:var(--text-secondary)}.indicator svg{flex-shrink:0}.info-icon{color:var(--text-secondary);flex-shrink:0}.card-footer{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.date-text{font-size:.8rem;color:var(--text-secondary)}@media (max-width: 480px){.jurisdiction-card{padding:.75rem}.jurisdiction-name{font-size:1rem}.status-indicators{flex-direction:column;gap:.5rem}}:root.dark .jurisdiction-card{--shadow-color: rgba(0, 0, 0, .3)}:root.dark .jurisdiction-card.selected{--selected-bg: rgba(59, 130, 246, .15)}:root.dark .jurisdiction-name{color:var(--primary-color-dark, #60a5fa)}:root.dark .jurisdiction-name:hover{color:var(--primary-hover-dark, #93c5fd)}:root.dark .status-badge.status-active{--status-active-bg: rgba(34, 197, 94, .15);--status-active-text: #4ade80}:root.dark .status-badge.status-research{--status-research-bg: rgba(251, 146, 60, .15);--status-research-text: #fb923c}:root.dark .status-badge.status-pending{--status-pending-bg: rgba(244, 114, 182, .15);--status-pending-text: #f472b6}:root.dark .sites-count{color:var(--primary-color-dark, #60a5fa)}:root.dark .indicator.active{--indicator-active-bg: rgba(34, 197, 94, .15);--indicator-active-text: #4ade80}:root.dark .date-text{color:var(--text-muted, #6b7280)}.jurisdictions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;padding:1rem 0}@media (max-width: 768px){.jurisdictions-grid{grid-template-columns:1fr}}@media (min-width: 1200px){.jurisdictions-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}@media (min-width: 1600px){.jurisdictions-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:var(--background);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary)}.empty-state p{margin:0;font-size:1.1rem}.jurisdictions-map-container{position:relative;width:100%;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.jurisdictions-map{width:100%;height:100%}.jurisdictions-map-error{display:flex;align-items:center;justify-content:center;height:100%;background-color:var(--surface);color:var(--text-secondary);font-size:16px}.map-controls{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:8px;z-index:10}.map-control-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:var(--background);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:14px;color:var(--text-primary);box-shadow:0 2px 4px #0000001a;transition:all .2s ease}.map-control-btn:hover{background-color:var(--surface);box-shadow:0 4px 8px #00000026}.map-control-btn:active{transform:translateY(1px);box-shadow:0 1px 2px #0000001a}.map-legend{position:absolute;bottom:20px;left:20px;background-color:var(--background);border:1px solid var(--border);border-radius:8px;padding:12px 16px;box-shadow:0 2px 8px #0000001a;z-index:10}.map-legend h4{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--text-primary)}.legend-items{display:flex;flex-direction:column;gap:6px}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.legend-color{width:20px;height:20px;border-radius:4px;border:1px solid var(--border)}.hover-tooltip{position:absolute;bottom:20px;right:20px;background-color:var(--tooltip-bg, rgba(0, 0, 0, .8));color:var(--tooltip-text, white);padding:6px 12px;border-radius:4px;font-size:14px;pointer-events:none;z-index:15;white-space:nowrap}.gm-style-iw{border-radius:8px!important}.gm-style-iw-d{overflow:hidden!important}.gm-style-iw button{transition:opacity .2s ease}.gm-style-iw button:hover{opacity:.8}@media (max-width: 768px){.map-controls{top:auto;bottom:10px;right:10px}.map-legend{bottom:auto;top:10px;left:10px;max-width:180px}.map-control-btn span{display:none}.map-control-btn{padding:10px}.legend-item{font-size:12px}.legend-color{width:16px;height:16px}}[data-theme=dark] .jurisdictions-map-container{box-shadow:0 2px 8px #0000004d}[data-theme=dark] .map-control-btn{box-shadow:0 2px 4px #0000004d}[data-theme=dark] .map-control-btn:hover{box-shadow:0 4px 8px #0006}[data-theme=dark] .map-legend{box-shadow:0 2px 8px #0000004d}.jurisdictions-toolbar{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.toolbar-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.toolbar-left{display:flex;align-items:center;gap:1rem;flex:1}.toolbar-right{display:flex;align-items:center;gap:.5rem}.view-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.view-toggle-btn{background:var(--background);border:none;padding:.5rem .75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--text-secondary)}.view-toggle-btn:not(:last-child){border-right:1px solid var(--border)}.view-toggle-btn:hover{background:var(--surface)}.view-toggle-btn.active{background:var(--primary-color, #2196F3);color:#fff}.search-box{position:relative;flex:1;max-width:400px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.search-input{width:100%;padding:.5rem .75rem .5rem 2.5rem;border:1px solid var(--border);border-radius:6px;font-size:.9rem;transition:border-color .2s;background:var(--background);color:var(--text-primary)}.search-input::placeholder{color:var(--text-secondary)}.search-input:focus{outline:none;border-color:var(--primary-color, #2196F3)}.filter-select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--background);font-size:.9rem;cursor:pointer;transition:border-color .2s;color:var(--text-primary)}.filter-select:hover{border-color:var(--text-muted)}.filter-select:focus{outline:none;border-color:var(--primary-color, #2196F3)}.filter-select option{color:var(--text-primary);background:var(--background);font-size:.9rem}.filter-select option[value=""]{color:var(--text-secondary);font-style:italic}.btn{padding:.5rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--background);cursor:pointer;font-size:.9rem;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem;color:var(--text-primary)}.btn:hover{background:var(--surface)}.btn-icon{padding:.5rem;border:1px solid var(--border);border-radius:6px;background:var(--background);cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}@media (max-width: 768px){.toolbar-row{flex-direction:column;align-items:stretch}.toolbar-left,.toolbar-right{width:100%}.toolbar-right{flex-wrap:wrap}.search-box{max-width:none}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:var(--background);border-radius:12px;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026}.bulk-add-modal{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.close-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.25rem;transition:color .2s}.close-btn:hover{color:var(--text-primary)}.modal-body{flex:1;overflow-y:auto;padding:1.5rem}.file-upload-area{border:2px dashed var(--border);border-radius:8px;padding:3rem 2rem;text-align:center;position:relative;transition:all .3s;background:var(--surface)}.file-upload-area:hover{border-color:var(--primary);background:var(--surface-hover, var(--surface))}.file-upload-area.drag-active{border-color:var(--primary);background:var(--primary-light, var(--surface))}.file-upload-area svg{color:var(--primary);margin-bottom:1rem}.file-upload-area h3{margin:0 0 .5rem;color:var(--text-primary)}.file-upload-area p{color:var(--text-secondary);margin:0 0 1.5rem}.template-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border);text-align:center}.template-section p{margin:0 0 1rem;color:var(--text-secondary)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.preview-section{display:flex;flex-direction:column;gap:1rem}.file-info{background:var(--surface);padding:1rem;border-radius:6px}.file-info h3{margin:0 0 .5rem;font-size:1.1rem}.file-info p{margin:0;color:var(--text-secondary)}.validation-errors,.validation-warnings,.validation-success{display:flex;gap:.75rem;padding:1rem;border-radius:6px;align-items:flex-start}.validation-errors{background:var(--error-bg, #ffebee);color:var(--error, #c62828);border:1px solid var(--error-border, #ef5350)}.validation-warnings{background:var(--warning-bg, #fff3e0);color:var(--warning, #e65100);border:1px solid var(--warning-border, #ff9800)}.validation-success{background:var(--success-bg, #e8f5e9);color:var(--success, #2e7d32);border:1px solid var(--success-border, #66bb6a)}.validation-errors h4,.validation-warnings h4{margin:0 0 .5rem;font-size:.9rem;font-weight:600}.validation-errors p,.validation-warnings p{margin:.25rem 0;font-size:.85rem}.preview-table-container{overflow-x:auto;border:1px solid var(--border);border-radius:6px;background:var(--background)}.preview-table{width:100%;border-collapse:collapse;font-size:.9rem}.preview-table th{background:var(--surface);padding:.75rem;text-align:left;font-weight:600;border-bottom:2px solid var(--border);white-space:nowrap;color:var(--text-primary)}.preview-table td{padding:.75rem;border-bottom:1px solid var(--border);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.preview-table tr:last-child td{border-bottom:none}.more-rows{padding:.5rem;text-align:center;color:var(--text-secondary);font-size:.85rem;background:var(--surface);margin:0}.import-options{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--surface);border-radius:6px}.import-options label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--text-primary)}.import-options input[type=checkbox]{width:18px;height:18px;cursor:pointer}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--border)}@media (max-width: 768px){.modal-overlay{padding:1rem}.modal-content{max-height:100%}.file-upload-area{padding:2rem 1rem}.modal-footer{flex-direction:column}.btn{width:100%;justify-content:center}}[data-theme=dark] .validation-errors{background:#ef535026;color:#ef5350;border-color:#ef535066}[data-theme=dark] .validation-warnings{background:#ff980026;color:#ffb74d;border-color:#ff980066}[data-theme=dark] .validation-success{background:#66bb6a26;color:#81c784;border-color:#66bb6a66}.jurisdictions-import-modal{display:flex;flex-direction:column;gap:0}.import-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color, #e0e0e0);margin:-16px -16px 16px;padding:0 16px;background:var(--bg-muted, #f5f5f5)}.import-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 24px;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(--text-secondary, #666);transition:all .2s ease;position:relative;top:1px}.import-tab svg{margin-bottom:4px}.import-tab span{font-size:14px;font-weight:500}.import-tab .tab-hint{font-size:11px;font-weight:400;color:var(--text-tertiary, #999)}.import-tab:hover:not(:disabled){color:var(--text-primary, #333);background:var(--bg-hover, rgba(0, 0, 0, .03))}.import-tab.active{color:var(--color-primary, #3b82f6);border-bottom-color:var(--color-primary, #3b82f6);background:var(--bg-primary, #fff)}.import-tab.active .tab-hint{color:var(--color-primary-muted, #93c5fd)}.import-tab:disabled{opacity:.5;cursor:not-allowed}.import-content{min-height:400px;padding:0 4px}.info-section,.import-info{display:flex;gap:1rem;padding:1rem;background:var(--info-bg, #e3f2fd);border-radius:8px;margin-bottom:1.5rem;align-items:flex-start}.info-section svg,.import-info svg{color:var(--color-primary, #3b82f6);flex-shrink:0;margin-top:.25rem}.info-section h4,.import-info p strong{margin:0 0 .5rem;font-size:1rem;color:var(--info-text, var(--color-primary, #3b82f6))}.info-section p,.import-info p{margin:0 0 .5rem;font-size:.9rem;color:var(--text-primary, #333)}.info-section ul,.import-info ul{margin:.5rem 0 0;padding-left:1.25rem;font-size:.85rem;color:var(--text-primary, #333)}.info-section li,.import-info li{margin:.25rem 0}.file-upload-area,.file-drop-zone{border:2px dashed var(--border-color, #e0e0e0);border-radius:8px;padding:2.5rem 2rem;text-align:center;position:relative;transition:all .3s;background:var(--bg-secondary, #f9f9f9);cursor:pointer;margin-bottom:1rem}.file-upload-area:hover,.file-drop-zone:hover{border-color:var(--color-primary, #3b82f6);background:var(--bg-hover, #f5f5f5)}.file-upload-area.drag-active,.file-drop-zone.drag-active{border-color:var(--color-primary, #3b82f6);background:var(--info-bg, #e3f2fd)}.file-upload-area svg,.file-drop-zone svg,.file-drop-label svg{color:var(--text-secondary, #666);margin-bottom:1rem}.file-upload-area h3,.file-drop-zone h3,.file-drop-label h3{margin:0 0 .5rem;color:var(--text-primary, #333);font-size:1.1rem}.file-upload-area p,.file-drop-zone p,.file-drop-label p{color:var(--text-secondary, #666);margin:0 0 1rem;font-size:.9rem}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-drop-label{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px}.template-hint{font-size:.85rem!important;color:var(--text-tertiary, #999)!important;font-style:italic}.file-selected{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--success-bg, #e8f5e9);border:1px solid var(--color-success, #22c55e);border-radius:6px;margin-top:1rem}.file-selected svg{color:var(--color-success, #22c55e);flex-shrink:0}.file-selected span{flex:1;font-weight:500;color:var(--color-success, #22c55e)}.remove-file-btn{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--color-success, #22c55e);transition:color .2s;display:flex;align-items:center;justify-content:center}.remove-file-btn:hover{color:var(--color-success-dark, #16a34a)}.import-options{margin-top:1.5rem;padding:1rem;background:var(--bg-secondary, #f9f9f9);border-radius:6px}.import-options h4{margin:0 0 1rem;font-size:.95rem;color:var(--text-primary, #333)}.import-options label{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;cursor:pointer;font-size:.9rem;color:var(--text-primary, #333)}.import-options label:last-child{margin-bottom:0}.import-options input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary, #3b82f6)}.export-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color, #e0e0e0);text-align:center}.export-section p{margin:0 0 1rem;color:var(--text-secondary, #666);font-size:.9rem}.files-list{margin:1.5rem 0}.files-list h4{margin-bottom:10px;color:var(--text-primary, #333);font-size:.95rem}.files-grid{display:grid;gap:8px;max-height:200px;overflow-y:auto;padding:10px;background:var(--bg-secondary, #f9f9f9);border-radius:6px;border:1px solid var(--border-color, #e0e0e0)}.file-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-primary, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:4px}.file-item svg{color:var(--text-secondary, #666);flex-shrink:0}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9em;color:var(--text-primary, #333)}.file-size{color:var(--text-tertiary, #999);font-size:.85em;flex-shrink:0}.remove-file{background:none;border:none;color:var(--text-tertiary, #999);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:color .2s}.remove-file:hover{color:var(--color-error, #ef4444)}.validation-stage{padding:20px 0}.validation-loading{display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px}.validation-loading .spinner{animation:spin 1s linear infinite}.validation-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:30px}.summary-card{display:flex;align-items:center;gap:15px;padding:20px;background:var(--bg-primary, #fff);border:2px solid var(--border-color, #e0e0e0);border-radius:8px}.summary-card.new{border-color:var(--color-success, #22c55e);background:var(--success-bg, #f0fdf4)}.summary-card.new svg{color:var(--color-success, #22c55e)}.summary-card.update{border-color:var(--color-primary, #3b82f6);background:var(--info-bg, #eff6ff)}.summary-card.update svg{color:var(--color-primary, #3b82f6)}.summary-card.error{border-color:var(--color-error, #ef4444);background:var(--error-bg, #fef2f2)}.summary-card.error svg{color:var(--color-error, #ef4444)}.summary-card .count{font-size:1.8em;font-weight:700;color:var(--text-primary, #333)}.summary-card .label{font-size:.9em;color:var(--text-secondary, #666)}.validation-files h4{margin-bottom:15px;color:var(--text-primary, #333)}.validation-list{max-height:300px;overflow-y:auto;border:1px solid var(--border-color, #e0e0e0);border-radius:6px}.validation-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-bottom:1px solid var(--border-color, #e0e0e0);background:var(--bg-primary, #fff)}.validation-item:last-child{border-bottom:none}.validation-item.duplicate{background:var(--warning-bg, #fefce8)}.validation-item.error{background:var(--error-bg, #fef2f2)}.validation-item svg{margin-top:2px;flex-shrink:0}.file-info{flex:1}.file-info .file-name{font-size:.9em;color:var(--text-secondary, #666);margin-bottom:4px}.jurisdiction-info{font-size:.95em;margin-bottom:4px;color:var(--text-primary, #333)}.jurisdiction-info .error{color:var(--color-error, #ef4444)}.validation-message{font-size:.85em;color:var(--text-tertiary, #999);font-style:italic}.processing-stage{padding:40px 20px}.progress-header{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:30px}.progress-header .spinner{animation:spin 1s linear infinite;color:var(--color-primary, #3b82f6)}.progress-bar{height:8px;background:var(--border-color, #e0e0e0);border-radius:4px;overflow:hidden;margin-bottom:20px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary, #3b82f6),var(--color-primary-light, #60a5fa));transition:width .3s ease;border-radius:4px}.progress-details{text-align:center}.current-file{font-size:.95em;color:var(--text-secondary, #666);margin-bottom:15px}.progress-stats{display:flex;justify-content:center;gap:30px;margin-top:20px}.progress-stats .stat{display:flex;align-items:center;gap:8px;font-size:.95em;color:var(--text-primary, #333)}.complete-stage{padding:40px 20px;text-align:center}.success-header{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:30px}.success-header svg{color:var(--color-success, #22c55e)}.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;margin-bottom:30px}.result-card{padding:20px;background:var(--bg-secondary, #f9f9f9);border-radius:8px;border:2px solid var(--border-color, #e0e0e0)}.result-card.success{background:var(--success-bg, #f0fdf4);border-color:var(--color-success, #22c55e)}.result-card.info{background:var(--info-bg, #eff6ff);border-color:var(--color-primary, #3b82f6)}.result-card.error{background:var(--error-bg, #fef2f2);border-color:var(--color-error, #ef4444)}.result-number{font-size:2em;font-weight:700;color:var(--text-primary, #333);margin-bottom:5px}.result-label{font-size:.9em;color:var(--text-secondary, #666)}.results-note{display:flex;align-items:flex-start;gap:10px;padding:15px;background:var(--warning-bg, #fefce8);border:1px solid var(--color-warning, #eab308);border-radius:6px;text-align:left}.results-note svg{color:var(--color-warning, #eab308);flex-shrink:0;margin-top:2px}.results-note p{margin:0;font-size:.95em;color:var(--text-primary, #333)}.footer-actions{display:flex;gap:10px;margin-left:auto}.icon-success{color:var(--color-success, #22c55e)}.icon-info{color:var(--color-primary, #3b82f6)}.icon-error{color:var(--color-error, #ef4444)}.icon-muted{color:var(--text-tertiary, #999)}@media (max-width: 768px){.import-tabs{flex-direction:column;gap:0}.import-tab{flex-direction:row;gap:12px;padding:12px 16px;border-bottom:none;border-left:2px solid transparent}.import-tab.active{border-bottom:none;border-left-color:var(--color-primary, #3b82f6)}.import-tab .tab-hint{display:none}.validation-summary,.results-summary{grid-template-columns:1fr}.progress-stats{flex-direction:column;gap:10px}.file-upload-area,.file-drop-zone{padding:2rem 1rem}}.dark .import-tabs{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155)}.dark .import-tab{color:var(--text-secondary-dark, #94a3b8)}.dark .import-tab:hover:not(:disabled){color:var(--text-primary-dark, #e2e8f0);background:var(--bg-hover-dark, rgba(255, 255, 255, .05))}.dark .import-tab.active{color:var(--color-primary-light, #60a5fa);background:var(--bg-primary-dark, #0f172a)}.dark .info-section,.dark .import-info{background:#3b82f626;border-color:#3b82f64d}.dark .file-upload-area,.dark .file-drop-zone{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155)}.dark .file-upload-area:hover,.dark .file-drop-zone:hover{background:var(--bg-hover-dark, #334155)}.dark .file-upload-area.drag-active,.dark .file-drop-zone.drag-active{background:#3b82f626}.dark .file-selected{background:#22c55e26;border-color:#22c55e66}.dark .file-selected svg,.dark .file-selected span,.dark .remove-file-btn{color:#4ade80}.dark .import-options{background:var(--bg-secondary-dark, #1e293b)}.dark .files-grid{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155)}.dark .file-item{background:var(--bg-primary-dark, #0f172a);border-color:var(--border-color-dark, #334155)}.dark .summary-card{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155)}.dark .summary-card.new{background:#22c55e26;border-color:#22c55e66}.dark .summary-card.update{background:#3b82f626;border-color:#3b82f666}.dark .summary-card.error{background:#ef444426;border-color:#ef444466}.dark .validation-list{border-color:var(--border-color-dark, #334155)}.dark .validation-item{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155)}.dark .validation-item.duplicate{background:#eab30826}.dark .validation-item.error{background:#ef444426}.dark .result-card{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155)}.dark .result-card.success{background:#22c55e26;border-color:#22c55e66}.dark .result-card.info{background:#3b82f626;border-color:#3b82f666}.dark .result-card.error{background:#ef444426;border-color:#ef444466}.dark .results-note{background:#eab30826;border-color:#eab30866}.dark .progress-bar{background:var(--border-color-dark, #334155)}.jcc-modal{display:flex;flex-direction:column;gap:16px;padding:8px 0}.jcc-description{color:var(--text-secondary, #666);font-size:14px;margin:0}.jcc-column-groups{display:flex;flex-direction:column;gap:16px;max-height:400px;overflow-y:auto}.jcc-group{display:flex;flex-direction:column;gap:8px}.jcc-group-title{font-size:12px;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.05em;margin:0;padding:0 4px}.jcc-column-list{display:flex;flex-direction:column;gap:4px;border:1px solid var(--border-color, #e0e0e0);border-radius:6px;overflow:hidden}.jcc-column-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-primary, #fff);border-bottom:1px solid var(--border-color, #e0e0e0);transition:background-color .15s ease,opacity .15s ease}.jcc-column-item:last-child{border-bottom:none}.jcc-column-item:hover{background:var(--bg-hover, #f5f5f5)}.jcc-column-item.dragging{opacity:.5;background:var(--bg-active, #e0e7ff)}.jcc-column-item.drag-over{background:var(--bg-active, #e0e7ff);border-top:2px solid var(--color-primary, #3b82f6)}.jcc-column-item.hidden-column{opacity:.6;background:var(--bg-muted, #f5f5f5)}.jcc-drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--text-tertiary, #999);padding:4px;border-radius:4px;transition:color .15s ease,background-color .15s ease}.jcc-drag-handle:hover{color:var(--text-secondary, #666);background:var(--bg-hover, #f0f0f0)}.jcc-drag-handle:active{cursor:grabbing}.jcc-drag-handle.disabled{cursor:not-allowed;opacity:.3}.jcc-column-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.jcc-column-label{font-size:14px;font-weight:500;color:var(--text-primary, #333)}.jcc-visibility-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--color-success, #22c55e);transition:background-color .15s ease,color .15s ease}.jcc-visibility-toggle:hover:not(:disabled){background:var(--bg-hover, #f0f0f0)}.jcc-visibility-toggle.hidden{color:var(--text-tertiary, #999)}.jcc-visibility-toggle.disabled{cursor:not-allowed;opacity:.3}.jcc-summary{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg-muted, #f5f5f5);border-radius:6px;font-size:13px;color:var(--text-secondary, #666)}.jcc-summary-total{color:var(--text-tertiary, #999)}.jcc-note{font-size:12px;color:var(--text-tertiary, #999);margin:0;font-style:italic}.jcc-reset-btn{display:flex;align-items:center;gap:6px}.dark .jcc-column-item{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155)}.dark .jcc-column-item:hover{background:var(--bg-hover-dark, #334155)}.dark .jcc-column-item.hidden-column{background:var(--bg-muted-dark, #0f172a)}.dark .jcc-column-list{border-color:var(--border-color-dark, #334155)}.dark .jcc-group-title{color:var(--text-secondary-dark, #94a3b8)}.dark .jcc-column-label{color:var(--text-primary-dark, #e2e8f0)}.dark .jcc-summary{background:var(--bg-muted-dark, #1e293b);color:var(--text-secondary-dark, #94a3b8)}.dark .jcc-note{color:var(--text-tertiary-dark, #64748b)}.projects-toolbar{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.projects-toolbar .toolbar-left{display:flex;align-items:center;gap:.75rem;flex:1}.projects-toolbar .toolbar-right{display:flex;align-items:center;gap:.5rem}.projects-toolbar .view-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.projects-toolbar .view-btn{background:var(--background);border:none;padding:.5rem .75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--text-secondary)}.projects-toolbar .view-btn:not(:last-child){border-right:1px solid var(--border)}.projects-toolbar .view-btn:hover{background:var(--surface)}.projects-toolbar .view-btn.active{background:var(--primary-color, #2196F3);color:#fff}.projects-table-wrapper{background:var(--background);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px var(--shadow-color, rgba(0, 0, 0, .1))}.projects-table{width:100%;border-collapse:collapse}.projects-table thead{background:var(--surface);border-bottom:1px solid var(--border)}.projects-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);white-space:nowrap}.projects-table tbody tr{border-bottom:1px solid var(--border);transition:background .15s}.projects-table tbody tr:hover{background:var(--surface)}.projects-table tbody tr.selected{background:var(--selected-row-bg, rgba(59, 130, 246, .15))}.projects-table td{padding:12px 16px;font-size:14px;color:var(--text-primary)}.projects-table .checkbox-col{width:40px;text-align:center}.projects-table .numeric-col{white-space:nowrap}.projects-table .date-col{white-space:nowrap;color:var(--text-secondary);font-size:13px}.projects-table .description-col{max-width:250px}.projects-table .truncated-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:250px;color:var(--text-secondary)}.project-name-link{background:none;border:none;padding:0;color:var(--primary-color, #2196F3);font-weight:500;cursor:pointer;text-decoration:none;transition:color .15s}.project-name-link:hover{color:var(--primary-hover, #1976D2);text-decoration:underline}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.project-card{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:1.25rem;cursor:pointer;transition:all .2s}.project-card:hover{border-color:var(--primary-color, #2196F3);box-shadow:0 2px 8px var(--shadow-color, rgba(0, 0, 0, .1))}.project-card.selected{border-color:var(--primary-color, #2196F3);background:var(--selected-row-bg, rgba(59, 130, 246, .08))}.project-card .card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.project-card .card-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.project-card .card-description{font-size:.85rem;color:var(--text-secondary);margin:0 0 .75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card .card-stats{display:flex;gap:1rem;margin-bottom:.75rem}.project-card .stat{display:flex;align-items:center;gap:.25rem;font-size:.8rem;color:var(--text-secondary)}.project-card .card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid var(--border)}.project-card .date{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary)}@media (max-width: 768px){.projects-toolbar{flex-direction:column;align-items:stretch}.projects-toolbar .toolbar-left{flex-wrap:wrap}.projects-grid{grid-template-columns:1fr}}.jurisdictions-manager{padding:1.5rem;background:var(--surface);min-height:100vh}.page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;background:var(--background);padding:1rem 1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000000d}.page-header .header-left{flex-shrink:0}.page-header .header-center{flex:1;display:flex;justify-content:center}.header-actions{display:flex;gap:.75rem;flex-shrink:0}.bulk-actions-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#2196f3;color:#fff;border-radius:8px;margin-bottom:1rem}.bulk-actions-bar .actions{display:flex;gap:.5rem;align-items:center}.bulk-actions-bar .btn{background:var(--background);color:var(--text-primary);border:none}.bulk-actions-bar .btn:hover{background:var(--surface)}.bulk-actions-bar .btn-outline{background:transparent;color:#fff;border:1px solid white}.bulk-actions-bar .btn-outline:hover{background:#ffffff1a}.dropdown{position:relative}.dropdown-toggle{padding-right:1.5rem;position:relative}.dropdown-toggle:after{content:"▼";position:absolute;right:.5rem;font-size:.7rem}.dropdown-menu{position:absolute;top:100%;left:0;background:var(--background);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0000001a;min-width:150px;z-index:100;display:none}.dropdown:hover .dropdown-menu{display:block}.dropdown-menu button{display:block;width:100%;padding:.5rem 1rem;text-align:left;background:none;border:none;cursor:pointer;font-size:.9rem;transition:background .2s}.dropdown-menu button:hover{background:var(--surface)}.btn{padding:.5rem 1.25rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem;border:none}.btn-sm{padding:.375rem .75rem;font-size:.85rem}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:var(--background);border-radius:8px;text-align:center}.loading-state .spinner{width:48px;height:48px;border:3px solid #e0e0e0;border-top-color:#2196f3;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-state p,.error-state p,.empty-state p{color:var(--text-secondary);margin:.5rem 0}.error-state h3,.empty-state h3{color:var(--text-primary);margin:0 0 1rem}.pagination{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--background);border-radius:8px;margin-top:1rem}.pagination-info{color:var(--text-secondary);font-size:.9rem}.pagination-controls{display:flex;align-items:center;gap:1rem}.page-info{color:var(--text-primary);font-size:.9rem;font-weight:500}.per-page-select{padding:.375rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--background);font-size:.85rem;cursor:pointer;color:var(--text-primary)}.per-page-select:hover{border-color:#bdbdbd}.per-page-select:focus{outline:none;border-color:#2196f3}.per-page-select option{color:var(--text-primary);background:var(--background)}@media (max-width: 768px){.jurisdictions-manager{padding:1rem}.page-header{flex-direction:column;align-items:stretch;gap:.75rem}.page-header .header-center{justify-content:flex-start}.header-actions{flex-direction:column}.bulk-actions-bar{flex-direction:column;gap:1rem}.bulk-actions-bar .actions{width:100%;flex-wrap:wrap;justify-content:center}.pagination{flex-direction:column;gap:1rem}.pagination-controls{flex-wrap:wrap;justify-content:center}}.site-plan-panel{background:var(--background);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;height:600px;min-height:400px;position:relative;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:all .3s ease}.site-plan-panel.embedded{height:100%;box-shadow:none;border:none}.site-plan-panel.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;height:100vh;width:100vw;z-index:9999;border-radius:0;margin:0}.site-plan-panel-disabled{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;text-align:center;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:8px;min-height:200px}.site-plan-panel-disabled small{color:var(--text-muted);font-size:.875rem}.site-plan-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;text-align:center;min-height:300px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.site-plan-panel-empty .empty-icon{color:var(--text-muted);margin-bottom:1rem}.site-plan-panel-empty h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-secondary)}.site-plan-panel-empty p{margin:0;color:var(--text-secondary)}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.header-left{display:flex;align-items:center;gap:.75rem}.header-left h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.site-name{display:block;font-size:.875rem;color:var(--text-secondary);margin-top:.125rem}.header-right{display:flex;align-items:center;gap:1rem}.header-actions{display:flex;gap:.5rem}.status-indicator{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;transition:all .2s}.status-indicator .status-icon{flex-shrink:0}.status-queued{background:var(--warning-bg, #fff3cd);color:var(--warning-text, #856404);border:1px solid var(--warning-border, #ffeaa7)}.status-processing{background:var(--info-bg, #cce5ff);color:var(--info-text, #004085);border:1px solid var(--info-border, #b8daff)}.status-complete{background:var(--success-bg, #d4edda);color:var(--success-text, #155724);border:1px solid var(--success-border, #c3e6cb)}.status-failed{background:var(--error-bg, #f8d7da);color:var(--error-text, #721c24);border:1px solid var(--error-border, #f5c6cb)}.progress-badge{background:var(--info-text, #004085);color:var(--text-on-primary, white);padding:.125rem .375rem;border-radius:10px;font-size:.75rem;margin-left:.25rem}.job-info-bar{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);font-size:.875rem}.job-info-item{display:flex;gap:.5rem;align-items:center}.job-info-item .label{color:var(--text-secondary);font-weight:500}.job-info-item .value{color:var(--text-primary)}.job-info-item.full-width{flex:1 0 100%}.monospace{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875rem;background:var(--hover-bg);padding:.125rem .375rem;border-radius:3px}.site-plan-panel .panel-content{flex:1;overflow:auto;position:relative;background:var(--background)}.content-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;height:100%;color:var(--text-secondary)}.content-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;height:100%;text-align:center}.content-error h4{margin:0;font-size:1.25rem;color:var(--error, #dc3545)}.content-error p{margin:0;color:var(--text-secondary);max-width:400px}.error-actions{display:flex;gap:.75rem;margin-top:1rem}.content-processing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2rem;height:100%;text-align:center}.processing-animation{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.content-processing h4{margin:0;font-size:1.25rem;color:var(--text-primary)}.content-processing p{margin:0;color:var(--text-secondary);max-width:400px}.progress-bar-container{width:100%;max-width:300px}.progress-bar{width:100%;height:8px;background:var(--hover-bg);border-radius:4px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-hover));transition:width .3s ease;box-shadow:0 2px 4px #007bff4d}.progress-text{display:block;margin-top:.5rem;font-size:.875rem;color:var(--text-secondary)}.processing-info{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.content-complete{display:flex;flex-direction:column;height:100%}.preview-controls{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.controls-left,.controls-right{display:flex;align-items:center;gap:.75rem}.zoom-level{min-width:50px;text-align:center;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.preview-container{flex:1;overflow:auto;position:relative;background:var(--surface);display:flex;align-items:center;justify-content:center;padding:2rem}.preview-wrapper{transform-origin:center center;transition:transform .3s ease;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.preview-iframe{width:100%;height:100%;max-width:900px;max-height:600px;border:1px solid var(--border);background:var(--background);border-radius:4px;box-shadow:0 2px 8px #0000001a}.download-section{padding:1.5rem;background:var(--background);border-top:1px solid var(--border);flex-shrink:0}.download-section h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.download-buttons{display:flex;gap:1rem;flex-wrap:wrap}.btn-download{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s;background:var(--background);flex:1;min-width:200px;color:var(--text-primary)}.btn-download span{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem}.btn-download strong{font-weight:600;font-size:.875rem}.btn-download small{font-size:.75rem;color:var(--text-secondary)}.btn-download:hover{background:var(--surface);border-color:var(--text-muted);transform:translateY(-1px)}.panel-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.footer-info{display:flex;align-items:center;gap:.5rem;color:var(--success-text, #155724);font-size:.875rem}.footer-info .success-icon{color:var(--success, #28a745)}.footer-actions{display:flex;align-items:center;gap:1rem}.retry-info{font-size:.75rem;color:var(--text-secondary)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;color:var(--text-secondary)}.btn-icon:hover{background:var(--surface);border-color:var(--text-muted);color:var(--text-primary)}.btn-icon:active{transform:scale(.95)}.btn-text{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:transparent;border:none;color:var(--primary);font-size:.875rem;cursor:pointer;transition:all .2s;text-decoration:none;border-radius:4px}.btn-text:hover{color:var(--primary-hover);background:var(--primary-bg, rgba(0, 123, 255, .1))}@media (max-width: 768px){.site-plan-panel{height:100vh;border-radius:0}.panel-header{padding:1rem}.header-left h3{font-size:1rem}.job-info-bar{padding:.75rem 1rem;font-size:.8rem}.download-buttons{flex-direction:column}.btn-download{min-width:auto;width:100%}.preview-controls{padding:.75rem 1rem;flex-direction:column;gap:1rem}.controls-left,.controls-right{width:100%;justify-content:center}.preview-container{padding:1rem}.panel-footer{flex-direction:column;gap:1rem;align-items:flex-start}}.btn-icon:focus-visible,.btn-text:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-download:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media print{.site-plan-panel{box-shadow:none;border:none}.panel-header,.job-info-bar,.preview-controls,.download-section,.panel-footer{display:none}.preview-container{padding:0;background:var(--background)}.preview-iframe{max-width:100%;max-height:100%;border:none;box-shadow:none}}.create-deliverable-form{display:flex;flex-direction:column;gap:20px}.form-section{display:flex;flex-direction:column;gap:8px}.type-display{padding:16px;background:var(--surface, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:8px}.type-name{font-size:16px;font-weight:600;color:var(--text-primary, #111827);margin-bottom:4px}.type-category{font-size:12px;font-weight:500;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.type-description{font-size:14px;color:var(--text-secondary, #6b7280);line-height:1.5}.form-label{display:flex;align-items:center;gap:6px;font-weight:500;color:var(--text-primary, #111827);font-size:14px}.optional-label{font-size:12px;font-weight:400;color:var(--text-secondary, #9ca3af);font-style:italic}.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--border, #e5e7eb);border-radius:6px;font-size:14px;font-family:inherit;line-height:1.5;resize:vertical;transition:border-color .2s;background:var(--input-bg, #ffffff);color:var(--text-primary, #111827)}.form-textarea:focus{outline:none;border-color:var(--primary-color, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.form-textarea::placeholder{color:var(--text-tertiary, #9ca3af)}.form-hint{font-size:12px;color:var(--text-secondary, #6b7280);line-height:1.4}.error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--error-bg, #fef2f2);border:1px solid var(--error-border, #fecaca);border-radius:6px;color:var(--error-color, #dc2626);font-size:14px}.error-message svg{flex-shrink:0}:root.dark .type-display{background:#1f2937;border-color:#374151}:root.dark .type-category{color:#9ca3af}:root.dark .type-description{color:#d1d5db}:root.dark .form-label{color:#f9fafb}:root.dark .optional-label{color:#9ca3af}:root.dark .form-textarea{background:#374151;border-color:#4b5563;color:#f9fafb}:root.dark .form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}:root.dark .form-textarea::placeholder{color:#6b7280}:root.dark .form-hint{color:#9ca3af}:root.dark .error-message{background:#dc262626;border-color:#dc26264d;color:#f87171}@media (max-width: 768px){.create-deliverable-form{gap:16px}.form-textarea{font-size:16px}}.required-deliverables-list{display:flex;flex-direction:column;gap:16px}.required-deliverables-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;gap:12px;color:var(--text-secondary)}.required-deliverables-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;gap:12px;color:var(--text-muted)}.required-deliverables-empty svg{opacity:.5}.required-deliverables-empty p{margin:0;font-size:14px}.progress-summary{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:10px;padding:16px;border:1px solid var(--border)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-title{font-weight:600;font-size:14px;color:var(--text-primary)}.progress-count{font-size:13px;font-weight:500;color:var(--text-secondary)}.progress-bar-container{height:8px;background-color:var(--border);border-radius:4px;overflow:hidden;margin-bottom:12px}.progress-bar{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:4px;transition:width .3s ease}.progress-stats{display:flex;gap:16px;flex-wrap:wrap}.progress-stats .stat{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.progress-stats .stat.completed{color:#059669}.progress-stats .stat.in-progress{color:#2563eb}.progress-stats .stat.not-started{color:var(--text-muted)}.deliverables-search{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--background);border:1px solid var(--border);border-radius:.5rem;margin-bottom:1rem}.deliverables-search svg{color:var(--text-muted);flex-shrink:0}.deliverables-search-input{flex:1;border:none;background:transparent;font-size:.875rem;color:var(--text-primary);outline:none}.deliverables-search-input::placeholder{color:var(--text-muted)}.search-results-count{font-size:.75rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.types-list{display:flex;flex-direction:column;gap:8px}.type-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--background);border:1px solid var(--border);border-radius:8px;transition:all .2s}.type-item.clickable{cursor:pointer}.type-item.clickable:hover{background-color:var(--surface);border-color:var(--border)}.type-item.status-completed{border-left:3px solid #10b981}.type-item.status-in-progress{border-left:3px solid #3b82f6}.type-item.status-not_started{border-left:3px solid #e5e7eb}.type-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.status-icon.completed{color:#10b981}.status-icon.in-progress{color:#3b82f6;animation:spin 1s linear infinite}.status-icon.not-started{color:var(--border)}.type-details{display:flex;flex-direction:column;gap:2px;min-width:0}.type-name{font-weight:500;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.type-category{font-size:11px;color:var(--text-muted);text-transform:capitalize}.type-status{display:inline-flex;padding:2px 8px;font-size:11px;font-weight:500;border-radius:12px;width:fit-content}.type-status.status-pending{background-color:var(--hover-bg);color:var(--text-secondary)}.type-status.status-in_progress{background-color:#dbeafe;color:#2563eb}.type-status.status-submitted{background-color:#fef3c7;color:#d97706}.type-status.status-under_review{background-color:#ffedd5;color:#ea580c}.type-status.status-approved{background-color:#d1fae5;color:#059669}.type-status.status-rejected{background-color:#fee2e2;color:#dc2626}.type-actions{display:flex;align-items:center;flex-shrink:0}.quick-create-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background-color:#8b5cf6;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .2s}.quick-create-btn:hover:not(:disabled){background-color:#7c3aed}.quick-create-btn:disabled{opacity:.7;cursor:not-allowed}.chevron{color:var(--text-muted)}.creation-error{display:flex;align-items:center;gap:8px;padding:10px 12px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px}.required-deliverables-list.compact .progress-summary{padding:12px}.required-deliverables-list.compact .progress-stats{gap:12px}.required-deliverables-list.compact .type-item{padding:10px 12px}.required-deliverables-list.compact .type-name{font-size:13px}.required-deliverables-list.compact .quick-create-btn{padding:4px 8px;font-size:11px}.deliverables-kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;min-height:400px}@media (max-width: 1024px){.deliverables-kanban{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.deliverables-kanban{grid-template-columns:1fr}}.kanban-column{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;overflow:hidden}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--background);border-bottom:1px solid var(--border);font-weight:600;font-size:.875rem}.kanban-column-header.not-started{border-top:3px solid #9ca3af}.kanban-column-header.in-progress{border-top:3px solid #3b82f6}.kanban-column-header.completed{border-top:3px solid #10b981}.kanban-header-title{display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.kanban-column-header.not-started .kanban-header-title{color:#6b7280}.kanban-column-header.in-progress .kanban-header-title{color:#3b82f6}.kanban-column-header.completed .kanban-header-title{color:#10b981}.kanban-column-count{background:var(--surface-elevated);padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;color:var(--text-muted)}.kanban-column-content{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;min-height:200px}.kanban-card{padding:1rem;background:var(--background);border:1px solid var(--border);border-radius:.5rem;transition:all .2s}.kanban-card.clickable{cursor:pointer}.kanban-card.clickable:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.kanban-card-title{font-weight:600;font-size:.9375rem;color:var(--text-primary);margin-bottom:.375rem}.kanban-card-category{font-size:.75rem;color:var(--text-muted);text-transform:capitalize;margin-bottom:.5rem}.kanban-card-status{display:inline-flex;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;border-radius:.25rem;margin-bottom:.5rem}.kanban-card-status.status-pending{background-color:var(--hover-bg);color:var(--text-secondary)}.kanban-card-status.status-in_progress{background-color:#dbeafe;color:#2563eb}.kanban-card-status.status-submitted{background-color:#fef3c7;color:#d97706}.kanban-card-status.status-under_review{background-color:#ffedd5;color:#ea580c}.kanban-card-status.status-approved{background-color:#d1fae5;color:#059669}.kanban-card-status.status-rejected{background-color:#fee2e2;color:#dc2626}.kanban-card-actions{margin-top:.75rem;display:flex;justify-content:flex-end}.kanban-create-btn{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background-color:#8b5cf6;color:#fff;border:none;border-radius:.375rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .2s}.kanban-create-btn:hover{background-color:#7c3aed}.kanban-view-btn{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:transparent;color:#3b82f6;border:1px solid #3b82f6;border-radius:.375rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.kanban-view-btn:hover{background-color:#3b82f6;color:#fff}.kanban-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--text-muted);text-align:center;font-size:.875rem}:root.dark .required-deliverables-loading,:root.dark .required-deliverables-empty{color:var(--text-muted)}:root.dark .progress-summary{background:linear-gradient(135deg,#111827,#1f2937);border-color:#374151}:root.dark .progress-title{color:var(--border)}:root.dark .progress-count{color:var(--text-muted)}:root.dark .progress-bar-container{background-color:#374151}:root.dark .progress-stats .stat{color:var(--text-muted)}:root.dark .progress-stats .stat.completed{color:#4ade80}:root.dark .progress-stats .stat.in-progress{color:#60a5fa}:root.dark .progress-stats .stat.not-started{color:var(--text-secondary)}:root.dark .type-item{background:#1f2937;border-color:#374151}:root.dark .type-item.clickable:hover{background-color:#374151;border-color:#4b5563}:root.dark .type-item.status-completed{border-left-color:#10b981}:root.dark .type-item.status-in-progress{border-left-color:#3b82f6}:root.dark .type-item.status-not_started{border-left-color:#374151}:root.dark .status-icon.not-started{color:#4b5563}:root.dark .type-name{color:#f9fafb}:root.dark .type-category{color:var(--text-secondary)}:root.dark .type-status.status-pending{background-color:#9ca3af26;color:var(--text-muted)}:root.dark .type-status.status-in_progress{background-color:#3b82f626;color:#60a5fa}:root.dark .type-status.status-submitted{background-color:#f59e0b26;color:#fbbf24}:root.dark .type-status.status-under_review{background-color:#f9731626;color:#fb923c}:root.dark .type-status.status-approved{background-color:#22c55e26;color:#4ade80}:root.dark .type-status.status-rejected{background-color:#ef444426;color:#f87171}:root.dark .chevron{color:var(--text-secondary)}:root.dark .creation-error{background-color:#ef444426;border-color:#ef44444d;color:#f87171}:root.dark .deliverables-search{background:#1f2937;border-color:#374151}:root.dark .deliverables-search svg{color:var(--text-secondary)}:root.dark .deliverables-search-input{color:#f9fafb}:root.dark .deliverables-search-input::placeholder{color:var(--text-secondary)}:root.dark .search-results-count{color:var(--text-secondary)}.site-finance-panel{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.site-finance-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--text-muted)}.site-finance-loading .spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.site-finance-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:2rem;text-align:center;background:var(--background);border:1px dashed var(--border);border-radius:.5rem}.site-finance-empty .empty-icon{color:var(--text-muted);opacity:.4;margin-bottom:1rem}.site-finance-empty h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.site-finance-empty p{font-size:.875rem;color:var(--text-muted);margin:0 0 1.5rem}.add-first-cost-btn,.add-first-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.add-first-cost-btn:hover,.add-first-btn:hover{background:#2563eb}.site-finance-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.header-title{display:flex;align-items:flex-start;gap:.75rem}.header-icon{color:#3b82f6;margin-top:.125rem}.header-title h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.site-name-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--text-muted)}.header-actions{display:flex;gap:.75rem}.add-cost-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.add-cost-btn:hover{background:#2563eb}.view-all-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--background);color:var(--text-secondary);border:1px solid var(--border);border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.view-all-btn:hover{background:var(--surface);border-color:var(--border);color:var(--text-primary)}.site-finance-summary{background:var(--background);border:1px solid var(--border);border-radius:.5rem;padding:1.25rem}.finance-summary-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media (max-width: 768px){.finance-summary-metrics{grid-template-columns:repeat(2,1fr)}}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:.375rem;padding:1rem}.metric-label{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.025em;margin-bottom:.5rem}.metric-icon{opacity:.7}.metric-icon.spent{color:#3b82f6}.metric-icon.committed{color:#f59e0b}.metric-icon.over-budget{color:#ef4444}.metric-value{font-size:1.5rem;font-weight:600;color:var(--text-primary);line-height:1.2;margin-bottom:.5rem}.metric-value.spent{color:#3b82f6}.metric-value.committed{color:#f59e0b}.metric-value.remaining{color:#22c55e}.metric-value.remaining.negative{color:#ef4444}.metric-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden;position:relative}.metric-bar-track{height:100%;width:100%;background:var(--border)}.metric-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.metric-bar-fill.spent{background:#3b82f6}.metric-bar-fill.spent.warning{background:#f59e0b}.metric-bar-fill.spent.critical{background:#ef4444}.metric-bar-fill.committed{background:#f59e0b}.metric-bar-fill.remaining{background:#22c55e}.metric-bar-fill.remaining.negative{background:#ef4444}.metric-percent{font-size:.75rem;color:var(--text-muted);margin-top:.375rem}.finance-summary-secondary{display:flex;gap:1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.secondary-stat{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.secondary-stat .stat-label{color:var(--text-muted)}.secondary-stat .stat-value{font-weight:600;color:var(--text-primary)}.secondary-stat .stat-value.warning{color:#f59e0b}.secondary-stat.overdue,.secondary-stat.overdue .stat-label,.secondary-stat.overdue .stat-value{color:#ef4444}.finance-sections-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media (max-width: 1024px){.finance-sections-grid{grid-template-columns:1fr}}.finance-section{background:var(--background);border:1px solid var(--border);border-radius:.5rem;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--surface)}.section-title{display:flex;align-items:center;gap:.5rem}.section-icon{color:var(--text-muted)}.section-title h3{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.section-count{background:var(--border);color:var(--text-muted);font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:9999px}.section-actions{display:flex;align-items:center;gap:.75rem}.add-btn{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;background:#3b82f6;color:#fff;border:none;border-radius:.25rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .2s}.add-btn:hover{background:#2563eb}.view-all-link{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:#3b82f6;font-size:.8125rem;font-weight:500;cursor:pointer;padding:0}.view-all-link:hover{text-decoration:underline}.section-content{padding:1rem 1.25rem}.section-empty{padding:2rem 1.25rem;text-align:center}.section-empty p{margin:0;font-size:.875rem;color:var(--text-muted)}.budget-card{padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:.375rem;margin-bottom:.75rem}.budget-card:last-child{margin-bottom:0}.budget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.budget-name{font-weight:600;color:var(--text-primary);font-size:.9375rem}.budget-status{font-size:.6875rem;font-weight:500;padding:.125rem .5rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.025em}.budget-status.status-active{background:#22c55e26;color:#22c55e}.budget-status.status-draft{background:#64748b26;color:#64748b}.budget-status.status-closed{background:#ef444426;color:#ef4444}.budget-status.status-archived{background:#64748b26;color:#64748b}.budget-amounts{display:flex;justify-content:space-between;margin-bottom:.75rem}.amount-row{display:flex;flex-direction:column;gap:.125rem}.amount-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase}.amount-value{font-weight:600;color:var(--text-primary);font-size:.875rem}.amount-value.spent{color:#3b82f6}.budget-progress{display:flex;align-items:center;gap:.75rem}.progress-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.progress-fill.normal{background:#22c55e}.progress-fill.warning{background:#f59e0b}.progress-fill.critical{background:#ef4444}.progress-label{display:flex;align-items:center;gap:.25rem;min-width:3rem}.progress-label .percent{font-size:.8125rem;font-weight:600}.progress-label .percent.normal{color:#22c55e}.progress-label .percent.warning{color:#f59e0b}.progress-label .percent.critical{color:#ef4444}.costs-list{display:flex;flex-direction:column;gap:.5rem}.cost-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:.375rem}.cost-info{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.cost-description{font-weight:500;color:var(--text-primary);font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cost-date{font-size:.75rem;color:var(--text-muted)}.cost-details{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.cost-amount{font-weight:600;color:var(--text-primary);font-size:.875rem}.cost-status{font-size:.6875rem;font-weight:500;padding:.125rem .5rem;border-radius:9999px;text-transform:uppercase}.cost-status.status-draft{background:#64748b26;color:#64748b}.cost-status.status-pending{background:#f59e0b26;color:#f59e0b}.cost-status.status-approved{background:#22c55e26;color:#22c55e}.cost-status.status-rejected{background:#ef444426;color:#ef4444}.cost-status.status-paid{background:#3b82f626;color:#3b82f6}.bills-list{display:flex;flex-direction:column;gap:.75rem}.bill-card{padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:.375rem}.bill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.bill-number{font-weight:600;color:var(--text-primary);font-size:.875rem}.bill-status{font-size:.6875rem;font-weight:500;padding:.125rem .5rem;border-radius:9999px;text-transform:uppercase}.bill-status.status-pending{background:#f59e0b26;color:#f59e0b}.bill-status.status-approved{background:#22c55e26;color:#22c55e}.bill-status.status-overdue{background:#ef444426;color:#ef4444}.bill-status.status-paid{background:#3b82f626;color:#3b82f6}.bill-status.status-partial{background:#f59e0b26;color:#f59e0b}.bill-vendor{font-size:.8125rem;color:var(--text-muted);margin-bottom:.75rem}.bill-footer{display:flex;justify-content:space-between;align-items:center}.bill-amount{font-weight:600;color:var(--text-primary);font-size:.9375rem}.bill-due{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-muted)}.bill-due.due-soon{color:#f59e0b}.bill-due.overdue{color:#ef4444;font-weight:500}.pos-list{display:flex;flex-direction:column;gap:.75rem}.po-card{padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:.375rem}.po-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.po-number{font-weight:600;color:var(--text-primary);font-size:.875rem}.po-status{display:flex;align-items:center;gap:.25rem;font-size:.6875rem;font-weight:500;padding:.125rem .5rem;border-radius:9999px;text-transform:uppercase}.po-status.status-draft{background:#64748b26;color:#64748b}.po-status.status-pending{background:#f59e0b26;color:#f59e0b}.po-status.status-approved{background:#22c55e26;color:#22c55e}.po-status.status-rejected{background:#ef444426;color:#ef4444}.po-status.status-ordered{background:#3b82f626;color:#3b82f6}.po-status.status-partial{background:#f59e0b26;color:#f59e0b}.po-status.status-received{background:#22c55e26;color:#22c55e}.po-status.status-closed,.po-status.status-cancelled{background:#64748b26;color:#64748b}.po-vendor{font-size:.8125rem;color:var(--text-muted);margin-bottom:.75rem}.po-footer{display:flex;justify-content:space-between;align-items:center}.po-amount{font-weight:600;color:var(--text-primary);font-size:.9375rem}.po-delivery{font-size:.75rem;color:var(--text-muted)}.dark .metric-card,.dark .budget-card,.dark .cost-row,.dark .bill-card,.dark .po-card{background:#ffffff08}.dark .add-cost-btn,.dark .add-btn,.dark .add-first-cost-btn,.dark .add-first-btn{background:#2563eb}.dark .add-cost-btn:hover,.dark .add-btn:hover,.dark .add-first-cost-btn:hover,.dark .add-first-btn:hover{background:#3b82f6}.dark .view-all-link{color:#60a5fa}.dark .budget-status.status-active,.dark .cost-status.status-approved,.dark .bill-status.status-approved,.dark .po-status.status-approved,.dark .po-status.status-received{background:#22c55e33;color:#4ade80}.dark .budget-status.status-draft,.dark .cost-status.status-draft,.dark .po-status.status-draft,.dark .po-status.status-closed,.dark .po-status.status-cancelled,.dark .budget-status.status-archived{background:#94a3b833;color:#94a3b8}.dark .cost-status.status-pending,.dark .bill-status.status-pending,.dark .po-status.status-pending,.dark .po-status.status-partial,.dark .bill-status.status-partial{background:#fbbf2433;color:#fbbf24}.dark .cost-status.status-rejected,.dark .bill-status.status-overdue,.dark .po-status.status-rejected,.dark .budget-status.status-closed{background:#f8717133;color:#f87171}.dark .cost-status.status-paid,.dark .bill-status.status-paid,.dark .po-status.status-ordered{background:#60a5fa33;color:#60a5fa}.dark .metric-value.spent{color:#60a5fa}.dark .metric-value.committed{color:#fbbf24}.dark .metric-value.remaining{color:#4ade80}.dark .metric-value.remaining.negative{color:#f87171}.dark .progress-label .percent.normal{color:#4ade80}.dark .progress-label .percent.warning{color:#fbbf24}.dark .progress-label .percent.critical{color:#f87171}.dark .amount-value.spent{color:#60a5fa}.dark .bill-due.due-soon{color:#fbbf24}.dark .bill-due.overdue{color:#f87171}.dark .secondary-stat .stat-value.warning{color:#fbbf24}.dark .secondary-stat.overdue,.dark .secondary-stat.overdue .stat-label,.dark .secondary-stat.overdue .stat-value{color:#f87171}.dark .header-icon{color:#60a5fa}.movement-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:500;transition:all .2s ease}.movement-badge--compact{padding:2px 6px;font-size:12px;gap:4px}.movement-badge--none{background-color:#f0f9ff;color:#0369a1;border:1px solid #bae6fd}.movement-badge--minimal{background-color:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.movement-badge--small{background-color:#fefce8;color:#a16207;border:1px solid #fde68a}.movement-badge--moderate{background-color:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.movement-badge--large{background-color:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.movement-badge__icon{display:flex;align-items:center;justify-content:center}.movement-badge__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.movement-badge:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.movement-badge--compact:hover{transform:none;box-shadow:none}.site-overview-container{display:flex;flex-direction:column;gap:1.5rem}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media (max-width: 1024px){.overview-grid{grid-template-columns:1fr}}.overview-full-width{grid-column:1 / -1}.site-identity-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1.5rem;padding:1rem 1.5rem;background:var(--background);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;flex-wrap:wrap}.site-identity-header .site-id-section{display:flex;align-items:center;gap:.75rem;min-width:200px;flex-shrink:0;white-space:nowrap}.site-identity-header .site-id-value{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.site-identity-header .edit-btn{padding:.25rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:.25rem;transition:all .2s}.site-identity-header .edit-btn:hover{background:var(--surface-elevated);color:#3b82f6}.site-identity-header .status-section,.site-identity-header .flag-section{display:flex;align-items:center;gap:.5rem}.site-identity-header .tags-section{display:flex;align-items:center;gap:.5rem;flex:1;min-width:150px}.site-identity-header .tags-list{display:flex;flex-wrap:wrap;gap:.375rem}.site-identity-header .tag-badge-btn{padding:0;border:none;background:transparent;cursor:pointer}.status-quick-toggle{position:relative}.status-quick-toggle .status-button{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--border);border-radius:.375rem;background:var(--background);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.status-quick-toggle .status-button:hover{border-color:var(--border);background:var(--surface)}.status-quick-toggle .status-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;min-width:160px;background:var(--background);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a;z-index:50;overflow:hidden}.status-quick-toggle .status-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem .875rem;border:none;background:transparent;color:var(--text-primary);font-size:.875rem;text-align:left;cursor:pointer;transition:background .15s}.status-quick-toggle .status-option:hover{background:var(--surface-elevated)}.status-quick-toggle .status-option.active{background:#eff6ff;color:#3b82f6}:root.dark .status-quick-toggle .status-option.active{background:#3b82f633}.status-R{background:#fef3c7!important;color:#92400e!important}.status-A{background:#dcfce7!important;color:#166534!important}.status-J{background:#fee2e2!important;color:#991b1b!important}.status-T{background:#ffedd5!important;color:#9a3412!important}.flag-toggle{display:flex;align-items:center;gap:.5rem}.flag-toggle button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--border);border-radius:.375rem;background:var(--background);color:var(--text-muted);cursor:pointer;transition:all .2s}.flag-toggle button:hover{border-color:#3b82f6;color:#3b82f6}.flag-toggle button.flagged{background:#3b82f6;border-color:#3b82f6;color:#fff}.overview-card{background:var(--background);border:1px solid var(--border);border-radius:.5rem;overflow:hidden}.overview-card-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--border);background:var(--surface)}.overview-card-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--text-secondary)}.overview-card-header .header-icon{color:var(--text-muted)}.overview-card-content{padding:1rem}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width: 640px){.field-grid{grid-template-columns:1fr}}.field-row{display:flex;flex-direction:column;gap:.25rem}.field-row.full-width{grid-column:1 / -1}.field-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.025em}.field-value{font-size:.875rem;color:var(--text-primary)}.field-value.empty{color:var(--text-muted);font-style:italic}.field-value.editable{cursor:pointer;padding:.25rem .5rem;margin:-.25rem -.5rem;border-radius:.25rem;transition:background .15s}.field-value.editable:hover{background:var(--surface-elevated)}.coordinates-display{display:flex;align-items:center;gap:.5rem}.coordinates-display .coords{font-family:Monaco,Menlo,monospace;font-size:.8125rem;color:var(--text-primary)}.coordinates-display .copy-btn,.coordinates-display .edit-btn{padding:.25rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:.25rem;transition:all .15s}.coordinates-display .copy-btn:hover,.coordinates-display .edit-btn:hover{background:var(--surface-elevated);color:#3b82f6}.movement-indicator{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:#fef3c7;color:#92400e;font-size:.75rem;font-weight:500;border-radius:9999px}.movement-indicator.significant{background:#fee2e2;color:#991b1b}:root.dark .movement-indicator{background:#fbbf2433;color:#fbbf24}:root.dark .movement-indicator.significant{background:#ef444433;color:#f87171}.infrastructure-field-editor{display:flex;align-items:center;gap:.5rem}.infrastructure-field-display{flex:1;padding:.375rem .5rem;border-radius:.25rem;cursor:pointer;transition:background .15s;color:var(--text-primary)}.infrastructure-field-display:hover{background:var(--surface-elevated)}.infrastructure-field-input,.infrastructure-field-select{flex:1;padding:.375rem .5rem;border:1px solid #3b82f6;border-radius:.25rem;font-size:.875rem;outline:none;background:var(--input-bg);color:var(--text-primary)}.infrastructure-field-select{background:var(--input-bg)}.copy-to-all-btn{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border:1px solid var(--border);border-radius:.25rem;background:var(--background);color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .15s}.copy-to-all-btn:hover{border-color:#3b82f6;color:#3b82f6}.copy-to-all-btn.confirm{background:#3b82f6;border-color:#3b82f6;color:#fff}.media-notes-preview{background:var(--background);border:1px solid var(--border);border-radius:.5rem;overflow:visible!important}.media-notes-content{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1rem}@media (max-width: 768px){.media-notes-content{grid-template-columns:1fr}}.media-section{display:flex;flex-direction:column}.section-divider{display:none}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.header-title{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.header-actions{display:flex;align-items:center;gap:.5rem}.count-badge{padding:.125rem .5rem;background:var(--surface-elevated);color:var(--text-muted);font-size:.75rem;font-weight:500;border-radius:9999px}.view-all-btn{display:flex;align-items:center;gap:.25rem;padding:0;border:none;background:transparent;font-size:.75rem;color:#3b82f6;cursor:pointer}.view-all-btn:hover{text-decoration:underline}.add-note-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:1px solid var(--border);border-radius:.25rem;background:var(--background);color:var(--text-muted);cursor:pointer;transition:all .15s}.add-note-btn:hover{border-color:#3b82f6;color:#3b82f6}.images-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}@media (max-width: 640px){.images-grid{grid-template-columns:repeat(3,1fr)}}.image-thumbnail{aspect-ratio:1;border-radius:.375rem;overflow:hidden;background:var(--surface);border:none;padding:0;cursor:pointer;transition:transform .15s;position:relative}.image-thumbnail:hover{transform:scale(1.05)}.image-thumbnail img{width:100%;height:100%;object-fit:cover}.relocation-indicator{position:absolute;top:2px;right:2px;width:16px;height:16px;background:#f59e0b;color:#fff;border-radius:50%;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.more-images-indicator{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:.375rem;color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer}.more-images-indicator:hover{background:var(--surface-elevated);color:#3b82f6}.empty-images,.empty-notes{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;background:var(--surface);border:2px dashed var(--border);border-radius:.5rem;color:var(--text-muted);text-align:center;gap:.5rem}.notes-list{display:flex;flex-direction:column;gap:.75rem}.note-preview{padding:.75rem;background:var(--surface);border-radius:.375rem;border-left:3px solid #3b82f6}.note-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem;font-size:.75rem;color:var(--text-muted)}.note-author{font-weight:500;color:var(--text-secondary)}.note-date{display:flex;align-items:center;gap:.25rem}.note-text{font-size:.8125rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.timestamps-footer{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:.375rem;font-size:.75rem;color:var(--text-muted)}.timestamp-item{display:flex;align-items:center;gap:.375rem}.timestamp-label{font-weight:500}.timestamp-value{color:var(--text-secondary)}.timestamp-divider{color:var(--border)}.timestamp-item.deleted .timestamp-value{color:#ef4444}@media (max-width: 480px){.timestamps-footer{flex-direction:column;gap:.5rem;text-align:center}.timestamp-divider{display:none}}.external-ids-table{width:100%;border-collapse:collapse;font-size:.8125rem}.external-ids-table th,.external-ids-table td{padding:.625rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.external-ids-table th{font-weight:600;color:var(--text-muted);background:var(--surface)}.external-ids-table td{color:var(--text-secondary)}.external-ids-table .actions{display:flex;gap:.5rem}.external-ids-table .action-btn{padding:.25rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:.25rem;transition:all .15s}.external-ids-table .action-btn:hover{background:var(--surface-elevated);color:#3b82f6}.add-identifier-btn{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;border:1px dashed var(--border);border-radius:.375rem;background:transparent;color:var(--text-muted);font-size:.8125rem;cursor:pointer;transition:all .15s}.add-identifier-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#3b82f61a}.compliance-details{margin-top:.75rem;padding:.75rem;background:var(--surface);border-radius:.375rem}.compliance-details ul{margin:0;padding-left:1.25rem;font-size:.8125rem;color:var(--text-secondary)}.compliance-details li{margin-bottom:.25rem}.color-picker-field{display:flex;align-items:center;gap:.5rem}.color-swatch{width:1.5rem;height:1.5rem;border-radius:.25rem;border:2px solid var(--border);cursor:pointer}.color-input{width:0;height:0;opacity:0;position:absolute}.overview-card .panel-header{background:var(--surface);border-bottom:1px solid var(--border)}.overview-card .panel-content{background:var(--background)}.files-preview{background:var(--background);border:1px solid var(--border);border-radius:.5rem;overflow:visible!important}.files-preview-content{padding:1rem}.files-preview .section-header{margin-bottom:.75rem}.external-apps-group{display:flex;align-items:center;gap:.25rem;padding-right:.5rem;border-right:1px solid var(--border);margin-right:.5rem}.external-app-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;border-radius:.25rem;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.external-app-btn:hover{background:var(--surface-elevated);color:#3b82f6}.files-list{display:flex;flex-direction:column;gap:.5rem}.file-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--surface);border:1px solid transparent;border-radius:.375rem;cursor:pointer;transition:all .15s;text-align:left;width:100%}.file-item:hover{border-color:var(--border);background:var(--surface-elevated)}.file-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.file-name{font-size:.8125rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;color:var(--text-muted)}.file-category{color:var(--text-muted)}.file-separator{color:var(--border)}.file-date{display:flex;align-items:center;gap:.25rem}.file-size{font-size:.6875rem;color:var(--text-muted);flex-shrink:0}.files-loading{display:flex;align-items:center;justify-content:center;padding:1rem}.empty-files{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;background:var(--surface);border:2px dashed var(--border);border-radius:.5rem;gap:.5rem}.map-preview-wrapper{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.map-preview-container{position:relative;height:180px;width:100%;border-radius:.5rem;overflow:hidden;border:1px solid var(--border);cursor:pointer;transition:all .2s}.map-preview-container:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626}.map-preview-container:hover .map-preview-overlay{opacity:1}.map-preview{width:100%;height:100%}.map-preview-overlay{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem;background:linear-gradient(transparent,#000000b3);color:#fff;font-size:.8125rem;font-weight:500;opacity:0;transition:opacity .2s}.map-preview-loading,.map-preview-error,.map-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;height:180px;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;color:var(--text-muted);font-size:.8125rem}.map-preview-loading .spinner-small{width:20px;height:20px;border:2px solid var(--border);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.site-detail-page{display:flex;flex-direction:column;height:100%;background:var(--surface)}.site-detail-header{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 2rem;background:var(--background);border-bottom:1px solid var(--border)}.back-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border);border-radius:.375rem;background:var(--background);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.back-button:hover{background:var(--surface);border-color:var(--border)}.site-detail-title{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.site-icon{color:#3b82f6;flex-shrink:0}.site-id-header-row{display:flex;align-items:center;gap:.5rem}.site-detail-title h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-detail-quick-view-btn{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;border-radius:.25rem;color:var(--text-muted);cursor:pointer;transition:all .15s ease;flex-shrink:0}.site-detail-quick-view-btn:hover{background:var(--surface);color:#3b82f6}.site-detail-quick-view-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.site-address{margin:.25rem 0 0;font-size:.875rem;color:var(--text-muted)}.site-detail-actions{display:flex;gap:.75rem;flex-shrink:0}.site-detail-page .action-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid #3b82f6;border-radius:.375rem;background:#3b82f6;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.site-detail-page .action-button:hover{background:#2563eb}.site-detail-page .action-button.secondary{background:var(--background);color:#3b82f6;border-color:var(--border)}.site-detail-page .action-button.secondary:hover{background:var(--surface)}.site-detail-page .action-button.icon-only{padding:.5rem;width:36px;height:36px;justify-content:center}.site-detail-tabs{display:flex;gap:.5rem;padding:0 2rem;background:var(--background);border-bottom:1px solid var(--border);overflow-x:auto}.tab{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.tab:hover{color:var(--text-secondary);background:var(--surface)}.tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.site-detail-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.tab-panel{width:100%;padding:2rem 3rem}.tab-panel.overview-panel{flex:1;overflow-y:auto;display:flex;flex-direction:column}.overview-panel h2{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.site-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;padding:1.5rem;background:var(--background);border:1px solid var(--border);border-radius:.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item label{font-size:.875rem;font-weight:500;color:var(--text-muted)}.info-item span{font-size:1rem;color:var(--text-primary)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:.25rem;font-size:.875rem;font-weight:500}.status-badge.status-active{background:#22c55e26;color:#22c55e}.status-badge.status-pending{background:#eab30826;color:#eab308}.status-badge.status-inactive{background:var(--surface-elevated);color:var(--text-muted)}.tab-panel.documents-panel{padding:0}.tab-panel.finance-panel{flex:1;overflow-y:auto;padding:0;max-width:none}.tab-panel.finance-panel .site-finance-panel{padding:2rem;max-width:1400px;margin:0 auto}.tab-panel.deliverables-panel{width:100%;padding:2rem 3rem;flex:1;overflow-y:auto;min-height:0}.site-detail-loading,.site-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:2rem;text-align:center;background:var(--background)}.site-detail-loading .spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.site-detail-error h2{margin:1rem 0 .5rem;color:var(--text-primary)}.site-detail-error p{margin:0 0 1.5rem;color:var(--text-muted)}.site-detail-error button{padding:.5rem 1.5rem;border:1px solid #3b82f6;border-radius:.375rem;background:#3b82f6;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.site-detail-error button:hover{background:#2563eb}.site-detail-error button.secondary{background:var(--background);color:var(--text-secondary);border-color:var(--border)}.site-detail-error button.secondary:hover{background:var(--surface)}.site-detail-error .error-actions{display:flex;gap:.75rem}.site-location-info{display:flex;align-items:center;gap:.75rem;margin:.25rem 0 0;font-size:.875rem}.coordinates-link{font-family:Monaco,Menlo,Consolas,monospace;color:var(--text-muted);background:none;border:none;padding:0;cursor:pointer;transition:color .2s;font-size:.875rem}.coordinates-link:hover{color:#3b82f6;text-decoration:underline}.jurisdiction-info{color:var(--text-muted)}.jurisdiction-info:before{content:"•";margin-right:.75rem;color:var(--border)}.password-modal-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0}.password-icon-container{margin-bottom:1rem}.password-icon{color:var(--text-secondary)}.password-report-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.password-description{margin:0 0 1.5rem;font-size:.875rem;color:var(--text-secondary)}.password-error,.password-lockout{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.875rem;margin-bottom:1rem;width:100%;text-align:left}.password-form{width:100%}.password-input-wrapper{position:relative;width:100%}.password-input-wrapper input{width:100%;padding-right:40px}.toggle-password-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.toggle-password-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.attempts-remaining{margin:.75rem 0 0;font-size:.75rem;color:var(--text-secondary)}.spinning{animation:spin 1s linear infinite}:root.dark .password-icon{color:var(--text-muted)}:root.dark .password-error,:root.dark .password-lockout{background:#ef444426;border-color:#f871714d;color:#f87171}.public-report-viewer{min-height:100vh;background:var(--bg-primary, #ffffff);display:flex;flex-direction:column}.public-report-viewer .loading-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-secondary, #6b7280)}.public-report-viewer .loading-state .spinning{animation:spin 1s linear infinite}.public-report-viewer .error-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.public-report-viewer .error-state svg{color:#dc2626}.public-report-viewer .error-state h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1f2937)}.public-report-viewer .error-state p{margin:0;font-size:1rem;color:var(--text-secondary, #6b7280);max-width:400px}.public-report-viewer .password-required-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.public-report-viewer .password-required-state svg{color:var(--text-tertiary, #9ca3af)}.public-report-viewer .password-required-state h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1f2937)}.public-report-viewer .password-required-state p{margin:0;font-size:1rem;color:var(--text-secondary, #6b7280)}.enter-password-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary, #3b82f6);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .15s ease}.enter-password-btn:hover{background:#2563eb}.report-iframe{flex:1;width:100%;border:none;min-height:100vh}:root.dark .public-report-viewer{background:var(--bg-primary)}:root.dark .public-report-viewer .error-state h2,:root.dark .public-report-viewer .password-required-state h2{color:var(--text-primary)}:root.dark .public-report-viewer .error-state p,:root.dark .public-report-viewer .password-required-state p{color:var(--text-secondary)}:root.dark .public-report-viewer .error-state svg{color:#f87171}:root.dark .enter-password-btn{background:var(--primary)}:root.dark .enter-password-btn:hover{background:#3b82f6}.site-context-menu{position:fixed;z-index:10002;min-width:180px;padding:4px 0;background:var(--white, #fff);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 20px #00000026,0 0 0 1px #0000000d;animation:contextMenuFadeIn .1s ease-out}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dark .site-context-menu{background:var(--gray-900);border-color:var(--gray-700);box-shadow:0 4px 20px #0006,0 0 0 1px #ffffff0d}.context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--gray-700);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .1s;position:relative}.context-menu-item:hover{background:var(--gray-100)}.context-menu-item:focus{outline:none;background:var(--gray-100)}.context-menu-item.active{background:var(--primary-50);color:var(--primary-700)}.context-menu-item.danger{color:var(--red-600)}.context-menu-item.danger:hover{background:var(--red-50);color:var(--red-700)}.dark .context-menu-item{color:var(--gray-200)}.dark .context-menu-item:hover{background:var(--gray-800)}.dark .context-menu-item.active{background:var(--primary-900);color:var(--primary-300)}.dark .context-menu-item.danger{color:var(--red-400)}.dark .context-menu-item.danger:hover{background:#ef444426;color:var(--red-300)}.context-menu-item svg{flex-shrink:0;color:var(--gray-500)}.context-menu-item:hover svg{color:inherit}.context-menu-item svg.flagged{color:var(--red-500)}.context-menu-item .shortcut{margin-left:auto;padding:2px 6px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:4px;font-family:inherit;font-size:11px;font-weight:500;color:var(--gray-500)}.dark .context-menu-item .shortcut{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-400)}.context-menu-item.has-submenu{padding-right:8px}.context-menu-item .submenu-arrow{margin-left:auto}.context-submenu{position:absolute;top:-4px;min-width:150px;padding:4px 0;background:var(--white, #fff);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 20px #00000026;animation:contextMenuFadeIn .1s ease-out}.context-submenu.right{left:100%;margin-left:4px}.context-submenu.left{right:100%;margin-right:4px}.dark .context-submenu{background:var(--gray-900);border-color:var(--gray-700)}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.status-t{background:var(--gray-400)}.status-dot.status-r{background:var(--blue-500)}.status-dot.status-a{background:var(--green-500)}.status-dot.status-j{background:var(--yellow-500)}.context-menu-divider{height:1px;margin:4px 8px;background:var(--gray-200)}.dark .context-menu-divider{background:var(--gray-700)}.status-picker-popup{position:fixed;z-index:10003;display:flex;flex-direction:column;min-width:140px;padding:4px;background:var(--white, #fff);border:1px solid var(--gray-200);border-radius:10px;box-shadow:0 6px 24px #00000026,0 0 0 1px #0000000d;animation:statusPickerScaleIn .12s ease-out}@keyframes statusPickerScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.dark .status-picker-popup{background:var(--gray-900);border-color:var(--gray-700);box-shadow:0 6px 24px #0006,0 0 0 1px #ffffff0d}.status-option{display:flex;align-items:center;gap:10px;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--gray-700);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background 80ms ease}.status-option:hover,.status-option.focused{background:var(--gray-100)}.status-option.current{background:var(--primary-50);color:var(--primary-700)}.status-option.current:hover,.status-option.current.focused{background:var(--primary-100)}.dark .status-option{color:var(--gray-200)}.dark .status-option:hover,.dark .status-option.focused{background:var(--gray-800)}.dark .status-option.current{background:var(--primary-900);color:var(--primary-300)}.dark .status-option.current:hover,.dark .status-option.current.focused{background:rgba(var(--primary-500-rgb, 79, 70, 229),.25)}.status-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;font-size:11px;font-weight:700;flex-shrink:0}.status-indicator.status-t{background:var(--gray-100);color:var(--gray-600)}.status-indicator.status-r{background:var(--blue-100);color:var(--blue-700)}.status-indicator.status-a{background:var(--green-100);color:var(--green-700)}.status-indicator.status-j{background:var(--yellow-100);color:var(--yellow-700)}.dark .status-indicator.status-t{background:var(--gray-800);color:var(--gray-400)}.dark .status-indicator.status-r{background:var(--blue-900);color:var(--blue-300)}.dark .status-indicator.status-a{background:var(--green-900);color:var(--green-300)}.dark .status-indicator.status-j{background:var(--yellow-900);color:var(--yellow-300)}.status-label{flex:1}.status-badge.long-pressing{position:relative;overflow:hidden}.status-badge.long-pressing:after{content:"";position:absolute;bottom:0;left:0;height:2px;background:var(--primary-500);animation:longPressProgress .3s linear forwards}@keyframes longPressProgress{0%{width:0}to{width:100%}}.color-picker-popup{position:fixed;z-index:10003;display:flex;flex-direction:column;padding:8px;background:var(--white, #fff);border:1px solid var(--gray-200);border-radius:10px;box-shadow:0 6px 24px #00000026,0 0 0 1px #0000000d;animation:colorPickerScaleIn .12s ease-out}@keyframes colorPickerScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.dark .color-picker-popup{background:var(--gray-900);border-color:var(--gray-700);box-shadow:0 6px 24px #0006,0 0 0 1px #ffffff0d}.color-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:4px}.color-picker-swatch{position:relative;width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:transform .1s ease,box-shadow .1s ease,border-color .1s ease}.color-picker-swatch:hover{transform:scale(1.15);box-shadow:0 2px 8px #0003}.color-picker-swatch.focused{box-shadow:0 0 0 2px var(--white, #fff),0 0 0 4px var(--primary-500)}.dark .color-picker-swatch.focused{box-shadow:0 0 0 2px var(--gray-900),0 0 0 4px var(--primary-400)}.color-picker-swatch.selected{border-color:var(--white, #fff);box-shadow:0 0 0 2px var(--gray-400)}.dark .color-picker-swatch.selected{border-color:var(--gray-900);box-shadow:0 0 0 2px var(--gray-500)}.color-picker-swatch.selected.focused{box-shadow:0 0 0 2px var(--white, #fff),0 0 0 4px var(--primary-500)}.dark .color-picker-swatch.selected.focused{box-shadow:0 0 0 2px var(--gray-900),0 0 0 4px var(--primary-400)}.color-picker-check{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));pointer-events:none}.color-picker-clear{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:4px;padding:6px 8px;border:none;border-top:1px solid var(--gray-200);border-radius:0 0 6px 6px;background:transparent;color:var(--gray-500);font-size:11px;font-weight:500;cursor:pointer;transition:background 80ms ease,color 80ms ease}.color-picker-clear:hover{background:var(--gray-100);color:var(--gray-700)}.dark .color-picker-clear{border-top-color:var(--gray-700);color:var(--gray-400)}.dark .color-picker-clear:hover{background:var(--gray-800);color:var(--gray-200)}.add-sites-content{display:flex;flex-direction:column;gap:12px;max-height:500px}.add-sites-search-row{display:flex;gap:8px}.add-sites-search{flex:1;position:relative;display:flex;align-items:center}.add-sites-search .search-icon{position:absolute;left:12px;color:var(--gray-400);pointer-events:none}.add-sites-search .search-input{width:100%;height:40px;padding:0 36px;border:1px solid var(--gray-200);border-radius:8px;background:var(--white);font-size:14px;color:var(--gray-900);transition:border-color .15s,box-shadow .15s}.add-sites-search .search-input:focus{outline:none;border-color:var(--primary-400);box-shadow:0 0 0 3px rgba(var(--primary-500-rgb, 79, 70, 229),.15)}.add-sites-search .search-input::placeholder{color:var(--gray-400)}.add-sites-search .search-clear{position:absolute;right:8px;padding:4px;border:none;background:transparent;color:var(--gray-400);cursor:pointer;border-radius:4px}.add-sites-search .search-clear:hover{background:var(--gray-100);color:var(--gray-600)}.filter-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--gray-200);border-radius:8px;background:var(--white);color:var(--gray-600);cursor:pointer;transition:all .15s;position:relative}.filter-toggle:hover{border-color:var(--gray-300);background:var(--gray-50)}.filter-toggle.active{border-color:var(--primary-400);background:var(--primary-50);color:var(--primary-600)}.filter-toggle .filter-count{position:absolute;top:4px;right:4px;width:8px;height:8px;background:var(--primary-500);border-radius:50%;font-size:0}.dark .add-sites-search .search-input{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-100)}.dark .add-sites-search .search-input:focus{border-color:var(--primary-400)}.dark .add-sites-search .search-clear:hover{background:var(--gray-700);color:var(--gray-300)}.dark .filter-toggle{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-300)}.dark .filter-toggle:hover{border-color:var(--gray-500);background:var(--gray-700)}.dark .filter-toggle.active{border-color:var(--primary-400);background:var(--primary-900);color:var(--primary-300)}.add-sites-controls-row{display:flex;align-items:center;gap:8px}.add-sites-groupby-row{display:flex;align-items:center;gap:12px}.groupby-label{font-size:13px;font-weight:500;color:var(--gray-600);white-space:nowrap}.groupby-select{flex:0 0 auto;min-width:140px}.groupby-select select{padding:6px 28px 6px 10px;font-size:13px}.dark .groupby-label{color:var(--gray-400)}.add-sites-filters{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--gray-50);border-radius:8px;animation:filterSlideIn .15s ease-out}@keyframes filterSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.filter-label{font-size:13px;font-weight:500;color:var(--gray-600);min-width:60px}.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--gray-200);border-radius:16px;background:var(--white);color:var(--gray-600);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.filter-chip:hover{border-color:var(--gray-300);background:var(--gray-50)}.filter-chip.active{border-color:var(--primary-400);background:var(--primary-50);color:var(--primary-700)}.dark .add-sites-filters{background:var(--gray-800)}.dark .filter-label{color:var(--gray-400)}.dark .filter-chip{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-300)}.dark .filter-chip:hover{background:var(--gray-600);border-color:var(--gray-500)}.dark .filter-chip.active{background:var(--primary-900);border-color:var(--primary-400);color:var(--primary-300)}.add-sites-selection-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--gray-200)}.selection-info{display:flex;align-items:center;gap:8px;font-size:13px}.available-count{color:var(--gray-700);font-weight:500}.already-added-count{color:var(--gray-500)}.in-review-count{color:var(--green-600);font-weight:500}.selection-actions{display:flex;align-items:center;gap:12px}.selected-count{font-size:13px;font-weight:600;color:var(--primary-600)}.text-button{padding:4px 8px;border:none;background:transparent;color:var(--primary-600);font-size:13px;font-weight:500;cursor:pointer;border-radius:4px;transition:background .15s}.text-button:hover{background:var(--primary-50)}.text-button:disabled{color:var(--gray-400);cursor:not-allowed}.text-button:disabled:hover{background:transparent}.text-button.remove-text{color:var(--red-600)}.text-button.remove-text:hover{background:var(--red-50)}.add-count{font-size:13px;font-weight:600;color:var(--green-600)}.remove-count{font-size:13px;font-weight:600;color:var(--red-600)}.dark .add-sites-selection-bar{border-color:var(--gray-700)}.dark .available-count{color:var(--gray-300)}.dark .already-added-count{color:var(--gray-500)}.dark .in-review-count{color:var(--green-400)}.dark .selected-count,.dark .text-button{color:var(--primary-400)}.dark .text-button:hover{background:var(--primary-900)}.dark .text-button:disabled{color:var(--gray-600)}.dark .text-button.remove-text{color:var(--red-400)}.dark .text-button.remove-text:hover{background:var(--red-900)}.dark .add-count{color:var(--green-400)}.dark .remove-count{color:var(--red-400)}.add-sites-list{flex:1;min-height:200px;max-height:300px;overflow:hidden;overflow-y:scroll;scrollbar-gutter:stable;border:1px solid var(--gray-200);border-radius:8px;background-color:#fff;isolation:isolate}.add-sites-list-inner{position:relative;background-color:#fff;isolation:isolate}.dark .add-sites-list-inner,body.dark .add-sites-list-inner,:root.dark .add-sites-list-inner{background-color:#1f2937!important}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:12px;color:var(--gray-500);font-size:14px}.dark .add-sites-list,body.dark .add-sites-list,:root.dark .add-sites-list{background-color:#1f2937!important;border-color:#6b7280!important}.group-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--gray-50);border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:1}.group-header-left{display:flex;align-items:center;gap:8px}.group-name{font-size:13px;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px}.group-count{font-size:12px;color:var(--gray-500);font-weight:500}.group-in-review{font-size:11px;padding:2px 6px;background:var(--green-100);color:var(--green-700);border-radius:4px;font-weight:500}.group-header-actions{display:flex;align-items:center;gap:8px}.group-action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--gray-200);border-radius:4px;background:var(--white);color:var(--gray-600);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}.group-action-btn:hover{border-color:var(--gray-300);background:var(--gray-50)}.group-action-btn.add-all:hover{border-color:var(--green-400);background:var(--green-50);color:var(--green-700)}.group-action-btn.remove-all:hover{border-color:var(--red-400);background:var(--red-50);color:var(--red-700)}.dark .group-header,body.dark .group-header{background-color:#1e293b!important;border-color:#374151!important}.dark .group-count{color:var(--gray-500)}.dark .group-in-review{background:var(--green-900);color:var(--green-300)}.dark .group-action-btn{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-400)}.dark .group-action-btn:hover{background:var(--gray-600);border-color:var(--gray-500)}.dark .group-action-btn.add-all:hover{background:var(--green-900);border-color:var(--green-600);color:var(--green-300)}.dark .group-action-btn.remove-all:hover{background:var(--red-900);border-color:var(--red-600);color:var(--red-300)}.add-site-row{display:flex;align-items:center;gap:12px;padding:0 12px;cursor:pointer;transition:background-color 80ms;background-color:#fff;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.dark .add-site-row,body.dark .add-site-row,:root.dark .add-site-row{background-color:#1f2937!important}.add-site-row:hover{background-color:#f9fafb}.add-site-row.focused{background-color:#f3f4f6}.add-site-row.selected{background:var(--primary-50)}.add-site-row.selected:hover{background:var(--primary-100)}.add-site-row.selected-add{background:var(--green-50)}.add-site-row.selected-add:hover{background:var(--green-100)}.add-site-row.selected-remove{background:var(--red-50)}.add-site-row.selected-remove:hover{background:var(--red-100)}.add-site-row.in-review{border-left:3px solid var(--green-400)}.add-site-row.already-added{opacity:.6;cursor:default}.add-site-row.already-added:hover{background:transparent}.dark .add-site-row:hover,body.dark .add-site-row:hover,:root.dark .add-site-row:hover{background-color:#374151!important}.dark .add-site-row.focused,body.dark .add-site-row.focused,:root.dark .add-site-row.focused{background-color:#374151!important}.dark .add-site-row.selected,body.dark .add-site-row.selected{background-color:#312e81!important}.dark .add-site-row.selected:hover,body.dark .add-site-row.selected:hover{background-color:#3730a3!important}.dark .add-site-row.selected-add,body.dark .add-site-row.selected-add{background-color:#14532d!important}.dark .add-site-row.selected-add:hover,body.dark .add-site-row.selected-add:hover{background-color:#166534!important}.dark .add-site-row.selected-remove,body.dark .add-site-row.selected-remove{background-color:#7f1d1d!important}.dark .add-site-row.selected-remove:hover,body.dark .add-site-row.selected-remove:hover{background-color:#991b1b!important}.dark .add-site-row.in-review,body.dark .add-site-row.in-review{border-left-color:#22c55e!important}.row-checkbox{display:flex;align-items:center;justify-content:center;width:20px;flex-shrink:0}.checkbox{width:16px;height:16px;border:2px solid var(--gray-300);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s}.checkbox.checked{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.checkbox.checked.add{background:var(--green-500);border-color:var(--green-500)}.checkbox.checked.remove{background:var(--red-500);border-color:var(--red-500)}.check-icon.added,.check-icon.in-review{color:var(--green-500)}.dark .checkbox{border-color:var(--gray-400);background:var(--gray-700)}.dark .checkbox.checked{background:var(--primary-400);border-color:var(--primary-400)}.dark .checkbox.checked.add{background:var(--green-400);border-color:var(--green-400)}.dark .checkbox.checked.remove{background:var(--red-400);border-color:var(--red-400)}.dark .check-icon.added,.dark .check-icon.in-review{color:var(--white)}.add-site-row .site-color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.site-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;background:transparent}.site-id{font-size:13px;font-weight:600;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .site-id,body.dark .site-id{color:#f3f4f6!important}.dark .site-address,body.dark .site-address{color:#d1d5db!important}.site-indicators{display:flex;align-items:center;gap:8px;flex-shrink:0}.site-indicators .flag-icon{color:var(--red-500)}.site-indicators .status-badge{min-width:22px;height:22px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.site-indicators .status-badge.status-t{background:var(--gray-100);color:var(--gray-600)}.site-indicators .status-badge.status-r{background:var(--blue-100);color:var(--blue-700)}.site-indicators .status-badge.status-a{background:var(--green-100);color:var(--green-700)}.site-indicators .status-badge.status-j{background:var(--yellow-100);color:var(--yellow-700)}.dark .site-indicators .status-badge.status-t{background:var(--gray-800);color:var(--gray-400)}.dark .site-indicators .status-badge.status-r{background:var(--blue-900);color:var(--blue-300)}.dark .site-indicators .status-badge.status-a{background:var(--green-900);color:var(--green-300)}.dark .site-indicators .status-badge.status-j{background:var(--yellow-900);color:var(--yellow-300)}.quick-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--gray-200);border-radius:6px;background:var(--white);color:var(--gray-500);cursor:pointer;transform:scale(.8);opacity:0;visibility:hidden;transition:transform .12s ease-out,opacity .12s ease-out,visibility 0ms .12s;will-change:transform,opacity;flex-shrink:0}.add-site-row:hover .quick-action-btn{transform:scale(1);opacity:1;visibility:visible;transition:transform .12s ease-out,opacity .12s ease-out,visibility 0ms 0ms}.add-site-row.focused:focus-within .quick-action-btn{transform:scale(1);opacity:1;visibility:visible;transition:transform .12s ease-out,opacity .12s ease-out,visibility 0ms 0ms}.add-site-row:not(:hover):not(:focus-within) .quick-action-btn{transform:scale(.8);opacity:0;visibility:hidden;pointer-events:none}.quick-action-btn.add:hover{border-color:var(--green-400);background:var(--green-50);color:var(--green-600)}.quick-action-btn.remove:hover{border-color:var(--red-400);background:var(--red-50);color:var(--red-600)}.dark .quick-action-btn{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-400)}.dark .quick-action-btn.add:hover{background:var(--green-900);border-color:var(--green-500);color:var(--green-300)}.dark .quick-action-btn.remove:hover{background:var(--red-900);border-color:var(--red-500);color:var(--red-300)}.quick-add-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--gray-200);border-radius:6px;background:var(--white);color:var(--gray-500);cursor:pointer;opacity:0;transition:all .15s;flex-shrink:0}.add-site-row:hover .quick-add-btn,.add-site-row.focused .quick-add-btn{opacity:1}.quick-add-btn:hover{border-color:var(--primary-400);background:var(--primary-50);color:var(--primary-600)}.dark .quick-add-btn{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-400)}.dark .quick-add-btn:hover{background:var(--primary-900);border-color:var(--primary-400);color:var(--primary-300)}.add-sites-hints{display:flex;gap:16px;padding-top:8px;font-size:12px;color:var(--gray-500);border-top:1px solid var(--gray-200)}.add-sites-hints span{display:flex;align-items:center;gap:4px}.add-sites-hints kbd{padding:2px 5px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:4px;font-family:inherit;font-size:11px;color:var(--gray-600)}.dark .add-sites-hints{border-color:var(--gray-700)}.dark .add-sites-hints kbd{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-400)}.btn-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;margin-left:6px;border-radius:9px;font-size:11px;font-weight:600}.btn-badge.add{background:var(--green-100);color:var(--green-700)}.btn-badge.remove{background:var(--red-100);color:var(--red-700)}.dark .btn-badge.add{background:var(--green-900);color:var(--green-300)}.dark .btn-badge.remove{background:var(--red-900);color:var(--red-300)}.in-review-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--green-100);color:var(--green-700);border-radius:4px;font-size:11px;font-weight:600}.in-review-badge svg{color:var(--green-500)}.dark .in-review-badge{background:var(--green-900);color:var(--green-300)}.dark .in-review-badge svg{color:var(--green-400)}.wizard-step-indicator{padding:24px 16px 16px;border-bottom:1px solid var(--border-color, #e2e8f0);background:linear-gradient(to bottom,var(--bg-secondary, #f8fafc),transparent)}.dark .wizard-step-indicator{border-bottom-color:#334155;background:linear-gradient(to bottom,#1e293b,transparent)}.wizard-step-track{display:flex;align-items:flex-start;justify-content:center;gap:0;margin-bottom:16px}.wizard-step{display:flex;flex-direction:column;align-items:center;min-width:80px;max-width:120px;position:relative}.wizard-step.clickable{cursor:pointer}.wizard-step.clickable:hover .wizard-step-circle{transform:scale(1.05)}.wizard-step.clickable:focus{outline:none}.wizard-step.clickable:focus .wizard-step-circle{box-shadow:0 0 0 3px #3b82f64d}.wizard-step-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;transition:all .2s ease;position:relative;z-index:1}.wizard-step.completed .wizard-step-circle{background:#10b981;color:#fff;border:2px solid #10b981}.wizard-step.completed .wizard-step-check-icon{width:20px;height:20px}.wizard-step.active .wizard-step-circle{background:#3b82f6;color:#fff;border:2px solid #3b82f6;box-shadow:0 0 0 4px #3b82f633}.wizard-step.active .wizard-step-icon{width:18px;height:18px}.wizard-step.upcoming .wizard-step-circle{background:#f1f5f9;color:#94a3b8;border:2px solid #cbd5e1}.dark .wizard-step.upcoming .wizard-step-circle{background:#334155;color:#64748b;border-color:#475569}.wizard-step.upcoming .wizard-step-icon{width:18px;height:18px;opacity:.5}.wizard-step-number{font-size:14px;font-weight:600}.wizard-step-icon{width:18px;height:18px}.wizard-step-label{margin-top:8px;text-align:center}.wizard-step-title{display:block;font-size:12px;font-weight:500;color:#64748b;white-space:nowrap}.wizard-step.active .wizard-step-title{color:#3b82f6;font-weight:600}.wizard-step.completed .wizard-step-title{color:#10b981}.dark .wizard-step-title{color:#94a3b8}.dark .wizard-step.active .wizard-step-title{color:#60a5fa}.dark .wizard-step.completed .wizard-step-title{color:#34d399}.wizard-step-optional{display:block;font-size:10px;color:#94a3b8;font-style:italic}.wizard-step-connector{flex:1;display:flex;align-items:center;min-width:40px;max-width:80px;height:40px;padding:0 4px}.wizard-step-connector-line{width:100%;height:2px;background:#cbd5e1;border-radius:1px;transition:background-color .3s ease}.wizard-step-connector.completed .wizard-step-connector-line{background:#10b981}.dark .wizard-step-connector-line{background:#475569}.dark .wizard-step-connector.completed .wizard-step-connector-line{background:#34d399}.wizard-step-description{text-align:center;font-size:13px;color:#64748b;padding:0 16px}.dark .wizard-step-description{color:#94a3b8}@media (max-width: 640px){.wizard-step-indicator{padding:16px 8px 12px}.wizard-step{min-width:60px}.wizard-step-circle{width:32px;height:32px}.wizard-step-connector{min-width:24px;max-width:48px;height:32px}.wizard-step-title{font-size:10px}.wizard-step-optional{display:none}.wizard-step-description{font-size:12px}}.wizard-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;overflow:hidden}.dark .wizard-section{background:#1e293b;border-color:#334155}.wizard-section--highlight{background:#f0f9ff;border-color:#bae6fd;border-left:4px solid #0ea5e9}.dark .wizard-section--highlight{background:#0ea5e91a;border-color:#0ea5e94d}.wizard-section--warning{background:#fffbeb;border-color:#fde68a;border-left:4px solid #f59e0b}.dark .wizard-section--warning{background:#f59e0b1a;border-color:#f59e0b4d}.wizard-section--info{background:#f0fdf4;border-color:#bbf7d0;border-left:4px solid #22c55e}.dark .wizard-section--info{background:#22c55e1a;border-color:#22c55e4d}.wizard-section-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px;background:linear-gradient(to right,rgba(241,245,249,.8),transparent);border-bottom:1px solid #e2e8f0}.dark .wizard-section-header{background:linear-gradient(to right,rgba(30,41,59,.8),transparent);border-bottom-color:#334155}.wizard-section-header--collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}.wizard-section-header--collapsible:hover{background:linear-gradient(to right,rgba(226,232,240,.8),transparent)}.dark .wizard-section-header--collapsible:hover{background:linear-gradient(to right,rgba(51,65,85,.8),transparent)}.wizard-section-header-left{display:flex;align-items:flex-start;gap:12px}.wizard-section-collapse-icon{color:#64748b;margin-top:2px}.wizard-section-icon{color:#3b82f6;margin-top:2px}.dark .wizard-section-icon{color:#60a5fa}.wizard-section-title-group{display:flex;flex-direction:column;gap:4px}.wizard-section-title{font-size:15px;font-weight:600;color:#1e293b;margin:0;display:flex;align-items:center;gap:8px}.dark .wizard-section-title{color:#f1f5f9}.wizard-section-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;background:#3b82f6;color:#fff;border-radius:10px}.wizard-section-description{font-size:13px;color:#64748b;margin:0}.dark .wizard-section-description{color:#94a3b8}.wizard-section-action{flex-shrink:0}.wizard-section-content{padding:20px}.wizard-field-group{margin-bottom:20px}.wizard-field-group:last-child{margin-bottom:0}.wizard-field-group-label{display:block;font-size:13px;font-weight:500;color:#475569;margin-bottom:8px}.dark .wizard-field-group-label{color:#94a3b8}.wizard-field-group-grid{display:grid;gap:16px}.wizard-field-group-grid--1{grid-template-columns:1fr}.wizard-field-group-grid--2{grid-template-columns:repeat(2,1fr)}.wizard-field-group-grid--3{grid-template-columns:repeat(3,1fr)}.wizard-field-group-grid--4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.wizard-field-group-grid--2,.wizard-field-group-grid--3,.wizard-field-group-grid--4{grid-template-columns:1fr}}.wizard-field-card{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:12px 16px}.dark .wizard-field-card{background:#0f172a;border-color:#334155}.wizard-field-card--override{border-left:3px solid #f59e0b;background:#fffbeb}.dark .wizard-field-card--override{background:#f59e0b1a}.wizard-field-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.wizard-field-card-label{font-size:12px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.025em}.dark .wizard-field-card-label{color:#94a3b8}.wizard-field-card-source{font-size:10px;font-weight:500;padding:2px 6px;border-radius:4px}.wizard-field-card-source--federal{background:#dbeafe;color:#1e40af}.dark .wizard-field-card-source--federal{background:#3b82f633;color:#60a5fa}.wizard-field-card-source--state{background:#fae8ff;color:#86198f}.dark .wizard-field-card-source--state{background:#a855f733;color:#c084fc}.wizard-field-card-source--jurisdiction{background:#dcfce7;color:#166534}.dark .wizard-field-card-source--jurisdiction{background:#22c55e33;color:#4ade80}.wizard-field-card-source--custom{background:#fef3c7;color:#92400e}.dark .wizard-field-card-source--custom{background:#f59e0b33;color:#fbbf24}.wizard-field-card-value{font-size:18px;font-weight:600;color:#1e293b}.dark .wizard-field-card-value{color:#f1f5f9}.wizard-field-card-content{margin-top:8px}.wizard-info-box{display:flex;gap:12px;padding:12px 16px;border-radius:6px;margin-bottom:16px}.wizard-info-box:last-child{margin-bottom:0}.wizard-info-box--info{background:#f0f9ff;border:1px solid #bae6fd}.dark .wizard-info-box--info{background:#0ea5e91a;border-color:#0ea5e94d}.wizard-info-box--warning{background:#fffbeb;border:1px solid #fde68a}.dark .wizard-info-box--warning{background:#f59e0b1a;border-color:#f59e0b4d}.wizard-info-box--success{background:#f0fdf4;border:1px solid #bbf7d0}.dark .wizard-info-box--success{background:#22c55e1a;border-color:#22c55e4d}.wizard-info-box--error{background:#fef2f2;border:1px solid #fecaca}.dark .wizard-info-box--error{background:#ef44441a;border-color:#ef44444d}.wizard-info-box-icon{width:20px;height:20px;flex-shrink:0;margin-top:1px}.wizard-info-box--info .wizard-info-box-icon{color:#0ea5e9}.wizard-info-box--warning .wizard-info-box-icon{color:#f59e0b}.wizard-info-box--success .wizard-info-box-icon{color:#22c55e}.wizard-info-box--error .wizard-info-box-icon{color:#ef4444}.wizard-info-box-title{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:4px}.dark .wizard-info-box-title{color:#f1f5f9}.wizard-info-box-text{font-size:13px;color:#475569;line-height:1.5}.dark .wizard-info-box-text{color:#94a3b8}.wizard-footer{border-top:1px solid #e2e8f0;background:#f8fafc}.dark .wizard-footer{border-top-color:#334155;background:#1e293b}.wizard-footer-progress{height:3px;background:#e2e8f0;overflow:hidden}.dark .wizard-footer-progress{background:#334155}.wizard-footer-progress-bar{height:100%;background:linear-gradient(to right,#3b82f6,#60a5fa);transition:width .3s ease}.wizard-footer-content{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;gap:16px}.wizard-footer-left{display:flex;align-items:center;gap:8px;flex:1}.wizard-footer-center{display:flex;align-items:center;justify-content:center;flex:1}.wizard-footer-step-counter{font-size:13px;color:#64748b;font-weight:500}.dark .wizard-footer-step-counter{color:#94a3b8}.wizard-footer-step-title{color:#475569}.dark .wizard-footer-step-title{color:#cbd5e1}.wizard-footer-right{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:1}@media (max-width: 640px){.wizard-footer-content{flex-wrap:wrap;padding:12px 16px}.wizard-footer-left{display:none}.wizard-footer-center{order:-1;width:100%;margin-bottom:12px}.wizard-footer-right{width:100%;justify-content:space-between}}.stage-selection-step{padding:.5rem 0}.stage-pipeline{margin-bottom:2rem}.stage-pipeline-title{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 1rem}.dark .stage-pipeline-title{color:#d1d5db}.stage-pipeline-track{display:flex;align-items:flex-start;justify-content:space-between;gap:0;overflow-x:auto;padding:.5rem 0}.stage-pipeline-node{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;background:none;border:none;cursor:pointer;min-width:80px;position:relative;transition:transform .2s}.stage-pipeline-node:hover{transform:translateY(-2px)}.stage-node-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#6b7280;font-size:.875rem;font-weight:600;transition:all .2s}.dark .stage-node-circle{background:#374151;color:#9ca3af}.stage-pipeline-node.selected .stage-node-circle{background:#2563eb;color:#fff}.stage-pipeline-node.suggested .stage-node-circle{background:#dbeafe;color:#2563eb;border:2px dashed #2563eb}.dark .stage-pipeline-node.suggested .stage-node-circle{background:#1e3a5f;color:#60a5fa;border-color:#60a5fa}.stage-pipeline-node.past .stage-node-circle{background:#dcfce7;color:#16a34a}.dark .stage-pipeline-node.past .stage-node-circle{background:#14532d;color:#4ade80}.stage-node-label{font-size:.6875rem;color:#6b7280;text-align:center;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dark .stage-node-label{color:#9ca3af}.stage-pipeline-node.selected .stage-node-label{color:#2563eb;font-weight:600}.dark .stage-pipeline-node.selected .stage-node-label{color:#60a5fa}.stage-suggested-badge{position:absolute;top:-8px;right:-8px;padding:.125rem .375rem;background:#dbeafe;color:#2563eb;font-size:.5625rem;font-weight:600;border-radius:9999px;text-transform:uppercase}.dark .stage-suggested-badge{background:#1e40af;color:#93c5fd}.stage-pipeline-connector{display:flex;align-items:center;justify-content:center;color:#d1d5db;flex-shrink:0;margin-top:6px}.dark .stage-pipeline-connector{color:#4b5563}.stage-pipeline-connector.active{color:#2563eb}.dark .stage-pipeline-connector.active{color:#60a5fa}.stage-cards{margin-bottom:1.5rem}.stage-cards-title{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 1rem}.dark .stage-cards-title{color:#d1d5db}.stage-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.stage-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;text-align:left;cursor:pointer;transition:all .2s}.dark .stage-card{background:#1f2937;border-color:#374151}.stage-card:hover{border-color:#93c5fd;box-shadow:0 2px 8px #3b82f61a}.dark .stage-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f633}.stage-card.selected{border-color:#2563eb;background:#eff6ff}.dark .stage-card.selected{border-color:#3b82f6;background:#1e3a5f}.stage-card.suggested:not(.selected){border-style:dashed;border-color:#93c5fd}.dark .stage-card.suggested:not(.selected){border-color:#60a5fa}.stage-card-header{display:flex;align-items:center;gap:.5rem}.stage-card-label{font-size:.875rem;font-weight:600;color:#111827}.dark .stage-card-label{color:#f9fafb}.stage-card.selected .stage-card-label{color:#1d4ed8}.dark .stage-card.selected .stage-card-label{color:#60a5fa}.stage-card-badge{margin-left:auto;padding:.125rem .5rem;background:#dbeafe;color:#2563eb;font-size:.625rem;font-weight:600;border-radius:9999px;text-transform:uppercase}.dark .stage-card-badge{background:#1e40af;color:#93c5fd}.stage-card-check{margin-left:auto;color:#2563eb}.dark .stage-card-check{color:#60a5fa}.stage-card-description{font-size:.75rem;color:#6b7280;margin:0;line-height:1.4}.dark .stage-card-description{color:#9ca3af}.stage-selection-summary{padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.dark .stage-selection-summary{background:#14532d;border-color:#166534}.stage-selection-summary h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#166534;margin:0 0 .75rem}.dark .stage-selection-summary h4{color:#4ade80}.stage-summary-card{display:flex;align-items:flex-start;gap:1rem}.stage-summary-icon{flex-shrink:0;color:#16a34a}.dark .stage-summary-icon{color:#4ade80}.stage-summary-content{flex:1}.stage-summary-name{display:block;font-size:1rem;font-weight:600;color:#14532d;margin-bottom:.25rem}.dark .stage-summary-name{color:#dcfce7}.stage-summary-description{font-size:.8125rem;color:#15803d;margin:0;line-height:1.4}.dark .stage-summary-description{color:#86efac}.target-dates-step{padding:.5rem 0}.date-entry-controls{display:flex;align-items:flex-end;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px;margin-bottom:1.5rem;flex-wrap:wrap}.dark .date-entry-controls{background:#1f2937}.date-entry-group{display:flex;flex-direction:column;gap:.375rem;flex:1;min-width:180px}.date-entry-label{font-size:.8125rem;font-weight:600;color:#374151}.dark .date-entry-label{color:#d1d5db}.date-entry-input-wrapper{position:relative;display:flex;align-items:center}.date-entry-icon{position:absolute;left:.75rem;color:#6b7280;pointer-events:none}.dark .date-entry-icon{color:#9ca3af}.date-entry-input{width:100%;padding:.5rem .75rem .5rem 2.25rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#111827;background:#fff;cursor:pointer}.dark .date-entry-input{background:#374151;border-color:#4b5563;color:#f9fafb}.date-entry-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.date-entry-hint{font-size:.6875rem;color:#6b7280}.dark .date-entry-hint{color:#9ca3af}.date-entry-separator{display:flex;align-items:center;padding:.5rem 0}.date-entry-separator span{font-size:.75rem;color:#9ca3af;font-style:italic}.date-reset-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.8125rem;color:#374151;cursor:pointer;transition:all .2s;white-space:nowrap}.dark .date-reset-btn{background:#374151;border-color:#4b5563;color:#d1d5db}.date-reset-btn:hover{border-color:#3b82f6;color:#3b82f6}.dark .date-reset-btn:hover{border-color:#60a5fa;color:#60a5fa}.target-dates-timeline{margin-bottom:1.5rem}.timeline-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#374151;margin:0 0 1rem}.dark .timeline-title{color:#d1d5db}.timeline-total{font-weight:400;font-size:.8125rem;color:#6b7280}.dark .timeline-total{color:#9ca3af}.timeline-track{display:flex;align-items:flex-start;gap:2px;padding:1rem;background:#f9fafb;border-radius:8px;overflow-x:auto}.dark .timeline-track{background:#1f2937}.timeline-start-marker{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:60px;padding-right:.5rem;border-right:2px solid #d1d5db}.dark .timeline-start-marker{border-color:#4b5563}.timeline-marker-date{font-size:.6875rem;font-weight:600;color:#111827}.dark .timeline-marker-date{color:#f9fafb}.timeline-marker-label{font-size:.625rem;color:#6b7280;text-transform:uppercase}.dark .timeline-marker-label{color:#9ca3af}.timeline-segment{display:flex;flex-direction:column;gap:.5rem;min-width:80px}.timeline-segment-bar{height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.timeline-segment-days{font-size:.6875rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.timeline-segment.overridden .timeline-segment-bar{border:2px dashed rgba(255,255,255,.5)}.timeline-segment-info{display:flex;flex-direction:column;align-items:center;gap:.125rem}.timeline-segment-label{font-size:.625rem;font-weight:500;color:#374151;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dark .timeline-segment-label{color:#d1d5db}.timeline-segment-date{font-size:.5625rem;color:#6b7280}.dark .timeline-segment-date{color:#9ca3af}.timeline-variance{font-size:.5625rem;font-weight:600;padding:.125rem .25rem;border-radius:3px}.timeline-variance.late{background:#fee2e2;color:#dc2626}.dark .timeline-variance.late{background:#450a0a;color:#fca5a5}.timeline-variance.early{background:#dcfce7;color:#16a34a}.dark .timeline-variance.early{background:#14532d;color:#4ade80}.stage-color-0{background:#3b82f6}.stage-color-1{background:#8b5cf6}.stage-color-2{background:#06b6d4}.stage-color-3{background:#10b981}.stage-color-4{background:#f59e0b}.stage-color-5{background:#ef4444}.stage-color-6{background:#ec4899}.stage-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.target-dates-table{margin-bottom:1rem}.table-title{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .25rem}.dark .table-title{color:#d1d5db}.table-hint{font-size:.75rem;color:#6b7280;margin:0 0 .75rem}.dark .table-hint{color:#9ca3af}.dates-table{width:100%;border-collapse:collapse;font-size:.8125rem}.dates-table th{text-align:left;padding:.75rem .5rem;font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;border-bottom:2px solid #e5e7eb}.dark .dates-table th{color:#9ca3af;border-bottom-color:#374151}.dates-table td{padding:.75rem .5rem;border-bottom:1px solid #e5e7eb;vertical-align:middle}.dark .dates-table td{border-bottom-color:#374151}.dates-table tr.overridden{background:#fef3c7}.dark .dates-table tr.overridden{background:#f59e0b1a}.dates-table tr:hover{background:#f9fafb}.dark .dates-table tr:hover{background:#1f2937}.dates-table tr.overridden:hover{background:#fde68a}.dark .dates-table tr.overridden:hover{background:#f59e0b26}.stage-cell{display:flex;align-items:center;gap:.5rem}.stage-name{font-weight:500;color:#111827}.dark .stage-name{color:#f9fafb}.days-cell{display:flex;flex-direction:column;gap:.125rem}.days-value{font-weight:500;color:#111827}.dark .days-value{color:#f9fafb}.days-source{font-size:.625rem;color:#6b7280;text-transform:capitalize}.dark .days-source{color:#9ca3af}.date-cell{min-width:140px}.date-display-btn{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:.8125rem;color:#111827;cursor:pointer;transition:all .2s}.dark .date-display-btn{background:#374151;border-color:#4b5563;color:#f9fafb}.date-display-btn:hover{border-color:#3b82f6}.dark .date-display-btn:hover{border-color:#60a5fa}.date-display-btn .edit-icon{opacity:0;transition:opacity .2s}.date-display-btn:hover .edit-icon{opacity:.5}.date-edit-wrapper{display:flex}.date-edit-input{padding:.375rem .5rem;border:2px solid #3b82f6;border-radius:4px;font-size:.8125rem;color:#111827;background:#fff;outline:none}.dark .date-edit-input{background:#1f2937;color:#f9fafb;border-color:#60a5fa}.status-cell{width:80px}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:500}.status-badge.auto{background:#dcfce7;color:#16a34a}.dark .status-badge.auto{background:#22c55e1a;color:#4ade80}.status-badge.overridden{background:#fef3c7;color:#d97706}.dark .status-badge.overridden{background:#f59e0b1a;color:#fbbf24}@media (max-width: 640px){.date-entry-controls{flex-direction:column;gap:.75rem}.date-entry-group{width:100%}.date-entry-separator{display:none}.date-reset-btn{width:100%;justify-content:center}.dates-table{font-size:.75rem}.dates-table th,.dates-table td{padding:.5rem .25rem}.status-cell{display:none}}.shot-clocks-step{padding:.5rem 0}.shot-clock-defaults{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:1.5rem}.dark .shot-clock-defaults{background:#14532d;border-color:#166534}.defaults-message{font-size:.875rem;color:#166534;margin:0}.dark .defaults-message{color:#86efac}.apply-defaults-btn{padding:.5rem 1rem;background:#16a34a;border:none;border-radius:6px;font-size:.8125rem;font-weight:500;color:#fff;cursor:pointer;transition:background .2s}.apply-defaults-btn:hover{background:#15803d}.shot-clocks-list{margin-bottom:1.5rem}.shot-clocks-title{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 1rem}.dark .shot-clocks-title{color:#d1d5db}.shot-clocks-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;text-align:center}.dark .shot-clocks-empty{background:#1f2937;border-color:#374151}.shot-clocks-empty .empty-icon{color:#9ca3af;margin-bottom:.75rem}.dark .shot-clocks-empty .empty-icon{color:#6b7280}.shot-clocks-empty p{font-size:.9375rem;font-weight:500;color:#374151;margin:0 0 .25rem}.dark .shot-clocks-empty p{color:#d1d5db}.shot-clocks-empty .empty-hint{font-size:.8125rem;color:#6b7280}.dark .shot-clocks-empty .empty-hint{color:#9ca3af}.shot-clocks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.shot-clock-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:border-color .2s}.dark .shot-clock-card{background:#1f2937;border-color:#374151}.shot-clock-card.status-green{border-left:4px solid #22c55e}.shot-clock-card.status-yellow{border-left:4px solid #f59e0b}.shot-clock-card.status-red{border-left:4px solid #ef4444}.shot-clock-card.status-tolled{border-left:4px solid #6b7280}.clock-card-header{display:flex;align-items:flex-start;justify-content:space-between;padding:.75rem 1rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.dark .clock-card-header{background:#111827;border-bottom-color:#374151}.clock-type-info{display:flex;flex-direction:column;gap:.125rem}.clock-type-label{font-size:.875rem;font-weight:600;color:#111827}.dark .clock-type-label{color:#f9fafb}.clock-days{font-size:.75rem;color:#6b7280}.dark .clock-days{color:#9ca3af}.clock-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;color:#9ca3af;cursor:pointer;border-radius:4px;transition:all .2s}.clock-remove-btn:hover{background:#fee2e2;color:#dc2626}.dark .clock-remove-btn:hover{background:#450a0a;color:#fca5a5}.clock-card-body{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.clock-field{display:flex;flex-direction:column;gap:.25rem}.clock-field-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.dark .clock-field-label{color:#9ca3af}.clock-date-input{padding:.5rem;border:1px solid #d1d5db;border-radius:4px;font-size:.8125rem;color:#111827;background:#fff}.dark .clock-date-input{background:#374151;border-color:#4b5563;color:#f9fafb}.clock-date-input:focus{outline:none;border-color:#3b82f6}.clock-deadline{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f3f4f6;border-radius:4px}.dark .clock-deadline{background:#374151}.deadline-label{font-size:.75rem;color:#6b7280}.dark .deadline-label{color:#9ca3af}.deadline-date{font-size:.8125rem;font-weight:600;color:#111827}.dark .deadline-date{color:#f9fafb}.clock-remaining{padding:.375rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;text-align:center}.clock-remaining.status-green{background:#dcfce7;color:#16a34a}.dark .clock-remaining.status-green{background:#22c55e1a;color:#4ade80}.clock-remaining.status-yellow{background:#fef3c7;color:#d97706}.dark .clock-remaining.status-yellow{background:#f59e0b1a;color:#fbbf24}.clock-remaining.status-red{background:#fee2e2;color:#dc2626}.dark .clock-remaining.status-red{background:#ef44441a;color:#fca5a5}.clock-remaining .overdue{font-weight:600}.clock-card-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#f9fafb;border-top:1px solid #e5e7eb}.dark .clock-card-footer{background:#111827;border-top-color:#374151}.tolling-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer}.tolling-toggle input{accent-color:#3b82f6}.tolling-label{font-size:.8125rem;color:#374151}.dark .tolling-label{color:#d1d5db}.tolling-indicator{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#fef3c7;color:#d97706;font-size:.6875rem;font-weight:600;border-radius:4px}.dark .tolling-indicator{background:#f59e0b1a;color:#fbbf24}.add-clock-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:#fff;border:2px dashed #d1d5db;border-radius:8px;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.dark .add-clock-btn{background:#1f2937;border-color:#374151;color:#9ca3af}.add-clock-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.dark .add-clock-btn:hover{border-color:#60a5fa;color:#60a5fa;background:#1e3a5f}.add-clock-form{padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.dark .add-clock-form{background:#1f2937;border-color:#374151}.add-clock-title{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 1rem}.dark .add-clock-title{color:#d1d5db}.add-clock-fields{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.form-input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#111827;background:#fff}.dark .form-input{background:#374151;border-color:#4b5563;color:#f9fafb}.form-input:focus{outline:none;border-color:#3b82f6}.add-clock-actions{display:flex;justify-content:flex-end;gap:.75rem}.add-clock-cancel{padding:.5rem 1rem;background:none;border:1px solid #d1d5db;border-radius:6px;font-size:.8125rem;color:#374151;cursor:pointer;transition:all .2s}.dark .add-clock-cancel{border-color:#4b5563;color:#d1d5db}.add-clock-cancel:hover{background:#f3f4f6}.dark .add-clock-cancel:hover{background:#374151}.add-clock-confirm{padding:.5rem 1rem;background:#3b82f6;border:none;border-radius:6px;font-size:.8125rem;font-weight:500;color:#fff;cursor:pointer;transition:background .2s}.add-clock-confirm:hover{background:#2563eb}.add-clock-confirm:disabled{background:#9ca3af;cursor:not-allowed}@media (max-width: 640px){.shot-clock-defaults{flex-direction:column;gap:1rem;text-align:center}.apply-defaults-btn{width:100%}.shot-clocks-grid{grid-template-columns:1fr}}.constraints-step{padding:.5rem 0}.constraints-list{margin-bottom:1.5rem}.constraints-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.constraints-title{font-size:.875rem;font-weight:600;color:#374151;margin:0}.dark .constraints-title{color:#d1d5db}.constraints-count{font-size:.75rem;padding:.25rem .5rem;background:#e5e7eb;color:#374151;border-radius:9999px}.dark .constraints-count{background:#374151;color:#d1d5db}.constraints-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;text-align:center}.dark .constraints-empty{background:#1f2937;border-color:#374151}.constraints-empty .empty-icon{color:#9ca3af;margin-bottom:.75rem}.dark .constraints-empty .empty-icon{color:#6b7280}.constraints-empty p{font-size:.9375rem;font-weight:500;color:#374151;margin:0 0 .25rem}.dark .constraints-empty p{color:#d1d5db}.constraints-empty .empty-hint{font-size:.8125rem;color:#6b7280}.dark .constraints-empty .empty-hint{color:#9ca3af}.constraints-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.constraint-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.dark .constraint-card{background:#1f2937;border-color:#374151}.constraint-card.impact-red{border-left:4px solid #ef4444}.constraint-card.impact-yellow{border-left:4px solid #f59e0b}.constraint-card.impact-green{border-left:4px solid #22c55e}.constraint-card.impact-gray{border-left:4px solid #6b7280}.constraint-card-header{display:flex;align-items:flex-start;justify-content:space-between;padding:.75rem 1rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.dark .constraint-card-header{background:#111827;border-bottom-color:#374151}.constraint-type-info{display:flex;flex-direction:column;gap:.125rem}.constraint-type-label{font-size:.875rem;font-weight:600;color:#111827}.dark .constraint-type-label{color:#f9fafb}.constraint-category{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.dark .constraint-category{color:#9ca3af}.constraint-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;color:#9ca3af;cursor:pointer;border-radius:4px;transition:all .2s}.constraint-remove-btn:hover{background:#fee2e2;color:#dc2626}.dark .constraint-remove-btn:hover{background:#450a0a;color:#fca5a5}.constraint-card-body{padding:1rem}.constraint-description{font-size:.8125rem;color:#374151;margin:0;line-height:1.5}.dark .constraint-description{color:#d1d5db}.constraint-card-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#f9fafb;border-top:1px solid #e5e7eb}.dark .constraint-card-footer{background:#111827;border-top-color:#374151}.impact-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:600}.impact-badge.impact-red{background:#fee2e2;color:#dc2626}.dark .impact-badge.impact-red{background:#ef44441a;color:#fca5a5}.impact-badge.impact-yellow{background:#fef3c7;color:#d97706}.dark .impact-badge.impact-yellow{background:#f59e0b1a;color:#fbbf24}.impact-badge.impact-green{background:#dcfce7;color:#16a34a}.dark .impact-badge.impact-green{background:#22c55e1a;color:#4ade80}.constraint-date{font-size:.6875rem;color:#6b7280}.dark .constraint-date{color:#9ca3af}.add-constraint-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:#fff;border:2px dashed #d1d5db;border-radius:8px;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.dark .add-constraint-btn{background:#1f2937;border-color:#374151;color:#9ca3af}.add-constraint-btn:hover{border-color:#f59e0b;color:#f59e0b;background:#fffbeb}.dark .add-constraint-btn:hover{border-color:#fbbf24;color:#fbbf24;background:#422006}.add-constraint-form{padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.dark .add-constraint-form{background:#1f2937;border-color:#374151}.add-constraint-title{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 1rem}.dark .add-constraint-title{color:#d1d5db}.add-constraint-fields{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.form-label{font-size:.8125rem;font-weight:500;color:#374151}.dark .form-label{color:#d1d5db}.select-wrapper{position:relative}.form-select{width:100%;padding:.5rem 2rem .5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#111827;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.dark .form-select{background:#374151;border-color:#4b5563;color:#f9fafb}.form-select:focus{outline:none;border-color:#3b82f6}.select-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}.dark .select-icon{color:#9ca3af}.form-textarea{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#111827;background:#fff;resize:vertical;min-height:80px;font-family:inherit}.dark .form-textarea{background:#374151;border-color:#4b5563;color:#f9fafb}.form-textarea:focus{outline:none;border-color:#3b82f6}.form-textarea::placeholder{color:#9ca3af}.dark .form-textarea::placeholder{color:#6b7280}.form-hint{font-size:.75rem;color:#6b7280}.dark .form-hint{color:#9ca3af}.impact-selector{display:flex;gap:.5rem}.impact-option{flex:1;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .75rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.8125rem;color:#374151;cursor:pointer;transition:all .2s}.dark .impact-option{background:#374151;border-color:#4b5563;color:#d1d5db}.impact-option:hover{border-color:#9ca3af}.impact-option.selected{border-width:2px}.impact-option.impact-low.selected{border-color:#22c55e;background:#f0fdf4;color:#16a34a}.dark .impact-option.impact-low.selected{border-color:#4ade80;background:#22c55e1a;color:#4ade80}.impact-option.impact-medium.selected{border-color:#f59e0b;background:#fffbeb;color:#d97706}.dark .impact-option.impact-medium.selected{border-color:#fbbf24;background:#f59e0b1a;color:#fbbf24}.impact-option.impact-high.selected{border-color:#ef4444;background:#fef2f2;color:#dc2626}.dark .impact-option.impact-high.selected{border-color:#f87171;background:#ef44441a;color:#f87171}.impact-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.impact-label{font-weight:500}.add-constraint-actions{display:flex;justify-content:flex-end;gap:.75rem}.add-constraint-cancel{padding:.5rem 1rem;background:none;border:1px solid #d1d5db;border-radius:6px;font-size:.8125rem;color:#374151;cursor:pointer;transition:all .2s}.dark .add-constraint-cancel{border-color:#4b5563;color:#d1d5db}.add-constraint-cancel:hover{background:#f3f4f6}.dark .add-constraint-cancel:hover{background:#374151}.add-constraint-confirm{padding:.5rem 1rem;background:#f59e0b;border:none;border-radius:6px;font-size:.8125rem;font-weight:500;color:#fff;cursor:pointer;transition:background .2s}.add-constraint-confirm:hover{background:#d97706}.add-constraint-confirm:disabled{background:#9ca3af;cursor:not-allowed}.constraints-summary{margin-top:1.5rem;padding:1rem;background:#f3f4f6;border-radius:8px}.dark .constraints-summary{background:#111827}.summary-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0 0 .75rem}.dark .summary-title{color:#9ca3af}.summary-grid{display:flex;gap:2rem}.summary-item{display:flex;align-items:baseline;gap:.5rem}.summary-value{font-size:1.5rem;font-weight:700}.summary-value.impact-red{color:#dc2626}.dark .summary-value.impact-red{color:#f87171}.summary-value.impact-yellow{color:#d97706}.dark .summary-value.impact-yellow{color:#fbbf24}.summary-value.impact-green{color:#16a34a}.dark .summary-value.impact-green{color:#4ade80}.summary-label{font-size:.75rem;color:#6b7280}.dark .summary-label{color:#9ca3af}@media (max-width: 640px){.constraints-grid{grid-template-columns:1fr}.impact-selector{flex-direction:column}.summary-grid{flex-direction:column;gap:.75rem}}.review-step{padding:.5rem 0}.review-site-header{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;margin-bottom:1.5rem}.dark .review-site-header{background:linear-gradient(135deg,#1e3a5f,#1e293b)}.review-site-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fff;border-radius:12px;color:#0284c7;box-shadow:0 2px 8px #0000000d}.dark .review-site-icon{background:#1f2937;color:#38bdf8}.review-site-info{flex:1}.review-site-name{font-size:1.125rem;font-weight:600;color:#0c4a6e;margin:0 0 .25rem}.dark .review-site-name{color:#7dd3fc}.review-site-address{font-size:.875rem;color:#64748b;margin:0 0 .5rem}.dark .review-site-address{color:#94a3b8}.review-jurisdiction-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;background:#0284c7;color:#fff;font-size:.75rem;font-weight:500;border-radius:9999px}.dark .review-jurisdiction-badge{background:#0369a1}.review-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.review-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.dark .review-card{background:#1f2937;border-color:#374151}.review-card-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.dark .review-card-header{background:#111827;border-bottom-color:#374151}.review-card-icon{flex-shrink:0}.review-card-icon.stage{color:#22c55e}.review-card-icon.dates{color:#3b82f6}.review-card-icon.clocks{color:#f59e0b}.review-card-icon.constraints{color:#ef4444}.review-card-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.dark .review-card-title{color:#9ca3af}.review-card-body{padding:1rem}.review-stage-name{display:block;font-size:1rem;font-weight:600;color:#111827;margin-bottom:.25rem}.dark .review-stage-name{color:#f9fafb}.review-stage-description{font-size:.8125rem;color:#6b7280;margin:0;line-height:1.4}.dark .review-stage-description{color:#9ca3af}.review-timeline-dates{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.timeline-date-item{display:flex;flex-direction:column;gap:.125rem}.date-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.dark .date-label{color:#9ca3af}.date-value{font-size:.875rem;font-weight:600;color:#111827}.dark .date-value{color:#f9fafb}.timeline-arrow{color:#d1d5db;flex-shrink:0}.dark .timeline-arrow{color:#4b5563}.review-total-days{display:inline-block;padding:.25rem .5rem;background:#dbeafe;color:#1d4ed8;font-size:.75rem;font-weight:500;border-radius:4px}.dark .review-total-days{background:#3b82f61a;color:#60a5fa}.review-shot-clocks-list{display:flex;flex-direction:column;gap:.5rem}.review-shot-clock-item{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0;border-bottom:1px dashed #e5e7eb}.dark .review-shot-clock-item{border-bottom-color:#374151}.review-shot-clock-item:last-child{border-bottom:none}.clock-type{font-size:.8125rem;color:#374151;text-transform:capitalize}.dark .clock-type{color:#d1d5db}.clock-days{font-size:.75rem;font-weight:600;color:#f59e0b}.dark .clock-days{color:#fbbf24}.review-constraints-summary{display:flex;align-items:center;gap:1rem}.constraints-total{font-size:.875rem;font-weight:500;color:#374151}.dark .constraints-total{color:#d1d5db}.constraints-high-impact{padding:.25rem .5rem;background:#fee2e2;color:#dc2626;font-size:.6875rem;font-weight:600;border-radius:4px}.dark .constraints-high-impact{background:#ef44441a;color:#fca5a5}.review-empty-value{font-size:.8125rem;color:#9ca3af;font-style:italic}.dark .review-empty-value{color:#6b7280}.review-dates-section{margin-bottom:1.5rem}.review-section-title{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .75rem}.dark .review-section-title{color:#d1d5db}.review-dates-table table{width:100%;border-collapse:collapse;font-size:.8125rem}.review-dates-table th{text-align:left;padding:.5rem .75rem;font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;background:#f9fafb;border-bottom:2px solid #e5e7eb}.dark .review-dates-table th{color:#9ca3af;background:#1f2937;border-bottom-color:#374151}.review-dates-table td{padding:.75rem;border-bottom:1px solid #e5e7eb;color:#374151}.dark .review-dates-table td{border-bottom-color:#374151;color:#d1d5db}.review-dates-table tr.starting-stage{background:#f0fdf4}.dark .review-dates-table tr.starting-stage{background:#22c55e1a}.review-dates-table .stage-name{font-weight:500}.starting-badge{display:inline-block;margin-left:.5rem;padding:.125rem .375rem;background:#22c55e;color:#fff;font-size:.625rem;font-weight:600;border-radius:4px;text-transform:uppercase}.review-constraints-section{margin-bottom:1.5rem}.review-constraints-list{display:flex;flex-direction:column;gap:.75rem}.review-constraint-item{padding:.75rem 1rem;background:#f9fafb;border-radius:6px;border-left:3px solid #6b7280}.dark .review-constraint-item{background:#1f2937}.review-constraint-item.impact-high{border-left-color:#ef4444}.review-constraint-item.impact-medium{border-left-color:#f59e0b}.review-constraint-item.impact-low{border-left-color:#22c55e}.constraint-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.constraint-type{font-size:.8125rem;font-weight:600;color:#111827;text-transform:capitalize}.dark .constraint-type{color:#f9fafb}.constraint-impact{padding:.125rem .375rem;border-radius:4px;font-size:.625rem;font-weight:600;text-transform:uppercase}.constraint-impact.impact-high{background:#fee2e2;color:#dc2626}.dark .constraint-impact.impact-high{background:#ef44441a;color:#fca5a5}.constraint-impact.impact-medium{background:#fef3c7;color:#d97706}.dark .constraint-impact.impact-medium{background:#f59e0b1a;color:#fbbf24}.constraint-impact.impact-low{background:#dcfce7;color:#16a34a}.dark .constraint-impact.impact-low{background:#22c55e1a;color:#4ade80}.constraint-description{font-size:.8125rem;color:#6b7280;margin:0;line-height:1.4}.dark .constraint-description{color:#9ca3af}.review-warnings{margin-bottom:1.5rem}.review-confirmation{display:flex;gap:1rem;padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.dark .review-confirmation{background:#14532d;border-color:#166534}.confirmation-icon{flex-shrink:0;color:#22c55e}.dark .confirmation-icon{color:#4ade80}.confirmation-content{flex:1}.confirmation-title{font-size:.875rem;font-weight:600;color:#166534;margin:0 0 .25rem}.dark .confirmation-title{color:#4ade80}.confirmation-text{font-size:.8125rem;color:#15803d;margin:0;line-height:1.5}.dark .confirmation-text{color:#86efac}@media (max-width: 768px){.review-summary-grid{grid-template-columns:1fr}.review-timeline-dates{flex-direction:column;align-items:flex-start}.timeline-arrow{transform:rotate(90deg);margin:.25rem 0}}@media (max-width: 480px){.review-site-header{flex-direction:column;align-items:center;text-align:center}.constraint-header{flex-direction:column;align-items:flex-start;gap:.375rem}}.site-acceptance-wizard{display:flex;flex-direction:column;gap:1.5rem;position:relative;min-height:500px}.wizard-site-header{text-align:center;padding:1rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:8px;margin:-1rem -1rem 0}.dark .wizard-site-header{background:linear-gradient(135deg,#1e3a5f,#1e293b)}.wizard-site-header h3{font-size:1.125rem;font-weight:600;color:#0c4a6e;margin:0 0 .25rem}.dark .wizard-site-header h3{color:#7dd3fc}.wizard-site-header p{font-size:.875rem;color:#64748b;margin:0}.dark .wizard-site-header p{color:#94a3b8}.wizard-jurisdiction-badge{display:inline-block;margin-top:.5rem;padding:.25rem .75rem;background:#0284c7;color:#fff;font-size:.75rem;font-weight:500;border-radius:9999px}.dark .wizard-jurisdiction-badge{background:#0369a1}.wizard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.wizard-loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:wizard-spin 1s linear infinite}.dark .wizard-loading-spinner{border-color:#374151;border-top-color:#60a5fa}@keyframes wizard-spin{to{transform:rotate(360deg)}}.wizard-loading p{font-size:.875rem;color:#64748b}.wizard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;text-align:center}.wizard-error-icon{width:48px;height:48px;color:#ef4444}.wizard-error p{font-size:1rem;color:#64748b}.wizard-error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem}.dark .wizard-error-message{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}.wizard-error-dismiss{margin-left:auto;padding:.25rem;background:none;border:none;color:inherit;cursor:pointer;opacity:.7;transition:opacity .2s}.wizard-error-dismiss:hover{opacity:1}.wizard-step-content{flex:1;min-height:300px;padding:1rem 0}.wizard-success-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fffffff2;border-radius:8px;z-index:100;animation:wizard-fade-in .3s ease-out}.dark .wizard-success-overlay{background:#111827f2}@keyframes wizard-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.wizard-success-icon{width:64px;height:64px;color:#22c55e;margin-bottom:1rem;animation:wizard-success-bounce .5s ease-out}@keyframes wizard-success-bounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.wizard-success-overlay h3{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .5rem}.dark .wizard-success-overlay h3{color:#f9fafb}.wizard-success-overlay p{font-size:.875rem;color:#6b7280}.dark .wizard-success-overlay p{color:#9ca3af}.wizard-step-container{display:flex;flex-direction:column;gap:1.5rem}.wizard-step-section{display:flex;flex-direction:column;gap:.75rem}.wizard-step-section-title{font-size:.875rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em}.dark .wizard-step-section-title{color:#d1d5db}.wizard-form-group{display:flex;flex-direction:column;gap:.5rem}.wizard-form-label{font-size:.875rem;font-weight:500;color:#374151}.dark .wizard-form-label{color:#d1d5db}.wizard-form-hint{font-size:.75rem;color:#6b7280}.dark .wizard-form-hint{color:#9ca3af}.wizard-form-input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#111827;background:#fff;transition:border-color .2s,box-shadow .2s}.dark .wizard-form-input{background:#1f2937;border-color:#374151;color:#f9fafb}.wizard-form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dark .wizard-form-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.wizard-checkbox-group{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#f9fafb;border-radius:8px;cursor:pointer}.dark .wizard-checkbox-group{background:#1f2937}.wizard-checkbox-group:hover{background:#f3f4f6}.dark .wizard-checkbox-group:hover{background:#374151}.wizard-checkbox-input{width:18px;height:18px;margin-top:2px;accent-color:#3b82f6}.wizard-checkbox-content{flex:1}.wizard-checkbox-label{font-size:.875rem;font-weight:500;color:#111827;margin:0 0 .25rem}.dark .wizard-checkbox-label{color:#f9fafb}.wizard-checkbox-description{font-size:.75rem;color:#6b7280;margin:0}.dark .wizard-checkbox-description{color:#9ca3af}.wizard-info-box{display:flex;gap:.75rem;padding:1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}.dark .wizard-info-box{background:#1e3a5f;border-color:#1e40af}.wizard-info-box-icon{flex-shrink:0;color:#3b82f6}.dark .wizard-info-box-icon{color:#60a5fa}.wizard-info-box-content{flex:1}.wizard-info-box-title{font-size:.875rem;font-weight:600;color:#1e40af;margin:0 0 .25rem}.dark .wizard-info-box-title{color:#93c5fd}.wizard-info-box-text{font-size:.8125rem;color:#3730a3;margin:0;line-height:1.5}.dark .wizard-info-box-text{color:#a5b4fc}.wizard-warning-box{display:flex;gap:.75rem;padding:1rem;background:#fffbeb;border:1px solid #fde68a;border-radius:8px}.dark .wizard-warning-box{background:#422006;border-color:#a16207}.wizard-warning-box-icon{flex-shrink:0;color:#f59e0b}.wizard-warning-box-content{flex:1}.wizard-warning-box-title{font-size:.875rem;font-weight:600;color:#92400e;margin:0 0 .25rem}.dark .wizard-warning-box-title{color:#fcd34d}.wizard-warning-box-text{font-size:.8125rem;color:#78350f;margin:0;line-height:1.5}.dark .wizard-warning-box-text{color:#fef3c7}.wizard-form-textarea{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#111827;background:#fff;resize:vertical;min-height:80px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.dark .wizard-form-textarea{background:#1f2937;border-color:#374151;color:#f9fafb}.wizard-form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dark .wizard-form-textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.wizard-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:#6b7280}.dark .wizard-empty-state{color:#9ca3af}.wizard-empty-state-icon{width:48px;height:48px;color:#d1d5db;margin-bottom:1rem}.dark .wizard-empty-state-icon{color:#4b5563}.wizard-empty-state p{margin:0;font-size:.875rem}.rejection-modal-content{display:flex;flex-direction:column;gap:1.25rem;padding:.5rem 0}.rejection-site-info{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.dark .rejection-site-info{background:#450a0a;border-color:#7f1d1d}.site-info-icon{flex-shrink:0;color:#dc2626}.dark .site-info-icon{color:#fca5a5}.site-info-details{flex:1}.site-info-name{font-size:1rem;font-weight:600;color:#991b1b;margin:0 0 .25rem}.dark .site-info-name{color:#fecaca}.site-info-address{font-size:.8125rem;color:#b91c1c;margin:0}.dark .site-info-address{color:#fca5a5}.rejection-info-box{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;background:#eff6ff;border-radius:6px}.dark .rejection-info-box{background:#1e3a5f}.info-box-icon{flex-shrink:0;color:#3b82f6;margin-top:2px}.dark .info-box-icon{color:#60a5fa}.info-box-text{font-size:.8125rem;color:#1e40af;margin:0;line-height:1.5}.dark .info-box-text{color:#93c5fd}.rejection-form-group{display:flex;flex-direction:column;gap:.5rem}.rejection-form-label{font-size:.8125rem;font-weight:600;color:#374151}.dark .rejection-form-label{color:#d1d5db}.rejection-select-wrapper{position:relative}.rejection-form-select{width:100%;padding:.625rem 2.5rem .625rem .875rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#111827;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.dark .rejection-form-select{background:#374151;border-color:#4b5563;color:#f9fafb}.rejection-form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.rejection-select-icon{position:absolute;right:.875rem;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}.dark .rejection-select-icon{color:#9ca3af}.rejection-form-hint{font-size:.75rem;color:#6b7280}.dark .rejection-form-hint{color:#9ca3af}.rejection-form-textarea{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#111827;background:#fff;resize:vertical;min-height:80px;font-family:inherit}.dark .rejection-form-textarea{background:#374151;border-color:#4b5563;color:#f9fafb}.rejection-form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.rejection-form-textarea::placeholder{color:#9ca3af}.dark .rejection-form-textarea::placeholder{color:#6b7280}.rejection-action-options{display:flex;flex-direction:column;gap:.75rem}.rejection-action-option{display:flex;align-items:flex-start;gap:.875rem;padding:1rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;text-align:left;cursor:pointer;transition:all .2s;position:relative}.dark .rejection-action-option{background:#1f2937;border-color:#374151}.rejection-action-option:hover{border-color:#9ca3af}.rejection-action-option.selected{border-color:#3b82f6;background:#eff6ff}.dark .rejection-action-option.selected{border-color:#60a5fa;background:#1e3a5f}.rejection-action-option.delete.selected{border-color:#dc2626;background:#fef2f2}.dark .rejection-action-option.delete.selected{border-color:#f87171;background:#450a0a}.action-icon{flex-shrink:0;color:#6b7280;margin-top:2px}.dark .action-icon{color:#9ca3af}.rejection-action-option.selected .action-icon{color:#3b82f6}.dark .rejection-action-option.selected .action-icon{color:#60a5fa}.rejection-action-option.delete.selected .action-icon{color:#dc2626}.dark .rejection-action-option.delete.selected .action-icon{color:#f87171}.action-content{flex:1;display:flex;flex-direction:column;gap:.125rem}.action-title{font-size:.875rem;font-weight:600;color:#111827}.dark .action-title{color:#f9fafb}.action-description{font-size:.75rem;color:#6b7280}.dark .action-description{color:#9ca3af}.action-recommended{position:absolute;top:.5rem;right:.75rem;padding:.125rem .5rem;background:#dcfce7;color:#16a34a;font-size:.625rem;font-weight:600;border-radius:9999px;text-transform:uppercase}.dark .action-recommended{background:#22c55e1a;color:#4ade80}.rejection-delete-warning{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.8125rem}.dark .rejection-delete-warning{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}.rejection-delete-warning svg{flex-shrink:0;margin-top:2px}.rejection-error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.8125rem}.dark .rejection-error-message{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}.rejection-cancel-btn{padding:.625rem 1.25rem;background:none;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.dark .rejection-cancel-btn{border-color:#4b5563;color:#d1d5db}.rejection-cancel-btn:hover:not(:disabled){background:#f3f4f6}.dark .rejection-cancel-btn:hover:not(:disabled){background:#374151}.rejection-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.rejection-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;background:#f59e0b;border:none;border-radius:6px;font-size:.875rem;font-weight:500;color:#fff;cursor:pointer;transition:background .2s;min-width:140px}.rejection-submit-btn:hover:not(:disabled){background:#d97706}.rejection-submit-btn.delete{background:#dc2626}.rejection-submit-btn.delete:hover:not(:disabled){background:#b91c1c}.rejection-submit-btn:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 480px){.rejection-site-info{flex-direction:column;align-items:flex-start}}.batch-acceptance-content{display:flex;flex-direction:column;gap:1.25rem;padding:.5rem 0;max-height:60vh;overflow-y:auto}.batch-summary-header{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:8px}.dark .batch-summary-header{background:linear-gradient(135deg,#14532d,#166534)}.summary-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fff;border-radius:12px;color:#16a34a;box-shadow:0 2px 8px #0000000d}.dark .summary-icon{background:#1f2937;color:#4ade80}.summary-info{flex:1}.summary-title{font-size:1.125rem;font-weight:600;color:#14532d;margin:0 0 .25rem}.dark .summary-title{color:#dcfce7}.summary-description{font-size:.8125rem;color:#15803d;margin:0}.dark .summary-description{color:#86efac}.batch-section{display:flex;flex-direction:column;gap:.75rem}.batch-section-title{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:#374151;margin:0}.dark .batch-section-title{color:#d1d5db}.batch-section-title svg{color:#6b7280}.dark .batch-section-title svg{color:#9ca3af}.batch-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.batch-form-group{display:flex;flex-direction:column;gap:.375rem}.batch-form-label{font-size:.75rem;font-weight:600;color:#6b7280}.dark .batch-form-label{color:#9ca3af}.batch-select-wrapper{position:relative}.batch-form-select{width:100%;padding:.5rem 2rem .5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#111827;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.dark .batch-form-select{background:#374151;border-color:#4b5563;color:#f9fafb}.batch-form-select:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.batch-select-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}.dark .batch-select-icon{color:#9ca3af}.batch-date-wrapper{position:relative}.batch-date-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}.dark .batch-date-icon{color:#9ca3af}.batch-form-input{width:100%;padding:.5rem .75rem .5rem 2.25rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#111827;background:#fff}.dark .batch-form-input{background:#374151;border-color:#4b5563;color:#f9fafb}.batch-form-input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.batch-checkbox-group{display:flex;align-items:center;gap:.5rem;cursor:pointer}.batch-checkbox-group input{width:16px;height:16px;accent-color:#22c55e}.checkbox-label{font-size:.8125rem;color:#374151}.dark .checkbox-label{color:#d1d5db}.batch-sites-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px}.dark .batch-sites-list{border-color:#374151}.batch-site-item{border-bottom:1px solid #e5e7eb}.dark .batch-site-item{border-bottom-color:#374151}.batch-site-item:last-child{border-bottom:none}.batch-site-item.has-override{background:#fefce8}.dark .batch-site-item.has-override{background:#facc151a}.site-item-header{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer;transition:background .2s}.site-item-header:hover{background:#f9fafb}.dark .site-item-header:hover{background:#1f2937}.site-item-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.site-item-name{font-size:.8125rem;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .site-item-name{color:#f9fafb}.site-item-address{font-size:.6875rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .site-item-address{color:#9ca3af}.site-item-stage{display:flex;align-items:center;gap:.375rem}.stage-badge{padding:.25rem .5rem;background:#dcfce7;color:#16a34a;font-size:.6875rem;font-weight:600;border-radius:4px}.dark .stage-badge{background:#22c55e1a;color:#4ade80}.stage-badge.override{background:#fef3c7;color:#d97706}.dark .stage-badge.override{background:#f59e0b1a;color:#fbbf24}.clear-override-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;color:#9ca3af;cursor:pointer;border-radius:4px;transition:all .2s}.clear-override-btn:hover{background:#fee2e2;color:#dc2626}.dark .clear-override-btn:hover{background:#450a0a;color:#fca5a5}.expand-icon{color:#9ca3af;transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.site-item-override{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f9fafb;border-top:1px solid #e5e7eb}.dark .site-item-override{background:#1f2937;border-top-color:#374151}.override-label{font-size:.75rem;font-weight:500;color:#6b7280;white-space:nowrap}.dark .override-label{color:#9ca3af}.override-select-wrapper{position:relative;flex:1}.override-select{width:100%;padding:.375rem 2rem .375rem .625rem;border:1px solid #d1d5db;border-radius:4px;font-size:.8125rem;color:#111827;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.dark .override-select{background:#374151;border-color:#4b5563;color:#f9fafb}.override-select-icon{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.batch-info-box{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef3c7;border-radius:6px;color:#92400e;font-size:.8125rem}.dark .batch-info-box{background:#f59e0b1a;color:#fbbf24}.info-icon{flex-shrink:0}.batch-error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.8125rem}.dark .batch-error-message{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}.batch-cancel-btn{padding:.625rem 1.25rem;background:none;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.dark .batch-cancel-btn{border-color:#4b5563;color:#d1d5db}.batch-cancel-btn:hover:not(:disabled){background:#f3f4f6}.dark .batch-cancel-btn:hover:not(:disabled){background:#374151}.batch-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.batch-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;background:#22c55e;border:none;border-radius:6px;font-size:.875rem;font-weight:500;color:#fff;cursor:pointer;transition:background .2s;min-width:160px}.batch-submit-btn:hover:not(:disabled){background:#16a34a}.batch-submit-btn:disabled{opacity:.7;cursor:not-allowed}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 640px){.batch-form-grid{grid-template-columns:1fr}.batch-summary-header{flex-direction:column;text-align:center}}.site-review-sidebar{display:flex;flex-direction:column;height:100%;background:var(--white);border-right:1px solid var(--gray-200);overflow:hidden;transition:width var(--transition-speed, .2s) ease-out}.dark .site-review-sidebar{background:var(--gray-900);border-right-color:var(--gray-800)}.site-review-sidebar.collapsed{width:var(--sidebar-collapsed-width, 56px);align-items:center;padding:8px 0}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--gray-200);flex-shrink:0}.dark .sidebar-header{border-bottom-color:var(--gray-800)}.sidebar-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--gray-900)}.dark .sidebar-title{color:var(--gray-100)}.site-count{background:var(--primary-100);color:var(--primary-700);padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600}.dark .site-count{background:var(--primary-900);color:var(--primary-300)}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--gray-500);border-radius:6px;cursor:pointer;transition:all .15s}.sidebar-toggle:hover{background:var(--gray-100);color:var(--gray-700)}.dark .sidebar-toggle:hover{background:var(--gray-800);color:var(--gray-300)}.sidebar-header-actions{display:flex;align-items:center;gap:4px}.add-sites-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--gray-500);cursor:pointer;transition:all .15s}.add-sites-btn:hover{background:var(--primary-50);color:var(--primary-600)}.dark .add-sites-btn:hover{background:var(--primary-900);color:var(--primary-400)}.sidebar-search{position:relative;padding:12px 16px;flex-shrink:0}.search-icon{position:absolute;left:28px;top:50%;transform:translateY(-50%);color:var(--gray-400);pointer-events:none}.search-input{width:100%;padding:8px 12px 8px 36px;border:1px solid var(--gray-300);border-radius:8px;font-size:13px;background:var(--gray-50);color:var(--gray-900);transition:all .15s}.search-input:focus{outline:none;border-color:var(--primary-500);background:var(--white);box-shadow:0 0 0 3px rgba(var(--primary-500-rgb),.1)}.dark .search-input{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-100)}.dark .search-input:focus{background:var(--gray-800);border-color:var(--primary-500)}.search-clear{position:absolute;right:24px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:var(--gray-200);color:var(--gray-600);border-radius:50%;cursor:pointer;transition:all .15s}.search-clear:hover{background:var(--gray-300);color:var(--gray-800)}.dark .search-clear{background:var(--gray-700);color:var(--gray-400)}.dark .search-clear:hover{background:var(--gray-600);color:var(--gray-200)}.sidebar-filters{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px;flex-shrink:0}.filter-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--gray-300);border-radius:16px;background:var(--white);color:var(--gray-600);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.filter-chip:hover{border-color:var(--gray-400);background:var(--gray-50)}.filter-chip.active{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-700)}.filter-chip.clear{border-color:var(--red-300);color:var(--red-600)}.filter-chip.clear:hover{background:var(--red-50);border-color:var(--red-400)}.dark .filter-chip{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-400)}.dark .filter-chip:hover{background:var(--gray-700);border-color:var(--gray-600)}.dark .filter-chip.active{background:var(--primary-900);border-color:var(--primary-700);color:var(--primary-300)}.site-list-container{flex:1;overflow-y:auto;overflow-x:hidden;border:1px solid var(--gray-200);border-radius:8px;margin:0 8px 8px;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.dark .site-list-container{border-color:var(--gray-600);scrollbar-color:var(--gray-600) transparent}.site-list-container::-webkit-scrollbar{width:6px}.site-list-container::-webkit-scrollbar-track{background:transparent;margin:4px 0}.site-list-container::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.site-list-container::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.dark .site-list-container::-webkit-scrollbar-thumb{background:var(--gray-600)}.dark .site-list-container::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.site-list-inner{position:relative}.site-list-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border:none;background:transparent;text-align:left;cursor:pointer;transition:all .15s;border-bottom:1px solid var(--gray-100)}.site-list-item:hover{background:var(--gray-50)}.site-list-item.active{background:var(--primary-100);border-left:4px solid var(--primary-600);padding-left:12px;box-shadow:inset 0 0 0 2px var(--primary-300);position:relative}.site-list-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(135deg,var(--primary-500),var(--primary-600))}.site-list-item.active .site-item-id{color:var(--primary-700);font-weight:700}.site-list-item.active .site-item-address{color:var(--primary-600)}.site-list-item.active .site-color-dot{box-shadow:0 0 0 3px var(--primary-200)}.dark .site-list-item{border-bottom-color:var(--gray-800)}.dark .site-list-item:hover{background:var(--gray-800)}.dark .site-list-item.active{background:#6366f140;border-left-color:var(--primary-400);box-shadow:inset 0 1px #6366f14d,inset 0 -1px #6366f14d}.dark .site-list-item.active:before{background:linear-gradient(135deg,var(--primary-400),var(--primary-500))}.dark .site-list-item.active .site-item-id{color:var(--primary-200);font-weight:700}.dark .site-list-item.active .site-item-address{color:var(--primary-300)}.dark .site-list-item.active .site-color-dot{box-shadow:0 0 0 3px var(--primary-800)}.site-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:2px solid rgba(0,0,0,.1)}.dark .site-color-dot{border-color:#fff3}.site-color-dot.interactive{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.site-color-dot.interactive:hover{transform:scale(1.25);box-shadow:0 0 0 2px #0000001a}.dark .site-color-dot.interactive:hover{box-shadow:0 0 0 2px #ffffff26}.site-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.site-item-id{font-size:13px;font-weight:600;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .site-item-id{color:var(--gray-100)}.site-item-id-row{display:flex;align-items:center;gap:4px}.site-item-quick-view{padding:2px;background:transparent;border:none;border-radius:3px;color:var(--gray-400);cursor:pointer;opacity:.7;transition:all .15s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.site-item-quick-view:hover{background:var(--gray-100);color:var(--primary-color, #3b82f6);opacity:1}.dark .site-item-quick-view:hover{background:var(--gray-700)}.site-list-item:hover .site-item-quick-view{opacity:1}.site-item-quick-view:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:1px;opacity:1}.site-item-address{font-size:11px;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .site-item-address{color:var(--gray-300)}.site-item-indicators{display:flex;align-items:center;gap:6px;flex-shrink:0}.flag-icon{color:var(--red-500)}.flag-toggle-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--gray-400);border-radius:4px;cursor:pointer;transition:all .15s}.flag-toggle-btn:hover{background:var(--gray-100);color:var(--gray-600)}.flag-toggle-btn.flagged{color:var(--red-500)}.flag-toggle-btn.flagged:hover{background:var(--red-50);color:var(--red-600)}.dark .flag-toggle-btn{color:var(--gray-500)}.dark .flag-toggle-btn:hover{background:var(--gray-700);color:var(--gray-300)}.dark .flag-toggle-btn.flagged{color:var(--red-400)}.dark .flag-toggle-btn.flagged:hover{background:var(--red-900);color:var(--red-300)}.status-badge{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.status-badge.status-j{background:var(--yellow-100);color:var(--yellow-700)}.dark .status-badge.status-j{background:var(--yellow-900);color:var(--yellow-300)}.dark .status-badge.status-t{background:var(--gray-800);color:var(--gray-400)}.site-expand-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--gray-400);border-radius:4px;cursor:pointer;flex-shrink:0;transition:all .15s}.site-expand-toggle:hover{background:var(--gray-100);color:var(--gray-600)}.dark .site-expand-toggle:hover{background:var(--gray-700);color:var(--gray-300)}.chevron-icon{transition:transform .15s ease-out}.replacement-node-row{display:flex;align-items:center;gap:8px;padding:6px 16px 6px 36px;border:none;background:transparent;text-align:left;cursor:pointer;width:100%;height:100%;transition:background .15s}.replacement-node-row:hover{background:var(--gray-50)}.replacement-node-row.active-node{background:var(--primary-50);border-left:3px solid var(--primary-500);padding-left:33px}.dark .replacement-node-row.active-node{background:#6366f126;border-left-color:var(--primary-400)}.dark .replacement-node-row:hover{background:var(--gray-800)}.replacement-node-indicators{display:flex;align-items:center;gap:4px;flex-shrink:0}.node-flag{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--gray-400);border-radius:3px;cursor:pointer;transition:all .15s}.node-flag:hover{background:var(--gray-100);color:var(--gray-600)}.node-flag.flagged{color:var(--red-500)}.node-flag.flagged:hover{background:var(--red-50);color:var(--red-600)}.dark .node-flag{color:var(--gray-500)}.dark .node-flag:hover{background:var(--gray-700);color:var(--gray-300)}.dark .node-flag.flagged{color:var(--red-400)}.dark .node-flag.flagged:hover{background:var(--red-900);color:var(--red-300)}.node-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(0,0,0,.1);cursor:pointer;transition:transform .15s ease}.node-color-dot:hover{transform:scale(1.3)}.dark .node-color-dot{border-color:#fff3}.replacement-node-badge{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--primary-600);color:#fff;font-size:9px;font-weight:700;flex-shrink:0}.dark .replacement-node-badge{background:var(--primary-500)}.replacement-node-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.replacement-node-top-line{display:flex;align-items:center;gap:6px}.replacement-node-address{font-size:10px;color:var(--gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dark .replacement-node-address{color:var(--gray-500)}.replacement-node-id{font-size:12px;font-weight:600;color:var(--gray-700)}.dark .replacement-node-id{color:var(--gray-300)}.replacement-node-meta{font-size:11px;color:var(--gray-500)}.dark .replacement-node-meta{color:var(--gray-400)}.node-connector-rail{position:absolute;left:28px;top:0;bottom:0;width:1px;background:var(--gray-200)}.dark .node-connector-rail{background:var(--gray-700)}.show-more-row{display:flex;align-items:center;gap:8px;padding:4px 16px 4px 36px;border:none;background:transparent;text-align:left;cursor:pointer;width:100%;height:100%;font-size:11px;color:var(--gray-500);transition:background .15s}.show-more-row:hover{color:var(--primary-600);text-decoration:underline}.dark .show-more-row:hover{color:var(--primary-400)}.node-fade-in{animation:nodeSlideIn .15s ease-out both}@keyframes nodeSlideIn{0%{opacity:0}to{opacity:1}}.collapsed-site-list{flex:1;display:flex;flex-direction:column;gap:4px;padding:8px 4px;overflow-y:auto}.collapsed-site-item{display:flex;align-items:center;justify-content:flex-start;gap:6px;width:100%;min-width:44px;height:32px;padding:4px 8px;border:none;background:transparent;border-radius:6px;cursor:pointer;position:relative;transition:all .15s}.collapsed-site-item:hover{background:var(--gray-100)}.collapsed-site-item.active{background:var(--primary-100);box-shadow:inset 0 0 0 2px var(--primary-300)}.collapsed-site-item.active .site-color-dot{box-shadow:0 0 0 2px var(--primary-400)}.collapsed-site-item .site-color-dot{width:10px;height:10px;flex-shrink:0}.collapsed-status{font-size:9px;font-weight:700;padding:2px 4px;border-radius:3px;text-transform:uppercase;flex-shrink:0}.collapsed-status.status-r{background:var(--blue-100);color:var(--blue-700)}.collapsed-status.status-a{background:var(--green-100);color:var(--green-700)}.collapsed-status.status-j{background:var(--yellow-100);color:var(--yellow-700)}.collapsed-status.status-t{background:var(--gray-100);color:var(--gray-600)}.collapsed-site-item .flag-icon{position:absolute;top:2px;right:2px;width:8px;height:8px}.dark .collapsed-site-item:hover{background:var(--gray-800)}.dark .collapsed-site-item.active{background:var(--primary-900);box-shadow:inset 0 0 0 2px var(--primary-700)}.dark .collapsed-site-item.active .site-color-dot{box-shadow:0 0 0 2px var(--primary-500)}.dark .collapsed-status.status-r{background:var(--blue-900);color:var(--blue-300)}.dark .collapsed-status.status-a{background:var(--green-900);color:var(--green-300)}.dark .collapsed-status.status-j{background:var(--yellow-900);color:var(--yellow-300)}.dark .collapsed-status.status-t{background:var(--gray-800);color:var(--gray-400)}.sidebar-hint{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:10px 12px;font-size:11px;color:var(--gray-400);border-top:1px solid var(--gray-200);flex-shrink:0}.dark .sidebar-hint{border-top-color:var(--gray-800)}.sidebar-hint span{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.sidebar-hint .hint-separator{color:var(--gray-300);margin:0 2px}.dark .sidebar-hint .hint-separator{color:var(--gray-600)}.sidebar-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:3px;font-family:inherit;font-size:10px;color:var(--gray-600)}.dark .sidebar-hint kbd{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-400)}@keyframes statusPulse{0%{transform:scale(1)}50%{transform:scale(1.15);box-shadow:0 0 8px rgba(var(--primary-500-rgb, 79, 70, 229),.4)}to{transform:scale(1)}}.status-badge.pulse{animation:statusPulse .2s ease-out}@keyframes rowFlash{0%{background-color:transparent}25%{background-color:rgba(var(--primary-500-rgb, 79, 70, 229),.15)}to{background-color:transparent}}.site-list-item.flash{animation:rowFlash .3s ease-out}.site-list-item.active.flash{animation:none}@keyframes flagBounce{0%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(.9)}75%{transform:scale(1.1)}to{transform:scale(1)}}.flag-icon.bounce{animation:flagBounce .3s ease-out}@keyframes flagFadeIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.flag-icon.fade-in{animation:flagFadeIn .2s ease-out}@keyframes flagFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}.flag-icon.fade-out{animation:flagFadeOut .2s ease-out}.collapsed-status.pulse{animation:statusPulse .2s ease-out}.collapsed-site-item.flash{animation:rowFlash .3s ease-out}@keyframes removeSlide{0%{opacity:1;transform:translate(0);height:auto}50%{opacity:.5;transform:translate(-20px)}to{opacity:0;transform:translate(-100%);height:0;overflow:hidden}}.site-list-item.removing{animation:removeSlide .3s ease-out forwards}.bulk-status-dropdown-container{position:relative}.bulk-status-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;background:var(--primary-500);color:#fff}.bulk-status-trigger:hover,.dark .bulk-status-trigger{background:var(--primary-600)}.dark .bulk-status-trigger:hover{background:var(--primary-700)}.chevron{transition:transform .15s}.chevron.open{transform:rotate(180deg)}.bulk-status-dropdown-menu{min-width:260px;background:var(--white);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden}.dark .bulk-status-dropdown-menu{background:var(--gray-800);border-color:var(--gray-700)}.dropdown-header{padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.dark .dropdown-header{background:var(--gray-900);border-bottom-color:var(--gray-700);color:var(--gray-400)}.dropdown-option{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border:none;background:transparent;text-align:left;cursor:pointer;transition:all .15s;border-bottom:1px solid var(--gray-100)}.dropdown-option:last-child{border-bottom:none}.dropdown-option:hover{background:var(--gray-50)}.dark .dropdown-option{border-bottom-color:var(--gray-700)}.dark .dropdown-option:hover{background:var(--gray-700)}.dropdown-option.temporary{color:var(--gray-700)}.dropdown-option.temporary:hover{background:var(--blue-50)}.dropdown-option.temporary svg{color:var(--blue-500);flex-shrink:0;margin-top:2px}.dark .dropdown-option.temporary{color:var(--gray-300)}.dark .dropdown-option.temporary:hover{background:#3b82f626}.dropdown-option.approved{color:var(--gray-700)}.dropdown-option.approved:hover{background:var(--green-50)}.dropdown-option.approved svg{color:var(--green-500);flex-shrink:0;margin-top:2px}.dark .dropdown-option.approved{color:var(--gray-300)}.dark .dropdown-option.approved:hover{background:#22c55e26}.dropdown-option.rejected{color:var(--gray-700)}.dropdown-option.rejected:hover{background:var(--red-50)}.dropdown-option.rejected svg{color:var(--red-500);flex-shrink:0;margin-top:2px}.dark .dropdown-option.rejected{color:var(--gray-300)}.dark .dropdown-option.rejected:hover{background:#ef444426}.option-content{flex:1;display:flex;flex-direction:column;gap:2px}.option-label{font-size:13px;font-weight:500;color:inherit}.option-hint{font-size:11px;color:var(--gray-500)}.dark .option-hint{color:var(--gray-400)}.export-modal-header-custom{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.dark .export-modal-header-custom{border-bottom-color:var(--gray-700)}.export-header-icon{color:var(--green-600);flex-shrink:0;margin-top:2px}.dark .export-header-icon{color:var(--green-400)}.export-modal-title{font-size:18px;font-weight:600;color:var(--gray-900);margin:0}.dark .export-modal-title{color:var(--gray-100)}.export-modal-subtitle{font-size:13px;color:var(--gray-500);margin:2px 0 0}.dark .export-modal-subtitle{color:var(--gray-400)}.export-modal-body{max-height:55vh;overflow-y:auto;padding-right:4px}.export-section-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400);margin-bottom:8px}.dark .export-section-label{color:var(--gray-500)}.export-scope-section{margin-bottom:20px}.export-scope-options{display:flex;gap:12px}.export-scope-option{flex:1;display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--gray-200);border-radius:8px;cursor:pointer;transition:all .15s}.export-scope-option:hover{border-color:var(--gray-300)}.export-scope-option.active{border-color:var(--primary-500);background:var(--primary-50)}.dark .export-scope-option{border-color:var(--gray-700)}.dark .export-scope-option:hover{border-color:var(--gray-600)}.dark .export-scope-option.active{border-color:var(--primary-500);background:rgba(var(--primary-500-rgb),.1)}.export-scope-option input[type=radio]{accent-color:var(--primary-500)}.scope-label{display:block;font-size:14px;font-weight:500;color:var(--gray-800)}.dark .scope-label{color:var(--gray-200)}.scope-count{display:block;font-size:12px;color:var(--gray-500);margin-top:1px}.export-presets-section{margin-bottom:20px}.export-preset-bar{display:flex;gap:6px;flex-wrap:wrap}.export-preset-pill{padding:6px 14px;border:1px solid var(--gray-200);border-radius:20px;background:var(--white);font-size:13px;font-weight:500;color:var(--gray-600);cursor:pointer;transition:all .15s}.export-preset-pill:hover{border-color:var(--gray-300);background:var(--gray-50)}.export-preset-pill.active{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-700)}.dark .export-preset-pill{border-color:var(--gray-700);background:var(--gray-800);color:var(--gray-400)}.dark .export-preset-pill:hover{border-color:var(--gray-600);background:var(--gray-700)}.dark .export-preset-pill.active{border-color:var(--primary-500);background:rgba(var(--primary-500-rgb),.15);color:var(--primary-300)}.custom-indicator{cursor:default;opacity:.5}.custom-indicator.active{opacity:1;border-color:var(--gray-400);background:var(--gray-100);color:var(--gray-600)}.dark .custom-indicator.active{border-color:var(--gray-600);background:var(--gray-700);color:var(--gray-300)}.export-sheets-section{margin-bottom:8px}.export-sheets-list{display:flex;flex-direction:column;gap:6px}.sheet-card{border:1px solid var(--gray-200);border-radius:8px;padding:10px 14px;transition:all .15s}.sheet-card.enabled{border-color:var(--primary-200);background:var(--primary-50)}.sheet-card.disabled{opacity:.65}.dark .sheet-card{border-color:var(--gray-700)}.dark .sheet-card.enabled{border-color:var(--primary-800);background:rgba(var(--primary-500-rgb),.08)}.sheet-card-header{display:flex;align-items:center;justify-content:space-between}.sheet-card-toggle{display:flex;align-items:center;gap:10px;cursor:pointer}.sheet-card-toggle input[type=checkbox]{accent-color:var(--primary-500);width:16px;height:16px}.sheet-card-name{font-size:14px;font-weight:500;color:var(--gray-800)}.dark .sheet-card-name{color:var(--gray-200)}.sheet-card-meta{display:flex;align-items:center;gap:8px}.sheet-card-col-count{font-size:12px;color:var(--gray-400)}.sheet-card-expand{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:none;background:transparent;font-size:12px;color:var(--primary-600);cursor:pointer;border-radius:4px;transition:all .15s}.sheet-card-expand:hover{background:rgba(var(--primary-500-rgb),.1)}.dark .sheet-card-expand{color:var(--primary-400)}.sheet-card-description{font-size:12px;color:var(--gray-500);margin:4px 0 0;padding-left:26px}.dark .sheet-card-description{color:var(--gray-400)}.sheet-card-columns{margin-top:10px;padding-top:10px;border-top:1px solid var(--gray-200)}.dark .sheet-card-columns{border-top-color:var(--gray-700)}.sheet-card-columns-actions{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sheet-card-columns-actions button{padding:2px 8px;border:1px solid var(--gray-200);border-radius:4px;background:var(--white);font-size:11px;color:var(--gray-600);cursor:pointer;transition:all .15s}.sheet-card-columns-actions button:hover{background:var(--gray-50);border-color:var(--gray-300)}.dark .sheet-card-columns-actions button{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-400)}.col-selection-count{font-size:11px;color:var(--gray-400);margin-left:auto}.sheet-card-columns-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 12px}.column-checkbox{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-700);cursor:pointer;padding:2px 0}.column-checkbox input[type=checkbox]{accent-color:var(--primary-500);width:14px;height:14px}.column-checkbox input:disabled{opacity:.5}.dark .column-checkbox{color:var(--gray-300)}.export-progress{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px}.export-spinner{animation:spin 1s linear infinite;color:var(--primary-500);margin-bottom:16px}.export-progress-text{font-size:16px;font-weight:500;color:var(--gray-800);margin:0 0 4px}.dark .export-progress-text{color:var(--gray-200)}.export-progress-detail{font-size:13px;color:var(--gray-500);margin:0}.export-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px}.export-success-icon{color:var(--green-500);margin-bottom:16px}.export-success-text{font-size:18px;font-weight:600;color:var(--gray-800);margin:0 0 4px}.dark .export-success-text{color:var(--gray-200)}.export-success-detail{font-size:13px;color:var(--gray-500);margin:0}.export-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px}.export-error{display:flex;align-items:center;gap:6px;margin-right:auto;font-size:13px;color:var(--red-600)}.dark .export-error{color:var(--red-400)}.export-modal-btn{padding:8px 18px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.export-modal-btn.secondary{border:1px solid var(--gray-300);background:var(--white);color:var(--gray-700)}.export-modal-btn.secondary:hover{background:var(--gray-50)}.dark .export-modal-btn.secondary{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-300)}.export-modal-btn.primary{border:1px solid var(--green-600);background:var(--green-600);color:#fff}.export-modal-btn.primary:hover{background:var(--green-700);border-color:var(--green-700)}.export-modal-btn.primary:disabled{opacity:.5;cursor:not-allowed}.dark .export-modal-btn.primary{background:var(--green-600);border-color:var(--green-600)}@media (max-width: 640px){.export-scope-options{flex-direction:column}.sheet-card-columns-grid{grid-template-columns:repeat(2,1fr)}}.review-report-config{display:flex;flex-direction:column;gap:20px;padding:4px 0}.config-section{display:flex;flex-direction:column;gap:8px}.config-label{font-size:13px;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px}.config-input{padding:8px 12px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;font-size:14px;outline:none;background:var(--bg-primary, #ffffff);color:var(--text-primary, #111827);transition:border-color .2s}.config-input:focus{border-color:var(--accent-color, #6366f1)}.scope-options{display:flex;gap:8px}.scope-btn{flex:1;padding:8px 12px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;background:var(--bg-primary, #ffffff);color:var(--text-secondary, #6b7280);font-size:13px;cursor:pointer;transition:all .15s}.scope-btn:hover{border-color:var(--accent-color, #6366f1);color:var(--accent-color, #6366f1)}.scope-btn.active{background:var(--accent-color, #6366f1);border-color:var(--accent-color, #6366f1);color:#fff}.display-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}.display-toggle{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;cursor:pointer;transition:all .15s;font-size:13px;color:var(--text-secondary, #6b7280);-webkit-user-select:none;user-select:none}.display-toggle:hover{border-color:var(--accent-color, #6366f1)}.display-toggle.active{background:#6366f114;border-color:var(--accent-color, #6366f1);color:var(--text-primary, #111827)}.display-toggle input[type=checkbox]{display:none}.review-report-generating{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:12px}.review-report-generating .spinner{animation:spin 1s linear infinite;color:var(--accent-color, #6366f1)}.review-report-generating p{font-size:14px;font-weight:600;color:var(--text-primary, #111827)}.generating-sub{font-size:13px!important;font-weight:400!important;color:var(--text-secondary, #6b7280)!important}.review-report-error{padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#dc2626;font-size:13px;margin-bottom:8px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.btn-secondary{background:var(--bg-secondary, #f3f4f6);color:var(--text-primary, #111827)}.btn-secondary:hover{background:var(--bg-tertiary, #e5e7eb)}.btn-primary{background:var(--accent-color, #6366f1);color:#fff}.btn-primary:hover{background:#4f46e5}.site-review-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:var(--toolbar-height, 56px);background:var(--white);border-bottom:1px solid var(--gray-200);flex-shrink:0}.dark .site-review-toolbar{background:var(--gray-900);border-bottom-color:var(--gray-800)}.toolbar-section{display:flex;align-items:center;gap:8px}.toolbar-nav{gap:4px}.nav-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--gray-300);background:var(--white);border-radius:6px;color:var(--gray-700);cursor:pointer;transition:all .15s}.nav-button:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.nav-button:disabled{opacity:.4;cursor:not-allowed}.dark .nav-button{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-300)}.dark .nav-button:hover:not(:disabled){background:var(--gray-700);border-color:var(--gray-600)}.nav-counter{display:flex;align-items:center;gap:2px;min-width:60px;justify-content:center;font-size:14px;color:var(--gray-600)}.nav-counter strong{color:var(--gray-900);font-weight:600}.nav-separator{color:var(--gray-400);margin:0 2px}.dark .nav-counter{color:var(--gray-400)}.dark .nav-counter strong{color:var(--gray-100)}.toolbar-site-info{gap:12px;align-items:center}.site-id{font-size:15px;font-weight:600;color:var(--gray-900)}.site-id-link{display:inline-flex;align-items:center;padding:0;border:none;background:none;font-size:15px;font-weight:600;color:var(--primary-600);cursor:pointer;text-decoration:none;transition:all .15s}.site-id-link:hover{color:var(--primary-700);text-decoration:underline}.dark .site-id-link{color:var(--primary-400)}.dark .site-id-link:hover{color:var(--primary-300)}.site-location{font-size:13px;color:var(--gray-500);margin-top:-1px}.dark .site-location{color:var(--gray-400)}.site-location-link{display:inline-flex;align-items:center;padding:0;border:none;background:none;font-size:13px;color:var(--gray-500);cursor:pointer;text-decoration:none;transition:all .15s;margin-top:-1px}.site-location-link:hover{color:var(--primary-600);text-decoration:underline}.dark .site-location-link{color:var(--gray-400)}.dark .site-location-link:hover{color:var(--primary-400)}.site-location-mismatch-icon{color:var(--amber-500, #f59e0b);margin-left:4px;flex-shrink:0}.site-utility-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--blue-50, #eff6ff);border:1px solid var(--blue-200, #bfdbfe);border-radius:4px;font-size:12px;color:var(--blue-700, #1d4ed8)}.dark .site-utility-badge{background:#2563eb1f;border-color:#2563eb4d;color:var(--blue-300, #93c5fd)}.site-utility-name{font-weight:500;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-utility-type{padding:0 4px;border-radius:3px;font-size:10px;font-weight:600;line-height:16px}.site-id-copy{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--gray-400);border-radius:4px;cursor:pointer;transition:all .15s;flex-shrink:0}.site-id-copy:hover{background:var(--gray-100);color:var(--gray-600)}.site-id-copy.copied{color:var(--green-500)}.dark .site-id-copy:hover{background:var(--gray-800);color:var(--gray-300)}.dark .site-id-copy.copied{color:var(--green-400)}.site-row-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px}.site-row-badge.row{background:var(--green-50, #f0fdf4);color:var(--green-600, #16a34a)}.site-row-badge.private{background:var(--amber-50, #fffbeb);color:var(--amber-600, #d97706)}.dark .site-row-badge.row{background:#16a34a26;color:var(--green-400, #4ade80)}.dark .site-row-badge.private{background:#d9770626;color:var(--amber-400, #fbbf24)}.site-row-badge.unknown{background:var(--gray-100, #f3f4f6);color:var(--gray-400, #9ca3af);cursor:pointer;transition:all .15s}.site-row-badge.unknown:hover{background:var(--gray-200, #e5e7eb);color:var(--gray-500, #6b7280)}.site-row-badge.unknown.loading{cursor:wait}.dark .site-row-badge.unknown{background:#6b728026;color:var(--gray-500, #6b7280)}.dark .site-row-badge.unknown:hover{background:#6b728040;color:var(--gray-400, #9ca3af)}.site-row-badge-spinner{display:inline-block;width:10px;height:10px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:badge-spin .6s linear infinite}@keyframes badge-spin{to{transform:rotate(360deg)}}.no-site{font-size:14px;color:var(--gray-400);font-style:italic}.flag-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--gray-400);border-radius:6px;cursor:pointer;transition:all .15s}.flag-button:hover{background:var(--gray-100);color:var(--gray-600)}.flag-button.flagged{color:var(--red-500)}.flag-button.flagged:hover{background:var(--red-50);color:var(--red-600)}.dark .flag-button:hover{background:var(--gray-800)}.dark .flag-button.flagged:hover{background:var(--red-900)}.toolbar-layouts{gap:12px}.preset-buttons{display:flex;gap:4px;padding:4px;background:var(--gray-100);border-radius:8px}.dark .preset-buttons{background:var(--gray-800)}.preset-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--gray-500);border-radius:6px;cursor:pointer;transition:all .15s}.preset-button:hover{background:var(--white);color:var(--gray-700);box-shadow:0 1px 3px #0000001a}.preset-button.active{background:var(--white);color:var(--primary-600);box-shadow:0 1px 3px #0000001a}.dark .preset-button:hover{background:var(--gray-700);color:var(--gray-300)}.dark .preset-button.active{background:var(--gray-700);color:var(--primary-400)}.config-menu-container{position:relative}.config-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--gray-300);background:var(--white);color:var(--gray-600);border-radius:6px;cursor:pointer;transition:all .15s}.config-button:hover{background:var(--gray-50);border-color:var(--gray-400)}.dark .config-button{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-400)}.dark .config-button:hover{background:var(--gray-700)}.config-dropdown{position:absolute;top:100%;right:0;margin-top:8px;min-width:200px;background:var(--white);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;overflow:hidden}.dark .config-dropdown{background:var(--gray-800);border-color:var(--gray-700)}.dropdown-section{padding:8px}.dropdown-label{display:block;padding:4px 8px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--gray-400)}.dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;text-align:left;font-size:13px;color:var(--gray-700);cursor:pointer;transition:all .15s}.dropdown-item:hover{background:var(--gray-50)}.dark .dropdown-item{color:var(--gray-300)}.dark .dropdown-item:hover{background:var(--gray-700)}.dropdown-item.save-item{color:var(--primary-600)}.dark .dropdown-item.save-item{color:var(--primary-400)}.dropdown-empty{display:block;padding:8px 12px;font-size:12px;color:var(--gray-400);font-style:italic}.dropdown-divider{height:1px;background:var(--gray-200);margin:4px 0}.dark .dropdown-divider{background:var(--gray-700)}.save-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200}.save-modal{background:var(--white);border-radius:12px;padding:24px;width:320px;box-shadow:0 8px 24px #0003}.dark .save-modal{background:var(--gray-800)}.save-modal h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--gray-900)}.dark .save-modal h3{color:var(--gray-100)}.save-modal input{width:100%;padding:10px 12px;border:1px solid var(--gray-300);border-radius:8px;font-size:14px;margin-bottom:16px}.save-modal input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px rgba(var(--primary-500-rgb),.1)}.dark .save-modal input{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-100)}.save-modal-actions{display:flex;justify-content:flex-end;gap:8px}.save-modal-actions button{padding:8px 16px;border:1px solid var(--gray-300);background:var(--white);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.save-modal-actions button:hover{background:var(--gray-50)}.save-modal-actions button.primary{border-color:var(--primary-500);background:var(--primary-500);color:var(--white)}.save-modal-actions button.primary:hover{background:var(--primary-600)}.dark .save-modal-actions button{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-300)}.dark .save-modal-actions button:hover{background:var(--gray-600)}.dark .save-modal-actions button.primary{background:var(--primary-600);border-color:var(--primary-600);color:var(--white)}.toolbar-batch-actions{gap:8px;margin:0 16px;padding:0 16px;border-left:1px solid var(--gray-200);border-right:1px solid var(--gray-200)}.dark .toolbar-batch-actions{border-left-color:var(--gray-700);border-right-color:var(--gray-700)}.batch-action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.batch-accept-btn{background:var(--green-500);color:#fff}.batch-accept-btn:hover{background:var(--green-600)}.batch-reject-btn{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.batch-reject-btn:hover{background:var(--gray-200);border-color:var(--gray-400)}.dark .batch-reject-btn{background:var(--gray-800);color:var(--gray-300);border-color:var(--gray-600)}.dark .batch-reject-btn:hover{background:var(--gray-700)}.batch-export-btn{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.batch-export-btn:hover{background:var(--gray-200);border-color:var(--gray-400)}.dark .batch-export-btn{background:var(--gray-800);color:var(--gray-300);border-color:var(--gray-600)}.dark .batch-export-btn:hover{background:var(--gray-700)}.batch-report-btn{background:#6366f11a;color:#6366f1;border:1px solid rgba(99,102,241,.3)}.batch-report-btn:hover{background:#6366f12e;border-color:#6366f180}.dark .batch-report-btn{background:#6366f126;color:#818cf8;border-color:#6366f14d}.dark .batch-report-btn:hover{background:#6366f140}@media (max-width: 1200px){.batch-action-btn span{display:none}.batch-action-btn{padding:8px}}.site-map-panel{position:relative;width:100%;height:100%}.map-container{width:100%;height:100%}.map-type-toggle{position:absolute;top:10px;right:10px;display:flex;background:var(--white);border-radius:6px;box-shadow:0 2px 6px #00000026;z-index:10;overflow:hidden}.dark .map-type-toggle{background:var(--gray-800);box-shadow:0 2px 6px #0000004d}.toggle-btn{display:flex;align-items:center;justify-content:center;width:36px;height:32px;border:none;background:transparent;color:var(--gray-500);cursor:pointer;transition:all .15s}.toggle-btn:hover{background:var(--gray-100);color:var(--gray-700)}.toggle-btn.active{background:var(--primary-500);color:var(--white)}.toggle-btn.active:hover{background:var(--primary-600)}.toggle-btn:first-child{border-right:1px solid var(--gray-200)}.dark .toggle-btn{color:var(--gray-400)}.dark .toggle-btn:hover{background:var(--gray-700);color:var(--gray-200)}.dark .toggle-btn.active{background:var(--primary-600);color:var(--white)}.dark .toggle-btn:first-child{border-right-color:var(--gray-700)}.site-move-toggle{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 2px 6px #0000001a;z-index:10;cursor:pointer;font-size:12px;font-weight:500;color:var(--gray-600);transition:all .15s}.site-move-toggle:hover{background:#fff;border-color:var(--gray-300);color:var(--gray-800)}.site-move-toggle.active{background:var(--primary-50);color:var(--primary-700);border-color:var(--primary-200)}.dark .site-move-toggle{background:#1f2937eb;border-color:var(--gray-600);color:var(--gray-300)}.dark .site-move-toggle:hover{background:#1f2937;color:var(--gray-100)}.dark .site-move-toggle.active{background:var(--primary-900);color:var(--primary-300);border-color:var(--primary-700)}.site-move-toggle.drag-active{background:#f59e0be6;border-color:#f59e0b80;color:#fff}.site-move-toggle.drag-active:hover{background:#f59e0b}.dark .site-move-toggle.drag-active{background:#f59e0bd9;border-color:#f59e0b66;color:#fff}.site-move-save-bar{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--white);border-top:2px solid var(--green-500);box-shadow:0 -2px 8px #0000001a;z-index:10;animation:siteMoveSaveBarSlideUp .2s ease-out}@keyframes siteMoveSaveBarSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.dark .site-move-save-bar{background:var(--gray-800);border-top-color:var(--green-600)}.save-bar-distance{font-size:13px;font-weight:600;color:var(--gray-700)}.dark .save-bar-distance{color:var(--gray-200)}.save-bar-actions{display:flex;gap:8px}.save-bar-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.save-bar-btn.revert{background:var(--gray-100);border:1px solid var(--gray-300);color:var(--gray-600)}.save-bar-btn.revert:hover{background:var(--gray-200);color:var(--gray-800)}.save-bar-btn.save{background:var(--green-500);border:1px solid var(--green-600);color:var(--white)}.save-bar-btn.save:hover{background:var(--green-600)}.save-bar-btn:disabled{opacity:.5;cursor:not-allowed}.dark .save-bar-btn.revert{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-300)}.dark .save-bar-btn.save{background:var(--green-600);border-color:var(--green-700)}.site-move-distance-badge{padding:4px 10px;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:12px;font-size:11px;font-weight:600;color:#fff;white-space:nowrap;pointer-events:none}.node-network-toggle{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 2px 6px #0000001a;z-index:10;cursor:pointer;font-size:12px;font-weight:500;color:var(--gray-600);transition:all .15s}.node-network-toggle:hover{background:#fff;border-color:var(--gray-300);color:var(--gray-800)}.node-network-toggle.active{background:#7c3aed1a;color:#7c3aed;border-color:#7c3aed4d}.node-network-toggle.active:hover{background:#7c3aed26}.dark .node-network-toggle{background:#1f2937eb;border-color:var(--gray-600);color:var(--gray-300)}.dark .node-network-toggle:hover{background:#1f2937;color:var(--gray-100)}.dark .node-network-toggle.active{background:#7c3aed33;color:#a78bfa;border-color:#7c3aed66}.node-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#7c3aed;color:#fff;border-radius:9px;font-size:10px;font-weight:700}.dark .node-count-badge{background:#8b5cf6}.node-distance-badge{padding:3px 8px;background:#7c3aedd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:10px;font-size:10px;font-weight:600;color:#fff;white-space:nowrap;pointer-events:none}.street-view-wrapper,.street-view-container{position:absolute;top:0;right:0;bottom:0;left:0}.sv-drag-follow-scrim{position:absolute;bottom:0;left:0;right:0;height:28px;background:linear-gradient(transparent,#0009);display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:500;letter-spacing:.02em;z-index:10;pointer-events:none;animation:scrimFadeIn .2s ease-out}@keyframes scrimFadeIn{0%{opacity:0}to{opacity:1}}.street-view-unavailable-bg{background:var(--gray-100)}.dark .street-view-unavailable-bg{background:var(--gray-800)}.street-view-unavailable{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--gray-100);color:var(--gray-500);font-size:13px}.dark .street-view-unavailable{background:var(--gray-800);color:var(--gray-400)}.capture-button{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;background:var(--primary-500);color:var(--white);border:none;border-radius:50%;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:all .15s;z-index:10}.capture-button:hover:not(:disabled){background:var(--primary-600);transform:translate(-50%) scale(1.05);box-shadow:0 6px 16px #00000059}.capture-button:disabled{opacity:.7;cursor:not-allowed}.capture-button.capturing{background:var(--gray-500)}.capture-toast{position:absolute;bottom:72px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 12px 8px 10px;background:var(--green-600);color:var(--white);border-radius:24px;font-size:13px;font-weight:500;box-shadow:0 4px 12px #00000040;z-index:10;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.capture-toast .toast-icon{flex-shrink:0}.capture-toast .edit-button{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#fff3;border:none;border-radius:16px;color:var(--white);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.capture-toast .edit-button:hover{background:#ffffff4d}.capture-error{position:absolute;bottom:72px;left:50%;transform:translate(-50%);padding:8px 16px;background:var(--red-600);color:var(--white);border-radius:8px;font-size:13px;box-shadow:0 4px 12px #00000040;z-index:10}.image-count-badge{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:4px;padding:6px 10px;background:#000000b3;color:var(--white);border:none;border-radius:16px;font-size:12px;font-weight:600;z-index:10;cursor:pointer;transition:all .15s}.image-count-badge:hover{background:var(--primary-600);transform:scale(1.05)}.image-gallery-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.image-gallery-modal{display:flex;flex-direction:column;max-width:90vw;max-height:90vh;background:var(--gray-900);border-radius:12px;overflow:hidden;box-shadow:0 25px 50px #00000080}.gallery-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--gray-800);border-bottom:1px solid var(--gray-700)}.gallery-title{font-size:14px;font-weight:600;color:var(--white)}.gallery-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--gray-400);border-radius:6px;cursor:pointer;transition:all .15s}.gallery-close:hover{background:var(--gray-700);color:var(--white)}.gallery-content{position:relative;display:flex;align-items:center;justify-content:center;min-width:400px;min-height:300px;padding:16px}.gallery-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:4px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.gallery-loading,.gallery-empty{color:var(--gray-400);font-size:14px}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:#00000080;color:var(--white);border-radius:50%;cursor:pointer;transition:all .15s}.gallery-nav:hover{background:var(--primary-600)}.gallery-prev{left:8px}.gallery-next{right:8px}.gallery-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--gray-800);border-top:1px solid var(--gray-700)}.gallery-footer-left{display:flex;align-items:center;gap:8px}.gallery-date{font-size:12px;color:var(--gray-400)}.gallery-edit-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--primary-600);color:var(--white);border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.gallery-edit-btn:hover{background:var(--primary-500);transform:translateY(-1px)}.sv-coverage-map{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair;animation:coverageMapIn .35s ease-out}@keyframes coverageMapIn{0%{opacity:0}to{opacity:1}}.sv-coverage-hint{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:6px;padding:6px 12px;background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--white);border-radius:20px;font-size:12px;font-weight:500;z-index:10;animation:hintFadeIn .3s ease-out,hintAutoFade 1s ease-out 5s forwards;pointer-events:none}.street-view-wrapper:hover .sv-coverage-hint{opacity:1;animation:none}@keyframes hintFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes hintAutoFade{0%{opacity:1}to{opacity:0}}.dark .sv-coverage-hint{background:#000000b3}.sv-coverage-site-badge{position:absolute;top:10px;right:10px;padding:4px 10px;background:#000000a6;color:var(--white);border-radius:12px;font-size:11px;font-weight:600;z-index:10;letter-spacing:.02em}.sv-coverage-loading{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#00000080;border-radius:50%;z-index:10}.sv-coverage-spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--primary-500);border-radius:50%;animation:svSpin .8s linear infinite}@keyframes svSpin{to{transform:rotate(360deg)}}.sv-coverage-miss{position:absolute;top:44px;left:10px;padding:5px 12px;background:#000000a6;color:var(--gray-300);border-radius:16px;font-size:12px;font-weight:500;z-index:10;animation:hintFadeIn .2s ease-out}.dark .sv-coverage-miss{background:#000000bf}.coverage-click-ripple{position:absolute;width:40px;height:40px;margin-left:-20px;margin-top:-20px;border-radius:50%;background:#3b82f640;pointer-events:none;z-index:10;animation:coverageRipple .6s ease-out forwards}@keyframes coverageRipple{0%{transform:scale(.3);opacity:1}to{transform:scale(2.5);opacity:0}}.sv-back-to-coverage{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:4px;padding:6px 12px 6px 8px;background:#0009;color:var(--white);border:none;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;z-index:10;transition:all .15s}.sv-back-to-coverage:hover{background:#000c;transform:scale(1.03)}.sv-coverage-marker{animation:markerDrop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes markerDrop{0%{transform:translate(-50%,-100%) translateY(-30px);opacity:0}to{transform:translate(-50%,-100%) translateY(0);opacity:1}}.site-info-edit-content{display:flex;flex-direction:column;gap:12px;max-height:600px;overflow-y:auto;padding:0 4px}.unsaved-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--amber-50);border:1px solid var(--amber-200);border-radius:6px;color:var(--amber-700);font-size:13px;font-weight:500}.unsaved-banner svg{flex-shrink:0;color:var(--amber-500)}.dark .unsaved-banner{background:#422006;border-color:#b45309;color:#fcd34d}.dark .unsaved-banner svg{color:#fbbf24}.edit-sections{display:flex;flex-direction:column;gap:6px}.edit-section{border:1px solid var(--gray-200);border-radius:10px;overflow:hidden;background:var(--white);transition:box-shadow .2s ease,border-color .2s ease}.edit-section:hover{border-color:var(--gray-300)}.edit-section.has-expanded{box-shadow:0 2px 8px #0000000f}.dark .edit-section{border-color:var(--gray-700);background:var(--gray-850, #1a1f2e)}.dark .edit-section:hover{border-color:var(--gray-600)}.dark .edit-section.has-expanded{box-shadow:0 2px 12px #0000004d}.section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;border:none;background:var(--gray-50);cursor:pointer;transition:background .15s ease}.section-header:hover{background:var(--gray-100)}.section-header.expanded{border-bottom:1px solid var(--gray-200);background:var(--gray-100)}.dark .section-header{background:var(--gray-800)}.dark .section-header:hover{background:var(--gray-750, #2d3748)}.dark .section-header.expanded{border-bottom-color:var(--gray-700);background:var(--gray-750, #2d3748)}.section-header-left{display:flex;align-items:center;gap:8px;color:var(--gray-700)}.dark .section-header-left{color:var(--gray-200)}.section-icon{display:flex;align-items:center;justify-content:center;color:var(--gray-500)}.dark .section-icon{color:var(--gray-400)}.section-title{font-size:13px;font-weight:600;letter-spacing:-.01em}.change-indicator{width:8px;height:8px;background:var(--primary-500);border-radius:50%;flex-shrink:0;animation:pulseIndicator 2s ease-in-out infinite}@keyframes pulseIndicator{0%,to{opacity:1}50%{opacity:.5}}.section-content{padding:12px 14px;background:var(--white);animation:sectionExpand .15s ease-out}@keyframes sectionExpand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dark .section-content{background:var(--gray-850, #1a1f2e)}.form-row{margin-bottom:12px}.form-row.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-row.three-col{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.coordinate-display-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;cursor:pointer;transition:all .15s ease}.coordinate-display-button:hover{background:var(--primary-50);border-color:var(--primary-300)}.coordinate-display-button:focus{outline:none;border-color:var(--primary-400);box-shadow:0 0 0 3px #3b82f626}.dark .coordinate-display-button{background:var(--gray-800);border-color:var(--gray-600)}.dark .coordinate-display-button:hover{background:var(--gray-750, #2d3748);border-color:var(--primary-500)}.dark .coordinate-display-button:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #3b82f640}.coordinate-button-content{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.coordinate-button-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500)}.dark .coordinate-button-label{color:var(--gray-400)}.coordinate-button-value{font-size:14px;font-weight:600;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;color:var(--gray-900)}.dark .coordinate-button-value{color:var(--gray-100)}.coordinate-button-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:var(--primary-100);color:var(--primary-600);transition:all .15s ease}.coordinate-display-button:hover .coordinate-button-icon{background:var(--primary-500);color:var(--white)}.dark .coordinate-button-icon{background:var(--primary-900);color:var(--primary-300)}.dark .coordinate-display-button:hover .coordinate-button-icon{background:var(--primary-600);color:var(--white)}.coordinate-reset{margin-top:8px}.reset-button{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--gray-200);border-radius:6px;background:var(--white);color:var(--gray-600);font-size:12px;cursor:pointer;transition:all .15s ease}.reset-button:hover{border-color:var(--primary-300);background:var(--primary-50);color:var(--primary-600)}.dark .reset-button{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-300)}.dark .reset-button:hover{background:var(--primary-900);border-color:var(--primary-500);color:var(--primary-300)}.distance-moved{color:var(--gray-500);font-size:11px;margin-left:4px}.dark .distance-moved{color:var(--gray-400)}.toggle-field{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--gray-700)}.toggle-field input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-500)}.toggle-field svg{color:var(--gray-400);transition:color .15s ease}.toggle-field svg.flagged{color:var(--red-500)}.dark .toggle-field{color:var(--gray-200)}.dark .toggle-field svg{color:var(--gray-500)}.dark .toggle-field svg.flagged{color:var(--red-400)}.field-label{display:block;margin-bottom:6px;font-size:12px;font-weight:500;color:var(--gray-700)}.color-picker{display:flex;gap:6px;flex-wrap:wrap}.color-swatch{width:26px;height:26px;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:var(--gray-900);box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--gray-400)}.dark .color-swatch.selected{border-color:var(--white);box-shadow:0 0 0 2px var(--gray-900),0 0 0 4px var(--gray-500)}.color-swatch.clear{background:linear-gradient(135deg,var(--gray-200) 0%,var(--gray-200) 45%,var(--red-400) 45%,var(--red-400) 55%,var(--gray-200) 55%)}.dark .color-swatch.clear{background:linear-gradient(135deg,var(--gray-700) 0%,var(--gray-700) 45%,var(--red-500) 45%,var(--red-500) 55%,var(--gray-700) 55%)}.info-note{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:var(--blue-50);border-radius:6px;color:var(--blue-700);font-size:12px;margin-bottom:12px}.info-note svg{flex-shrink:0;margin-top:1px;color:var(--blue-500)}.dark .info-note{background:#1e40af33;border:1px solid rgba(59,130,246,.3);color:#93c5fd}.dark .info-note svg{color:#60a5fa}.notes-section{display:flex;flex-direction:column;gap:8px}.notes-label{font-size:12px;font-weight:500;color:var(--gray-700);margin-bottom:4px}.dark .notes-label{color:var(--gray-300)}.notes-textarea{width:100%;min-height:300px;padding:14px;border:1px solid var(--gray-200);border-radius:8px;background:var(--white);color:var(--gray-900);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.6;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.notes-textarea:focus{outline:none;border-color:var(--primary-400);box-shadow:0 0 0 3px #3b82f626}.dark .notes-textarea:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #3b82f640}.dark .notes-textarea::placeholder{color:var(--gray-500)}.notes-display{width:100%;min-height:200px;max-height:400px;overflow-y:auto;padding:14px 16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.7;color:var(--gray-800);white-space:pre-wrap;word-wrap:break-word}.dark .notes-display{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-200)}.notes-empty{color:var(--gray-500);font-style:italic}.dark .notes-empty{color:var(--gray-400)}.notes-character-count{font-size:11px;color:var(--gray-500);text-align:right}.dark .notes-character-count{color:var(--gray-400)}.tags-editor{display:flex;flex-direction:column;gap:10px}.current-tags{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 10px;background:var(--primary-100);border-radius:14px;color:var(--primary-700);font-size:12px;font-weight:500}.dark .tag-chip{background:var(--primary-900);color:var(--primary-200)}.tag-remove-btn{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--primary-500);cursor:pointer;transition:all .15s ease}.tag-remove-btn:hover{background:var(--primary-200);color:var(--primary-700)}.dark .tag-remove-btn{color:var(--primary-400)}.dark .tag-remove-btn:hover{background:var(--primary-800);color:var(--primary-200)}.no-tags-message{font-size:12px;color:var(--gray-500);font-style:italic}.dark .no-tags-message{color:var(--gray-400)}.add-tag-row{margin-top:4px}.dark .site-info-edit-modal-footer button[class*=primary],.dark .site-info-edit-modal-footer button:not([disabled])[class*=primary]{background:var(--primary-500);color:var(--white);border-color:var(--primary-500)}.dark .site-info-edit-modal-footer button[class*=primary]:hover:not([disabled]){background:var(--primary-400);border-color:var(--primary-400)}.dark .site-info-edit-modal-footer button[class*=secondary],.dark .site-info-edit-modal-footer button[class*=ghost]{background:var(--gray-700);color:var(--gray-100);border-color:var(--gray-600)}.dark .site-info-edit-modal-footer button[class*=secondary]:hover:not([disabled]),.dark .site-info-edit-modal-footer button[class*=ghost]:hover:not([disabled]){background:var(--gray-600);color:var(--white);border-color:var(--gray-500)}.dark .site-info-edit-modal-footer button[disabled]{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.form-row.two-col,.form-row.three-col{grid-template-columns:1fr}.coordinate-display-button{flex-direction:column;align-items:stretch;gap:8px}.coordinate-button-icon{align-self:flex-end}.notes-textarea{min-height:200px}.notes-display{min-height:150px}}.site-info-panel{height:100%;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.replacement-node-banner{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--primary-50);border:1px solid var(--primary-200);border-radius:8px}.dark .replacement-node-banner{background:#6366f11a;border-color:var(--primary-800)}.node-banner-back{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:transparent;color:var(--primary-600);font-size:12px;font-weight:500;cursor:pointer;transition:color .15s}.node-banner-back:hover{color:var(--primary-700)}.dark .node-banner-back{color:var(--primary-400)}.dark .node-banner-back:hover{color:var(--primary-300)}.node-banner-info{display:flex;align-items:center;gap:8px}.node-banner-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--primary-700);background:var(--primary-100);padding:2px 6px;border-radius:4px}.dark .node-banner-label{color:var(--primary-300);background:var(--primary-900)}.node-banner-distance{font-size:12px;color:var(--gray-600)}.dark .node-banner-distance{color:var(--gray-400)}.info-section{display:flex;flex-direction:column;gap:8px}.section-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--gray-500)}.section-header{display:flex;align-items:center;justify-content:space-between}.site-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.site-id-header{margin:0;font-size:18px;font-weight:700;color:var(--gray-900)}.dark .site-id-header{color:var(--gray-100)}.edit-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--gray-200);border-radius:8px;background:var(--gray-50);color:var(--gray-500);cursor:pointer;transition:all .15s;flex-shrink:0}.edit-btn:hover{border-color:var(--primary-300);background:var(--primary-50);color:var(--primary-600)}.dark .edit-btn{border-color:var(--gray-600);background:var(--gray-700);color:var(--gray-300)}.dark .edit-btn:hover{border-color:var(--primary-400);background:var(--primary-900);color:var(--primary-300)}.site-address{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--gray-600)}.dark .site-address{color:var(--gray-300)}.site-coords{margin:0;font-size:11px;font-family:monospace;color:var(--gray-400)}.site-moved-info{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px}.moved-badge{display:inline-flex;align-items:center;padding:2px 8px;background:#fffbeb;border:1px solid #FDE68A;border-radius:10px;font-size:11px;font-weight:600;color:#b45309}.dark .moved-badge{background:#b4530926;border-color:#b453094d;color:#fbbf24}.moved-distance{font-size:11px;font-weight:600;color:#b45309}.dark .moved-distance{color:#fbbf24}.site-coords-original{width:100%;margin:2px 0 0;font-size:11px;font-family:monospace;font-style:italic;color:var(--gray-400)}.site-pending-move-info{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:8px 10px;background:#eff6ff;border:1px solid #BFDBFE;border-radius:8px;animation:pendingMoveIn .2s ease-out}@keyframes pendingMoveIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dark .site-pending-move-info{background:#3b82f61a;border-color:#3b82f640}.pending-badge{display:inline-flex;align-items:center;align-self:flex-start;padding:2px 8px;background:#dbeafe;border:1px solid #93C5FD;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#1d4ed8}.dark .pending-badge{background:#3b82f633;border-color:#3b82f64d;color:#60a5fa}.pending-distance{font-size:11px;font-weight:600;color:#1d4ed8}.dark .pending-distance{color:#60a5fa}.site-address-updated{animation:address-flash .6s ease}@keyframes address-flash{0%,to{background:transparent}30%{background:#3b82f626}}.status-controls{display:flex;gap:8px}.status-select{flex:1;padding:8px 12px;border:1px solid var(--gray-300);border-radius:6px;font-size:13px;background:var(--white);color:var(--gray-900);cursor:pointer}.dark .status-select{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-100)}.flag-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--gray-300);border-radius:6px;background:var(--white);color:var(--gray-400);cursor:pointer;transition:all .15s}.flag-toggle:hover{border-color:var(--gray-400);color:var(--gray-600)}.flag-toggle.active{border-color:var(--red-300);background:var(--red-50);color:var(--red-500)}.dark .flag-toggle{background:var(--gray-800);border-color:var(--gray-700)}.dark .flag-toggle.active{background:var(--red-900);border-color:var(--red-700)}.color-control{position:relative}.color-current{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--gray-300);border-radius:6px;background:var(--white);cursor:pointer;transition:all .15s}.color-current:hover{border-color:var(--gray-400)}.dark .color-current{background:var(--gray-800);border-color:var(--gray-700)}.color-swatch{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}.color-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.color-picker{position:absolute;top:100%;left:0;margin-top:4px;display:flex;gap:4px;padding:8px;background:var(--white);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100}.dark .color-picker{background:var(--gray-800);border-color:var(--gray-700)}.color-option{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:2px solid transparent;border-radius:50%;background:transparent;cursor:pointer;transition:all .15s}.color-option:hover{transform:scale(1.1)}.color-option.active{border-color:var(--gray-900)}.dark .color-option.active{border-color:var(--white)}.color-option .color-swatch{width:20px;height:20px}.color-option svg{position:absolute;color:var(--white)}.tags-list{display:flex;flex-wrap:wrap;gap:6px}.tag-badge{padding:4px 10px;background:var(--gray-100);border-radius:12px;font-size:12px;color:var(--gray-700)}.dark .tag-badge{background:var(--gray-800);color:var(--gray-300)}.no-tags{font-size:12px;color:var(--gray-400);font-style:italic}.notes-section{flex:1;min-height:0;display:flex;flex-direction:column}.add-note-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:var(--primary-100);color:var(--primary-600);border-radius:4px;cursor:pointer;transition:all .15s}.add-note-btn:hover{background:var(--primary-200)}.dark .add-note-btn{background:var(--primary-900);color:var(--primary-400)}.add-note-form{display:flex;flex-direction:column;gap:8px}.add-note-form textarea{width:100%;min-height:80px;padding:10px;border:1px solid var(--gray-300);border-radius:6px;font-size:13px;resize:vertical}.dark .add-note-form textarea{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-100)}.add-note-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.keyboard-hint{margin-right:auto;font-size:11px;color:var(--gray-400)}.dark .keyboard-hint{color:var(--gray-500)}.add-note-actions button{padding:6px 12px;border:1px solid var(--gray-300);border-radius:4px;font-size:12px;background:var(--white);cursor:pointer}.add-note-actions button.primary{background:var(--primary-500);border-color:var(--primary-500);color:var(--white)}.notes-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.note-item{padding:10px;background:var(--gray-50);border-radius:6px}.dark .note-item{background:var(--gray-800)}.note-content{margin:0;font-size:13px;color:var(--gray-700);line-height:1.4}.dark .note-content{color:var(--gray-300)}.note-meta{display:block;margin-top:4px;font-size:11px;color:var(--gray-400)}.no-notes,.notes-loading{font-size:12px;color:var(--gray-400);font-style:italic}.notes-actions{display:flex;align-items:center;gap:6px}.note-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--primary-100);color:var(--primary-700);border-radius:9px;font-size:11px;font-weight:600;margin-left:6px}.dark .note-count-badge{background:var(--primary-900);color:var(--primary-300)}.view-all-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:1px solid var(--gray-200);border-radius:4px;font-size:11px;color:var(--gray-600);cursor:pointer;transition:all .15s}.view-all-btn:hover{background:var(--gray-50);border-color:var(--primary-300);color:var(--primary-600)}.dark .view-all-btn{border-color:var(--gray-700);color:var(--gray-400)}.dark .view-all-btn:hover{background:var(--gray-800);border-color:var(--primary-500);color:var(--primary-400)}.view-more-notes{display:block;width:100%;padding:8px;background:transparent;border:1px dashed var(--gray-300);border-radius:6px;font-size:12px;color:var(--primary-600);text-align:center;cursor:pointer;transition:all .15s}.view-more-notes:hover{background:var(--primary-50);border-color:var(--primary-300)}.dark .view-more-notes{border-color:var(--gray-700);color:var(--primary-400)}.dark .view-more-notes:hover{background:var(--primary-900);border-color:var(--primary-500)}.add-note-actions button.primary:disabled{opacity:.5;cursor:not-allowed}.field-value{font-size:13px;color:var(--gray-700)}.dark .field-value{color:var(--gray-200)}.field-value.timestamp{font-size:12px;font-family:monospace;color:var(--gray-500)}.dark .field-value.timestamp{color:var(--gray-400)}.contact-editor{display:flex;flex-direction:column;gap:12px}.no-contacts{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;background:var(--gray-50);border:2px dashed var(--gray-200);border-radius:10px;color:var(--gray-400);text-align:center}.no-contacts p{margin:0;font-size:14px;color:var(--gray-500)}.dark .no-contacts{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-500)}.dark .no-contacts p{color:var(--gray-400)}.contact-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--white);border:1px solid var(--gray-200);border-radius:8px;transition:border-color .15s,box-shadow .15s}.contact-card:hover{border-color:var(--gray-300)}.contact-card.editing,.contact-card.adding{flex-direction:column;background:var(--gray-50);border-color:var(--primary-300)}.dark .contact-card{background:var(--gray-800);border-color:var(--gray-700)}.dark .contact-card:hover{border-color:var(--gray-600)}.dark .contact-card.editing,.dark .contact-card.adding{background:var(--gray-850);border-color:var(--primary-600)}.contact-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.contact-name{font-size:14px;font-weight:600;color:var(--gray-900)}.contact-title{font-size:13px;color:var(--gray-600)}.dark .contact-title{color:var(--gray-400)}.contact-role{display:inline-block;padding:2px 8px;background:var(--primary-50);border-radius:4px;font-size:11px;font-weight:500;color:var(--primary-700);margin-top:4px;align-self:flex-start}.dark .contact-role{background:var(--primary-900);color:var(--primary-300)}.contact-email,.contact-phone{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-500);text-decoration:none;transition:color .15s}.contact-email:hover,.contact-phone:hover{color:var(--primary-600)}.dark .contact-email,.dark .contact-phone{color:var(--gray-400)}.dark .contact-email:hover,.dark .contact-phone:hover{color:var(--primary-400)}.contact-actions{display:flex;gap:4px;flex-shrink:0}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--gray-400);cursor:pointer;transition:all .15s}.icon-btn:hover{background:var(--gray-100);color:var(--gray-600)}.icon-btn.edit:hover{background:var(--blue-50);color:var(--blue-600)}.icon-btn.delete:hover{background:var(--red-50);color:var(--red-600)}.dark .icon-btn{color:var(--gray-500)}.dark .icon-btn:hover{background:var(--gray-700);color:var(--gray-300)}.dark .icon-btn.edit:hover{background:var(--blue-900);color:var(--blue-400)}.dark .icon-btn.delete:hover{background:var(--red-900);color:var(--red-400)}.contact-form{width:100%}.contact-form .form-row{margin-bottom:12px}.contact-form .form-row:last-child{margin-bottom:0}.contact-form .form-row.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.role-field{position:relative}.clear-custom{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;color:var(--gray-400);cursor:pointer;transition:color .15s}.clear-custom:hover{color:var(--gray-600)}.dark .clear-custom:hover{color:var(--gray-300)}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--gray-200)}.dark .form-actions{border-top-color:var(--gray-700)}.add-contact-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border:2px dashed var(--gray-200);border-radius:8px;background:transparent;color:var(--gray-500);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.add-contact-btn:hover{border-color:var(--primary-300);background:var(--primary-50);color:var(--primary-600)}.dark .add-contact-btn{border-color:var(--gray-700);color:var(--gray-400)}.dark .add-contact-btn:hover{border-color:var(--primary-600);background:var(--primary-900);color:var(--primary-400)}.jurisdiction-edit-content{display:flex;flex-direction:column;gap:16px}.multi-site-warning{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--amber-50);border:1px solid var(--amber-200);border-radius:8px;color:var(--amber-700);font-size:13px}.multi-site-warning svg{flex-shrink:0;color:var(--amber-500)}.multi-site-warning strong{font-weight:600}.dark .multi-site-warning{background:#f59e0b1a;border-color:var(--amber-800);color:var(--amber-400)}.dark .multi-site-warning svg{color:var(--amber-400)}.unsaved-banner{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--blue-50);border:1px solid var(--blue-200);border-radius:8px;color:var(--blue-700);font-size:13px;font-weight:500}.unsaved-banner svg{flex-shrink:0;color:var(--blue-500)}.dark .unsaved-banner{background:#3b82f61a;border-color:var(--blue-800);color:var(--blue-400)}.dark .unsaved-banner svg{color:var(--blue-400)}.tab-navigation{display:flex;gap:4px;border-bottom:1px solid var(--gray-200);padding-bottom:0;margin-bottom:0}.dark .tab-navigation{border-bottom-color:var(--gray-700)}.tab-button{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:transparent;color:var(--gray-600);font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.tab-button:hover{color:var(--gray-900)}.tab-button.active{color:var(--primary-600);border-bottom-color:var(--primary-500)}.tab-button svg{opacity:.7}.tab-button.active svg{opacity:1}.dark .tab-button{color:var(--gray-400)}.dark .tab-button:hover{color:var(--gray-200)}.dark .tab-button.active{color:var(--primary-400);border-bottom-color:var(--primary-400)}.tab-badge{display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--primary-100);color:var(--primary-700);border-radius:9px;font-size:11px;font-weight:600}.dark .tab-badge{background:var(--primary-900);color:var(--primary-300)}.tab-content{min-height:300px;max-height:400px;overflow-y:auto}.tab-panel{padding:16px 0;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.form-row{margin-bottom:16px}.form-row:last-child{margin-bottom:0}.form-row.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full-research-link{display:inline-flex;align-items:center;gap:6px;margin-top:16px;padding:10px 14px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;color:var(--primary-600);font-size:13px;font-weight:500;text-decoration:none;transition:all .15s}.full-research-link:hover{background:var(--primary-50);border-color:var(--primary-200);color:var(--primary-700)}.dark .full-research-link{background:var(--gray-800);border-color:var(--gray-700);color:var(--primary-400)}.dark .full-research-link:hover{background:var(--primary-900);border-color:var(--primary-700);color:var(--primary-300)}.processing-time-section{padding:16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;margin-bottom:16px}.dark .processing-time-section{background:var(--gray-800);border-color:var(--gray-700)}.section-title{display:flex;align-items:center;gap:6px;margin:0 0 16px;font-size:14px;font-weight:600;color:var(--gray-800)}.dark .section-title{color:var(--gray-200)}.date-field{display:flex;flex-direction:column;gap:4px}.today-btn{align-self:flex-start;padding:4px 10px;border:1px solid var(--gray-200);border-radius:4px;background:var(--white);color:var(--gray-600);font-size:12px;cursor:pointer;transition:all .15s}.today-btn:hover{background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-600)}.dark .today-btn{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-400)}.dark .today-btn:hover{background:var(--primary-900);border-color:var(--primary-600);color:var(--primary-400)}.projected-end{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;background:var(--white);border:1px solid var(--gray-200);border-radius:6px;color:var(--gray-600);font-size:13px}.projected-end svg{color:var(--gray-400)}.projected-end strong{color:var(--gray-900)}.dark .projected-end{background:var(--gray-900);border-color:var(--gray-700);color:var(--gray-400)}.dark .projected-end strong{color:var(--gray-100)}.progress-tracker{margin-top:12px;padding:12px;background:var(--white);border:1px solid var(--gray-200);border-radius:6px}.dark .progress-tracker{background:var(--gray-900);border-color:var(--gray-700)}.progress-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;color:var(--gray-600)}.progress-header svg{color:var(--gray-400)}.dark .progress-header{color:var(--gray-400)}.status-indicator{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-indicator.on-track{background:var(--green-100);color:var(--green-700)}.status-indicator.approaching{background:var(--amber-100);color:var(--amber-700)}.status-indicator.overdue{background:var(--red-100);color:var(--red-700)}.dark .status-indicator.on-track{background:#22c55e26;color:var(--green-400)}.dark .status-indicator.approaching{background:#f59e0b26;color:var(--amber-400)}.dark .status-indicator.overdue{background:#ef444426;color:var(--red-400)}.progress-bar{height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden}.dark .progress-bar{background:var(--gray-700)}.progress-fill{height:100%;border-radius:4px;transition:width .3s ease-out}.progress-fill.on-track{background:linear-gradient(90deg,var(--green-400),var(--green-500))}.progress-fill.approaching{background:linear-gradient(90deg,var(--amber-400),var(--amber-500))}.progress-fill.overdue{background:linear-gradient(90deg,var(--red-400),var(--red-500))}.progress-percentage{display:block;margin-top:6px;text-align:right;font-size:12px;font-weight:600;color:var(--gray-500)}.dark .progress-percentage{color:var(--gray-400)}.field-label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--gray-700)}.dark .field-label{color:var(--gray-300)}.notes-textarea{width:100%;padding:12px;border:1px solid var(--gray-200);border-radius:8px;background:var(--white);color:var(--gray-900);font-family:inherit;font-size:14px;line-height:1.5;resize:vertical;transition:border-color .15s,box-shadow .15s}.notes-textarea:focus{outline:none;border-color:var(--primary-400);box-shadow:0 0 0 3px rgba(var(--primary-500-rgb, 79, 70, 229),.15)}.notes-textarea::placeholder{color:var(--gray-400)}.dark .notes-textarea{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-100)}.dark .notes-textarea:focus{border-color:var(--primary-400)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px;color:var(--gray-500);font-size:14px}.loading-spinner{width:24px;height:24px;border:2px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.no-jurisdiction-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px;text-align:center}.no-jurisdiction-content .empty-icon{color:var(--gray-300)}.dark .no-jurisdiction-content .empty-icon{color:var(--gray-600)}.no-jurisdiction-content h3{margin:0;font-size:18px;font-weight:600;color:var(--gray-900)}.dark .no-jurisdiction-content h3{color:var(--gray-100)}.no-jurisdiction-content p{margin:0;color:var(--gray-500);font-size:14px}.dark .no-jurisdiction-content p{color:var(--gray-400)}.details-panel{max-height:450px;overflow-y:auto}.details-grid{display:flex;flex-direction:column;gap:20px}.details-section{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;padding:16px}.dark .details-section{background:var(--gray-800);border-color:var(--gray-700)}.details-section .section-title{margin:0 0 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-600)}.dark .details-section .section-title{color:var(--gray-400)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--gray-100)}.detail-row:last-child{border-bottom:none;padding-bottom:0}.dark .detail-row{border-bottom-color:var(--gray-700)}.detail-label{font-size:13px;font-weight:500;color:var(--gray-600)}.dark .detail-label{color:var(--gray-400)}.detail-value{font-size:13px;font-weight:500;color:var(--gray-900);text-align:right}.dark .detail-value{color:var(--gray-100)}.detail-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--primary-600);text-decoration:none;transition:all .15s}.detail-link:hover{color:var(--primary-700);text-decoration:underline}.dark .detail-link{color:var(--primary-400)}.dark .detail-link:hover{color:var(--primary-300)}.jurisdiction-info-panel{height:100%;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.jurisdiction-info-panel.empty,.jurisdiction-info-panel.loading,.jurisdiction-info-panel.error{align-items:center;justify-content:center;color:var(--gray-400);font-size:13px}.jurisdiction-info-panel .empty-icon{margin-bottom:8px;opacity:.5}.jurisdiction-info-panel .loading-spinner{width:24px;height:24px;border:2px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:8px}.jur-header{display:flex;flex-direction:column;gap:4px}.jur-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.jur-name{margin:0;font-size:18px;font-weight:700;color:var(--gray-900)}.dark .jur-name{color:var(--gray-100)}.jurisdiction-info-panel .edit-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--gray-200);border-radius:8px;background:var(--gray-50);color:var(--gray-500);cursor:pointer;transition:all .15s;flex-shrink:0}.jurisdiction-info-panel .edit-btn:hover{border-color:var(--primary-300);background:var(--primary-50);color:var(--primary-600)}.dark .jurisdiction-info-panel .edit-btn{border-color:var(--gray-600);background:var(--gray-700);color:var(--gray-300)}.dark .jurisdiction-info-panel .edit-btn:hover{border-color:var(--primary-400);background:var(--primary-900);color:var(--primary-300)}.jur-location{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-600)}.dark .jur-location{color:var(--gray-300)}.jur-type{display:inline-flex;align-self:flex-start;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;background:var(--gray-100);color:var(--gray-600)}.jur-type.type-city{background:var(--blue-100);color:var(--blue-700)}.jur-type.type-county{background:var(--green-100);color:var(--green-700)}.dark .jur-type{background:var(--gray-800);color:var(--gray-400)}.dark .jur-type.type-city{background:var(--blue-900);color:var(--blue-300)}.dark .jur-type.type-county{background:var(--green-900);color:var(--green-300)}.jur-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat-item{display:flex;flex-direction:column;padding:10px;background:var(--gray-50);border-radius:6px}.dark .stat-item{background:var(--gray-800)}.stat-label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--gray-500)}.stat-value{font-size:14px;font-weight:600;color:var(--gray-900)}.dark .stat-value{color:var(--gray-100)}.jur-section{display:flex;flex-direction:column;gap:8px}.section-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--gray-500)}.jur-summary{margin:0;font-size:13px;line-height:1.5;color:var(--gray-700)}.dark .jur-summary{color:var(--gray-300)}.zoning-info{display:flex;flex-direction:column;gap:8px}.zoning-item{display:flex;gap:8px}.zoning-label{font-size:12px;font-weight:500;color:var(--gray-500)}.zoning-value{font-size:12px;color:var(--gray-700)}.dark .zoning-value{color:var(--gray-300)}.zoning-requirements{margin:0;font-size:12px;line-height:1.4;color:var(--gray-600)}.contacts-list{display:flex;flex-direction:column;gap:8px}.contact-item{display:flex;flex-direction:column;gap:2px;padding:8px;background:var(--gray-50);border-radius:6px}.dark .contact-item{background:var(--gray-800)}.contact-name{font-size:13px;font-weight:600;color:var(--gray-900)}.dark .contact-name{color:var(--gray-100)}.contact-title{font-size:11px;color:var(--gray-500)}.contact-email{font-size:12px;color:var(--primary-600);text-decoration:none}.contact-email:hover{text-decoration:underline}.jur-links{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:8px;border-top:1px solid var(--gray-200)}.dark .jur-links{border-top-color:var(--gray-800)}.jur-link{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--gray-50);border-radius:6px;font-size:13px;color:var(--gray-700);text-decoration:none;transition:all .15s}.jur-link:hover{background:var(--gray-100);color:var(--primary-600)}.dark .jur-link{background:var(--gray-800);color:var(--gray-300)}.dark .jur-link:hover{background:var(--gray-700);color:var(--primary-400)}.jur-link svg:last-child{margin-left:auto;opacity:.5}.jurisdiction-info-panel .field-value{font-size:13px;color:var(--gray-700)}.dark .jurisdiction-info-panel .field-value{color:var(--gray-200)}.jurisdiction-info-panel .section-label svg{display:inline;vertical-align:middle;margin-right:4px}.jur-mismatch-warning{display:flex;gap:8px;padding:10px 12px;background:var(--amber-50, #fffbeb);border:1px solid var(--amber-200, #fde68a);border-radius:8px;color:var(--amber-700, #b45309);font-size:12px;line-height:1.4}.jur-mismatch-warning svg{flex-shrink:0;margin-top:1px}.jur-mismatch-text{display:flex;flex-direction:column;gap:8px}.jur-redetect-btn{align-self:flex-start;padding:4px 12px;border:1px solid var(--amber-300, #fcd34d);border-radius:6px;background:#fff;color:var(--amber-700, #b45309);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.jur-redetect-btn:hover{background:var(--amber-100, #fef3c7);border-color:var(--amber-400, #fbbf24)}.jur-redetect-btn:disabled{opacity:.6;cursor:not-allowed}.dark .jur-mismatch-warning{background:var(--amber-900, #78350f);border-color:var(--amber-700, #b45309);color:var(--amber-200, #fde68a)}.dark .jur-redetect-btn{background:var(--amber-800, #92400e);border-color:var(--amber-600, #d97706);color:var(--amber-200, #fde68a)}.dark .jur-redetect-btn:hover{background:var(--amber-700, #b45309)}.file-upload-content{display:flex;flex-direction:column;gap:20px}.file-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;border:2px dashed var(--gray-300);border-radius:12px;background:var(--gray-50);transition:all .2s;cursor:pointer}.file-drop-zone.dragging{border-color:var(--primary-500);background:var(--primary-50)}.dark .file-drop-zone{background:var(--gray-800);border-color:var(--gray-600)}.dark .file-drop-zone.dragging{background:#6366f11a;border-color:var(--primary-400)}.upload-icon{color:var(--gray-400);margin-bottom:12px}.file-drop-zone.dragging .upload-icon{color:var(--primary-500)}.dark .upload-icon{color:var(--gray-500)}.drop-text{margin:0;font-size:15px;font-weight:500;color:var(--gray-700)}.dark .drop-text{color:var(--gray-300)}.drop-hint{margin:8px 0;font-size:13px;color:var(--gray-500)}.file-select-btn{cursor:pointer}.selected-files-list{border-top:1px solid var(--gray-200);padding-top:16px}.dark .selected-files-list{border-top-color:var(--gray-700)}.list-title{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px}.dark .list-title{color:var(--gray-400)}.selected-file-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--gray-200);border-radius:8px;background:var(--white);transition:all .15s}.selected-file-item+.selected-file-item{margin-top:8px}.selected-file-item.uploaded{background:var(--green-50);border-color:var(--green-200)}.selected-file-item.error{background:var(--red-50);border-color:var(--red-200)}.dark .selected-file-item{background:var(--gray-800);border-color:var(--gray-700)}.dark .selected-file-item.uploaded{background:#22c55e1a;border-color:var(--green-700)}.dark .selected-file-item.error{background:#ef44441a;border-color:var(--red-700)}.file-icon{color:var(--gray-500);flex-shrink:0}.selected-file-item.uploaded .file-icon{color:var(--green-600)}.selected-file-item.error .file-icon{color:var(--red-600)}.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-name{font-size:13px;font-weight:500;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .file-name{color:var(--gray-100)}.file-size{font-size:11px;color:var(--gray-500)}.dark .file-size{color:var(--gray-400)}.upload-status{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;flex-shrink:0}.upload-status.success{background:var(--green-100);color:var(--green-700)}.upload-status.error{background:var(--red-100);color:var(--red-700)}.dark .upload-status.success{background:#22c55e33;color:var(--green-300)}.dark .upload-status.error{background:#ef444433;color:var(--red-300)}.remove-file-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--gray-400);border-radius:4px;cursor:pointer;transition:all .15s;flex-shrink:0}.remove-file-btn:hover{background:var(--gray-100);color:var(--gray-700)}.dark .remove-file-btn{color:var(--gray-500)}.dark .remove-file-btn:hover{background:var(--gray-700);color:var(--gray-300)}.files-panel{height:100%;overflow-y:auto;display:flex;flex-direction:column}.files-panel.loading,.files-panel.error{align-items:center;justify-content:center;color:var(--gray-400);font-size:13px}.files-panel .loading-spinner{width:24px;height:24px;border:2px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:8px}.files-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--gray-200);flex-shrink:0}.dark .files-header{border-bottom-color:var(--gray-800)}.files-count{font-size:12px;font-weight:500;color:var(--gray-500)}.upload-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px dashed var(--gray-300);background:transparent;border-radius:6px;color:var(--gray-400);cursor:pointer;transition:all .15s}.upload-btn:hover{border-color:var(--primary-400);color:var(--primary-500);background:var(--primary-50)}.dark .upload-btn:hover{background:var(--primary-900)}.files-groups{flex:1;overflow-y:auto}.file-group{border-bottom:1px solid var(--gray-100)}.dark .file-group{border-bottom-color:var(--gray-800)}.group-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:none;background:var(--gray-50);text-align:left;cursor:pointer;transition:all .15s}.group-header:hover{background:var(--gray-100)}.dark .group-header{background:var(--gray-850)}.dark .group-header:hover{background:var(--gray-800)}.group-header svg{color:var(--gray-400);flex-shrink:0}.group-name{flex:1;font-size:13px;font-weight:600;color:var(--gray-700)}.dark .group-name{color:var(--gray-300)}.group-count{font-size:11px;padding:2px 6px;background:var(--gray-200);border-radius:8px;color:var(--gray-600)}.dark .group-count{background:var(--gray-700);color:var(--gray-400)}.group-files{padding:4px 0}.file-item{display:flex;align-items:center;gap:8px;padding:8px 16px 8px 40px;transition:all .15s}.file-item:hover{background:var(--gray-50)}.dark .file-item:hover{background:var(--gray-850)}.file-item svg{color:var(--gray-400);flex-shrink:0}.file-name{flex:1;font-size:13px;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .file-name{color:var(--gray-300)}.file-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.file-item:hover .file-actions{opacity:1}.file-action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:var(--gray-100);border-radius:4px;color:var(--gray-500);cursor:pointer;transition:all .15s}.file-action:hover{background:var(--gray-200);color:var(--gray-700)}.dark .file-action{background:var(--gray-700);color:var(--gray-400)}.dark .file-action:hover{background:var(--gray-600);color:var(--gray-200)}.files-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--gray-400);padding:32px}.files-empty .empty-icon{opacity:.5}.upload-btn-large{display:flex;align-items:center;gap:8px;padding:10px 20px;border:1px dashed var(--gray-300);background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:var(--gray-500);cursor:pointer;transition:all .15s}.upload-btn-large:hover{border-color:var(--primary-400);color:var(--primary-600);background:var(--primary-50)}.dark .upload-btn-large:hover{background:var(--primary-900);color:var(--primary-400)}.notes-view-panel{height:100%;display:flex;flex-direction:column;background:var(--white)}.dark .notes-view-panel{background:var(--gray-900)}.notes-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--gray-200);background:var(--gray-50)}.dark .notes-panel-header{background:var(--gray-800);border-color:var(--gray-700)}.notes-count{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--gray-600)}.dark .notes-count{color:var(--gray-300)}.add-note-button{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--primary-500);color:var(--white);border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.add-note-button:hover{background:var(--primary-600)}.note-add-form,.note-edit-form{display:flex;flex-direction:column;gap:10px;padding:12px 16px;background:var(--primary-50);border-bottom:1px solid var(--primary-100)}.dark .note-add-form,.dark .note-edit-form{background:var(--gray-800);border-color:var(--gray-700)}.note-add-form textarea,.note-edit-form textarea{width:100%;min-height:100px;padding:12px;border:1px solid var(--gray-300);border-radius:8px;font-size:13px;font-family:inherit;line-height:1.5;resize:vertical;background:var(--white);color:var(--gray-900)}.note-add-form textarea:focus,.note-edit-form textarea:focus{outline:none;border-color:var(--primary-400);box-shadow:0 0 0 3px var(--primary-100)}.dark .note-add-form textarea,.dark .note-edit-form textarea{background:var(--gray-900);border-color:var(--gray-600);color:var(--gray-100)}.dark .note-add-form textarea:focus,.dark .note-edit-form textarea:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f633}.note-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.keyboard-hint{margin-right:auto;font-size:11px;color:var(--gray-500)}.dark .keyboard-hint{color:var(--gray-400)}.cancel-btn,.save-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.cancel-btn{background:var(--white);border:1px solid var(--gray-300);color:var(--gray-600)}.cancel-btn:hover{background:var(--gray-50);border-color:var(--gray-400)}.dark .cancel-btn{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-200)}.save-btn{background:var(--primary-500);border:1px solid var(--primary-500);color:var(--white)}.save-btn:hover:not(:disabled){background:var(--primary-600);border-color:var(--primary-600)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.notes-list-container{flex:1;overflow-y:auto;padding:12px}.notes-loading,.notes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--gray-400)}.notes-empty svg{margin-bottom:12px;color:var(--gray-300)}.dark .notes-empty svg{color:var(--gray-600)}.notes-empty p{margin:0 0 12px;font-size:14px}.notes-empty button{padding:8px 16px;background:var(--primary-500);color:var(--white);border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s}.notes-empty button:hover{background:var(--primary-600)}.notes-list{display:flex;flex-direction:column;gap:10px}.note-card{background:var(--white);border:1px solid var(--gray-200);border-radius:10px;overflow:hidden;transition:all .15s}.note-card:hover{border-color:var(--gray-300);box-shadow:0 2px 8px #0000000d}.note-card.editing{border-color:var(--primary-300);box-shadow:0 2px 12px #3b82f61a}.dark .note-card{background:var(--gray-800);border-color:var(--gray-700)}.dark .note-card:hover{border-color:var(--gray-600)}.dark .note-card.editing{border-color:var(--primary-500)}.note-content{padding:14px 14px 10px}.note-content p{margin:0;font-size:13px;line-height:1.5;color:var(--gray-800);white-space:pre-wrap;word-wrap:break-word}.dark .note-content p{color:var(--gray-200)}.note-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--gray-50);border-top:1px solid var(--gray-100)}.dark .note-footer{background:var(--gray-850, #1a1f2e);border-color:var(--gray-700)}.note-meta{display:flex;align-items:center;gap:12px}.note-author,.note-date{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--gray-500)}.dark .note-author,.dark .note-date{color:var(--gray-400)}.note-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.note-card:hover .note-actions{opacity:1}.note-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;cursor:pointer;transition:all .15s}.note-action-btn.edit{color:var(--gray-500)}.note-action-btn.edit:hover{background:var(--primary-50);color:var(--primary-600)}.dark .note-action-btn.edit:hover{background:var(--primary-900);color:var(--primary-400)}.note-action-btn.delete{color:var(--gray-500)}.note-action-btn.delete:hover{background:var(--red-50);color:var(--red-600)}.dark .note-action-btn.delete:hover{background:var(--red-900);color:var(--red-400)}.note-action-btn:disabled{opacity:.5;cursor:not-allowed}.note-card .note-edit-form{padding:14px;background:transparent;border:none}.images-review-panel{height:100%;display:flex;flex-direction:column;overflow:hidden}.images-review-panel.loading,.images-review-panel.error{align-items:center;justify-content:center;color:var(--gray-400);font-size:13px;gap:8px}.images-review-panel .loading-skeleton{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:12px}.images-review-panel .skeleton-item{aspect-ratio:1;border-radius:6px;background:var(--gray-100);animation:skeleton-pulse 1.5s ease-in-out infinite}.dark .images-review-panel .skeleton-item{background:var(--gray-800)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.images-review-toolbar{display:flex;align-items:center;justify-content:space-between;height:40px;min-height:40px;padding:0 12px;border-bottom:1px solid var(--gray-200);flex-shrink:0}.dark .images-review-toolbar{border-bottom-color:var(--gray-800)}.images-review-toolbar-left{font-size:12px;font-weight:500;color:var(--gray-500)}.images-review-toolbar-right{display:flex;align-items:center;gap:4px}.images-toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;color:var(--gray-400);cursor:pointer;transition:all .15s;position:relative}.images-toolbar-btn:hover{background:var(--gray-100);color:var(--gray-600)}.dark .images-toolbar-btn:hover{background:var(--gray-800);color:var(--gray-300)}.images-upload-btn{border:1px dashed var(--gray-300)}.images-upload-btn:hover{border-color:var(--primary-400);color:var(--primary-500);background:var(--primary-50)}.dark .images-upload-btn:hover{background:var(--primary-900);border-color:var(--primary-600)}.images-dropdown-container{position:relative}.images-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:#fff;border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 12px #0000001f;z-index:100;padding:4px}.dark .images-dropdown{background:var(--gray-900);border-color:var(--gray-700);box-shadow:0 4px 12px #0006}.images-dropdown-label{padding:6px 10px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400)}.images-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border:none;background:transparent;border-radius:4px;font-size:12px;color:var(--gray-700);cursor:pointer;transition:all .15s;text-align:left}.images-dropdown-item:hover{background:var(--gray-50)}.dark .images-dropdown-item{color:var(--gray-300)}.dark .images-dropdown-item:hover{background:var(--gray-800)}.images-dropdown-item.active{color:var(--primary-600);font-weight:500}.dark .images-dropdown-item.active{color:var(--primary-400)}.images-dropdown-divider{height:1px;background:var(--gray-100);margin:4px 0}.dark .images-dropdown-divider{background:var(--gray-800)}.images-dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.images-review-content{flex:1;overflow-y:auto;container-type:inline-size;position:relative}.images-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:12px}@container (min-width: 280px){.images-grid{grid-template-columns:repeat(3,1fr)}}@container (min-width: 421px){.images-grid{grid-template-columns:repeat(4,1fr)}}@container (min-width: 601px){.images-grid{grid-template-columns:repeat(5,1fr)}}@container (min-width: 901px){.images-grid{grid-template-columns:repeat(6,1fr)}}.images-grid-item{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;cursor:pointer;background:var(--gray-100)}.dark .images-grid-item{background:var(--gray-800)}.images-grid-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.images-grid-item:hover img{transform:scale(1.05)}.images-badge-primary{position:absolute;top:4px;left:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#eab308e6;border-radius:4px;z-index:2}.images-badge-camera{position:absolute;top:4px;right:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#00000080;border-radius:4px;z-index:2}.images-badge-cropped{position:absolute;top:4px;right:28px;padding:2px 5px;font-size:9px;font-weight:600;background:#3b82f6d9;color:#fff;border-radius:3px;z-index:2}.images-grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;transition:opacity .15s;z-index:3}.images-grid-item:hover .images-grid-overlay{opacity:1}.images-grid-overlay-actions{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:6px}.images-grid-action-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:6px;color:#fff;cursor:pointer;transition:all .15s}.images-grid-action-btn:hover{background:#ffffff59}.images-grid-action-btn.delete:hover{background:#ef4444b3}.images-grid-name-bar{padding:6px 8px;background:linear-gradient(transparent,#000000a6)}.images-grid-name-bar span{display:block;font-size:11px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.images-grid-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--gray-100);color:var(--gray-400)}.dark .images-grid-fallback{background:var(--gray-800);color:var(--gray-600)}.images-ghost-thumbnail{aspect-ratio:1;border-radius:6px;background:var(--gray-100);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;animation:skeleton-pulse 1.2s ease-in-out infinite}.dark .images-ghost-thumbnail{background:var(--gray-800)}.images-ghost-thumbnail .spinner{width:20px;height:20px;border:2px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.images-drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#ffffffd9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:2px dashed var(--primary-400);border-radius:8px;z-index:10;color:var(--primary-600);font-size:14px;font-weight:500}.dark .images-drag-overlay{background:#111827d9;color:var(--primary-400)}.images-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;text-align:center}.images-empty-icon{color:var(--gray-300)}.dark .images-empty-icon{color:var(--gray-600)}.images-empty-state h3{margin:0;font-size:14px;font-weight:600;color:var(--gray-700)}.dark .images-empty-state h3{color:var(--gray-300)}.images-empty-state p{margin:0;font-size:12px;color:var(--gray-400)}.images-empty-upload-btn{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 16px;border:1px dashed var(--gray-300);background:transparent;border-radius:6px;font-size:12px;font-weight:500;color:var(--gray-500);cursor:pointer;transition:all .15s}.images-empty-upload-btn:hover{border-color:var(--primary-400);color:var(--primary-600);background:var(--primary-50)}.dark .images-empty-upload-btn:hover{background:var(--primary-900);color:var(--primary-400)}.images-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px}.images-error-state span{font-size:13px;color:var(--gray-500)}.images-retry-btn{padding:6px 14px;border:1px solid var(--gray-300);background:#fff;border-radius:6px;font-size:12px;font-weight:500;color:var(--gray-600);cursor:pointer;transition:all .15s}.images-retry-btn:hover{border-color:var(--primary-400);color:var(--primary-600)}.dark .images-retry-btn{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-400)}.dark .images-retry-btn:hover{border-color:var(--primary-600);color:var(--primary-400)}.images-upload-error{padding:8px 12px;margin:0 12px;background:var(--red-50);border:1px solid var(--red-200);border-radius:6px;font-size:12px;color:var(--red-600);animation:images-error-fade 5s ease-in-out forwards}.dark .images-upload-error{background:#ef44441a;border-color:#ef44444d;color:var(--red-400)}@keyframes images-error-fade{0%,80%{opacity:1}to{opacity:0}}.images-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:10100;display:flex;flex-direction:column}.images-lightbox-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;flex-shrink:0}.images-lightbox-info{display:flex;flex-direction:column}.images-lightbox-info h3{margin:0;font-size:14px;font-weight:500;color:#fff}.images-lightbox-info span{font-size:12px;color:#ffffff80}.images-lightbox-actions{display:flex;align-items:center;gap:4px}.images-lightbox-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:8px;color:#ffffffb3;cursor:pointer;transition:all .15s}.images-lightbox-btn:hover{background:#ffffff1a;color:#fff}.images-lightbox-btn.delete:hover{background:#ef44444d;color:#ef4444}.images-lightbox-divider{width:1px;height:24px;background:#fff3;margin:0 4px}.images-lightbox-body{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:0}.images-lightbox-body img{max-width:calc(100% - 120px);max-height:100%;object-fit:contain;transition:transform .2s}.images-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;background:#00000080;border-radius:50%;color:#fff;cursor:pointer;transition:all .15s;z-index:2}.images-lightbox-nav:hover{background:#000000b3}.images-lightbox-nav.prev{left:16px}.images-lightbox-nav.next{right:16px}.images-lightbox-strip{padding:12px 16px;overflow-x:auto;flex-shrink:0}.images-lightbox-strip-inner{display:flex;gap:6px;justify-content:center}.images-lightbox-strip-thumb{width:48px;height:48px;flex-shrink:0;border-radius:4px;overflow:hidden;border:2px solid transparent;cursor:pointer;opacity:.5;transition:all .15s}.images-lightbox-strip-thumb:hover{opacity:.8}.images-lightbox-strip-thumb.active{border-color:var(--primary-500);opacity:1}.images-lightbox-strip-thumb img{width:100%;height:100%;object-fit:cover}.pole-review-panel{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:12px;gap:16px;container-type:inline-size}.pole-review-group{display:flex;flex-direction:column;gap:8px}.pole-review-group-label{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-400)}.pole-review-group-label:after{content:"";flex:1;height:1px;background:var(--gray-200)}.dark .pole-review-group-label:after{background:var(--gray-700)}.pole-review-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.pole-review-fields .full-width{grid-column:1 / -1}@container (max-width: 320px){.pole-review-fields{grid-template-columns:1fr}}.pole-field{display:flex;flex-direction:column;gap:3px}.pole-field-label{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);-webkit-user-select:none;user-select:none}.pole-field-label svg{width:12px;height:12px;color:var(--gray-400);flex-shrink:0}.pole-field-saved{color:var(--green-500);animation:pole-saved-fade 1.5s ease-out forwards;margin-left:2px}@keyframes pole-saved-fade{0%{opacity:1}70%{opacity:1}to{opacity:0}}.pole-field-error{color:var(--red-500);animation:pole-saved-fade 2s ease-out forwards;margin-left:2px}.pole-review-panel select,.pole-review-panel input[type=text],.pole-review-panel input[type=number]{height:32px;padding:0 8px;border:1px solid var(--gray-300);border-radius:6px;background:var(--white, #fff);color:var(--gray-900);font-size:13px;line-height:32px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.pole-review-panel select:focus,.pole-review-panel input[type=text]:focus,.pole-review-panel input[type=number]:focus{border-color:var(--primary-500, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.pole-review-panel select:hover,.pole-review-panel input[type=text]:hover,.pole-review-panel input[type=number]:hover{border-color:var(--gray-400)}.pole-review-panel select.pole-empty,.pole-review-panel input.pole-empty{border-style:dashed;border-color:var(--gray-300)}.pole-review-panel input::placeholder{color:var(--gray-400);font-style:italic}.pole-review-panel select.pole-empty{color:var(--gray-400);font-style:italic}.pole-field-with-suffix{position:relative}.pole-field-with-suffix input{padding-right:28px}.pole-field-suffix{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--gray-400);pointer-events:none;font-weight:500}.pole-readonly-value{height:32px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:var(--gray-50);color:var(--gray-600);font-size:13px;line-height:32px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark .pole-readonly-value{background:var(--gray-800);color:var(--gray-400)}.pole-utility-detected{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:32px;padding:4px 8px;border-radius:6px;background:var(--gray-50)}.dark .pole-utility-detected{background:var(--gray-800)}.pole-utility-name{font-size:12px;font-weight:600;color:var(--gray-800)}.dark .pole-utility-name{color:var(--gray-200)}.pole-utility-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;line-height:1.4;white-space:nowrap}.pole-utility-redetect{margin-left:auto;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:4px;background:none;color:var(--gray-400);cursor:pointer;flex-shrink:0}.pole-utility-redetect:hover{background:var(--gray-200);color:var(--gray-600)}.dark .pole-utility-redetect:hover{background:var(--gray-700);color:var(--gray-300)}.pole-utility-input-row{display:flex;gap:4px;align-items:center}.pole-utility-input-row input{flex:1}.pole-utility-detect-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--gray-200);border-radius:6px;background:var(--gray-50);color:var(--primary-500, #3b82f6);cursor:pointer;flex-shrink:0;transition:all .15s}.pole-utility-detect-btn:hover:not(:disabled){background:var(--primary-50, #eff6ff);border-color:var(--primary-300, #93c5fd)}.pole-utility-detect-btn:disabled{opacity:.5;cursor:not-allowed}.pole-utility-error{font-size:11px;color:var(--red-500, #ef4444);margin-top:4px;font-weight:500}.dark .pole-utility-detect-btn{border-color:var(--gray-600);background:var(--gray-800)}.dark .pole-utility-detect-btn:hover:not(:disabled){background:var(--gray-700);border-color:var(--primary-500, #3b82f6)}.pole-review-notes-header{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-400)}.pole-review-notes-header:after{content:"";flex:1;height:1px;background:var(--gray-200)}.dark .pole-review-notes-header:after{background:var(--gray-700)}.pole-notes-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--gray-200);color:var(--gray-600);font-size:10px;font-weight:700}.pole-notes-view-all{margin-left:auto;font-size:11px;font-weight:500;color:var(--primary-500, #3b82f6);background:none;border:none;cursor:pointer;padding:0;text-transform:none;letter-spacing:normal}.pole-notes-view-all:hover{text-decoration:underline}.pole-notes-list{display:flex;flex-direction:column;gap:4px;max-height:100px;overflow-y:auto}.pole-note-item{padding:6px 8px;border-radius:4px;background:var(--gray-50);font-size:12px;color:var(--gray-700);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dark .pole-note-item{background:var(--gray-800);color:var(--gray-300)}.pole-note-meta{font-size:10px;color:var(--gray-400);margin-top:2px}.pole-note-add{display:flex;flex-direction:column;gap:4px}.pole-note-add textarea{width:100%;min-height:48px;max-height:96px;padding:8px;border:1px dashed var(--gray-300);border-radius:6px;background:var(--white, #fff);color:var(--gray-900);font-size:12px;line-height:1.4;resize:vertical;outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s}.pole-note-add textarea:focus{border-style:solid;border-color:var(--primary-500, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.pole-note-add textarea::placeholder{color:var(--gray-400);font-style:italic}.pole-note-hint{font-size:10px;color:var(--gray-400);text-align:right}.pole-review-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;color:var(--gray-400);font-size:13px;text-align:center}.pole-review-empty svg{width:32px;height:32px;opacity:.4}.dark .pole-review-panel select,.dark .pole-review-panel input[type=text],.dark .pole-review-panel input[type=number]{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-100)}.dark .pole-review-panel select:focus,.dark .pole-review-panel input[type=text]:focus,.dark .pole-review-panel input[type=number]:focus{border-color:var(--primary-400, #60a5fa);box-shadow:0 0 0 2px #60a5fa33}.dark .pole-review-panel select.pole-empty,.dark .pole-review-panel input.pole-empty{border-color:var(--gray-600)}.dark .pole-review-panel input::placeholder{color:var(--gray-500)}.dark .pole-review-panel select.pole-empty{color:var(--gray-500)}.dark .pole-notes-count{background:var(--gray-700);color:var(--gray-400)}.dark .pole-note-add textarea{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-100)}.dark .pole-note-add textarea:focus{border-color:var(--primary-400, #60a5fa)}@container (min-width: 800px){.pole-review-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}.pole-review-panel>.pole-review-group{border-right:none}.pole-review-panel>.pole-review-group:last-child{grid-column:1 / -1;border-top:1px solid var(--gray-200);padding-top:12px}}.dark .pole-review-panel>.pole-review-group:last-child{border-top-color:var(--gray-700)}.pole-location-coords{display:flex;flex-direction:column;gap:6px}.pole-location-row{display:flex;align-items:center;gap:6px;font-size:12px;font-family:monospace;color:var(--gray-700)}.dark .pole-location-row{color:var(--gray-300)}.pole-location-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pole-location-dot.current{background:var(--primary-500)}.pole-location-dot.original{background:none;border:2px solid var(--gray-400)}.pole-location-copy{display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:auto;background:transparent;border:none;color:var(--gray-400);cursor:pointer;border-radius:4px;flex-shrink:0;transition:all .15s}.pole-location-copy:hover{background:var(--gray-100);color:var(--gray-600)}.dark .pole-location-copy:hover{background:var(--gray-700);color:var(--gray-300)}.pole-location-moved{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#fffbeb;border:1px solid #FDE68A;border-radius:10px;font-size:11px;font-weight:600;color:#b45309;font-family:system-ui,sans-serif}.dark .pole-location-moved{background:#b4530926;border-color:#b453094d;color:#fbbf24}.pole-location-helper{font-size:12px;font-style:italic;color:var(--gray-400)}@container (min-width: 800px){.pole-review-panel select,.pole-review-panel input[type=text],.pole-review-panel input[type=number]{height:28px;font-size:12px;line-height:28px}.pole-review-fields{grid-template-columns:1fr 1fr;gap:8px 12px}}.node-placement-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;flex-direction:column;animation:npmFadeIn .2s ease-out}@keyframes npmFadeIn{0%{opacity:0}to{opacity:1}}.npm-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--gray-900);border-bottom:1px solid var(--gray-700);flex-shrink:0}.npm-header-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--white)}.npm-header-title .npm-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#7c3aed;color:#fff;font-size:10px;font-weight:700;font-family:monospace}.npm-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--gray-400);border-radius:6px;cursor:pointer;transition:all .15s}.npm-close-btn:hover{background:var(--gray-700);color:var(--white)}.npm-body{display:flex;flex:1;min-height:0}.npm-left-pane{flex:0 0 60%;position:relative;display:flex;flex-direction:column;border-right:1px solid var(--gray-700)}.npm-right-pane{flex:1;display:flex;flex-direction:column;min-width:0}.npm-placement-map{flex:1;position:relative;cursor:crosshair}.npm-placement-map-container{position:absolute;top:0;right:0;bottom:0;left:0}.npm-coord-readout{position:absolute;bottom:12px;left:12px;display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;font-size:12px;font-family:monospace;color:var(--white);z-index:10;pointer-events:none}.npm-coord-readout .npm-coord-label{color:var(--gray-400);font-size:10px}.npm-coord-readout .npm-coord-value{font-weight:600}.npm-coord-readout .npm-distance{margin-top:4px;padding-top:4px;border-top:1px solid rgba(255,255,255,.15);color:#a78bfa;font-weight:600}.npm-placement-hint{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:8px 16px;background:#000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--white);border-radius:24px;font-size:13px;font-weight:500;z-index:10;animation:hintSlideIn .3s ease-out;pointer-events:none}@keyframes hintSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.npm-sv-zone{flex:1;position:relative;min-height:200px}.npm-sv-panorama{position:absolute;top:0;right:0;bottom:0;left:0}.npm-sv-coverage{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair}.npm-sv-unavailable{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--gray-800);color:var(--gray-400);font-size:13px}.npm-sv-back-btn{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:4px;padding:5px 10px 5px 7px;background:#0009;color:var(--white);border:none;border-radius:16px;font-size:11px;font-weight:500;cursor:pointer;z-index:10;transition:all .15s}.npm-sv-back-btn:hover{background:#000c}.npm-sv-hint{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:5px;padding:5px 10px;background:#0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--white);border-radius:16px;font-size:11px;font-weight:500;z-index:10;pointer-events:none}.npm-sv-loading{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#00000080;border-radius:50%;z-index:10}.npm-sv-miss{position:absolute;top:36px;left:8px;padding:4px 10px;background:#000000a6;color:var(--gray-300);border-radius:12px;font-size:11px;font-weight:500;z-index:10}.npm-form{padding:12px 16px;background:var(--gray-900);border-top:1px solid var(--gray-700);overflow-y:auto;max-height:260px}.npm-form-title{font-size:11px;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.npm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.npm-form-field{display:flex;flex-direction:column;gap:3px}.npm-form-field.full-width{grid-column:1 / -1}.npm-form-label{font-size:10px;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:.03em}.npm-form-input{padding:6px 8px;background:var(--gray-800);border:1px solid var(--gray-700);border-radius:5px;color:var(--gray-200);font-size:13px;outline:none;transition:border-color .15s}.npm-form-input:focus{border-color:#7c3aed}.npm-form-input::placeholder{color:var(--gray-600)}.npm-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 16px;background:var(--gray-900);border-top:1px solid var(--gray-700);flex-shrink:0}.npm-cancel-btn{padding:7px 16px;background:transparent;border:1px solid var(--gray-600);border-radius:6px;color:var(--gray-300);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.npm-cancel-btn:hover{background:var(--gray-800);border-color:var(--gray-500)}.npm-confirm-btn{padding:7px 20px;background:#7c3aed;border:none;border-radius:6px;color:var(--white);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.npm-confirm-btn:hover:not(:disabled){background:#6d28d9}.npm-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.node-marker-pulse{animation:markerPulse 2s ease-in-out infinite}@keyframes markerPulse{0%,to{filter:drop-shadow(0 0 4px #7c3aed)}50%{filter:drop-shadow(0 0 12px #7c3aed)}}@keyframes pinDrop{0%{transform:translate(-50%,-100%) translateY(-40px);opacity:0}60%{transform:translate(-50%,-100%) translateY(4px);opacity:1}to{transform:translate(-50%,-100%) translateY(0);opacity:1}}.node-marker-drop{animation:pinDrop .4s cubic-bezier(.34,1.56,.64,1)}.node-marker-ghost{opacity:.3!important;pointer-events:none}.npm-relocate-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#7c3aed26;border:1px solid rgba(124,58,237,.3);border-radius:12px;font-size:11px;color:#a78bfa;font-weight:500}.ss-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--white);border:1px solid var(--gray-200);border-bottom:none;border-radius:6px 6px 0 0;font-size:13px;gap:12px}.dark .ss-toolbar{background:var(--gray-900);border-color:var(--gray-700)}.ss-toolbar-left{display:flex;align-items:center;gap:12px}.ss-toolbar-right{display:flex;align-items:center;gap:8px}.ss-toolbar-count{color:var(--gray-600);display:flex;align-items:center;gap:6px}.ss-toolbar-count strong{color:var(--gray-900)}.dark .ss-toolbar-count{color:var(--gray-400)}.dark .ss-toolbar-count strong{color:var(--gray-100)}.ss-toolbar-clear-btn{background:none;border:none;color:var(--primary-500);font-size:12px;cursor:pointer;padding:2px 6px;border-radius:4px}.ss-toolbar-clear-btn:hover{background:var(--primary-50)}.dark .ss-toolbar-clear-btn:hover{background:#3b82f61a}.ss-toolbar-filter-badge{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--orange-600);background:var(--orange-50);padding:2px 8px;border-radius:10px}.dark .ss-toolbar-filter-badge{color:var(--orange-400);background:#f973161a}.ss-toolbar-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:4px;color:var(--gray-700);cursor:pointer;transition:all .15s}.ss-toolbar-btn:hover{background:var(--gray-200);color:var(--gray-900)}.dark .ss-toolbar-btn{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-300)}.dark .ss-toolbar-btn:hover{background:var(--gray-700);color:var(--gray-100)}.ss-cell{display:flex;align-items:center;padding:0 8px;height:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;border-right:1px solid var(--gray-200);position:relative;cursor:default;transition:background-color .1s}.dark .ss-cell{border-right-color:var(--gray-700)}.ss-cell:not(.ss-cell-readonly):hover{background-color:var(--blue-50)}.dark .ss-cell:not(.ss-cell-readonly):hover{background-color:#3b82f60f}.ss-cell-focused{outline:2px solid var(--primary-500);outline-offset:-2px;z-index:1}.ss-cell-editing{padding:0 2px;z-index:2}.ss-cell-saving{animation:ss-pulse 1.2s ease-in-out infinite}.ss-cell-error{border:2px solid var(--red-500)!important;background-color:#ef44440d}.dark .ss-cell-error{background-color:#ef444414}.ss-cell-success{background-color:#22c55e14}.dark .ss-cell-success{background-color:#22c55e0f}.ss-cell-empty{background-color:#eab3080a}.dark .ss-cell-empty{background-color:#eab30808}.ss-cell-readonly{color:var(--gray-500)}.dark .ss-cell-readonly{color:var(--gray-400)}.ss-cell-input{width:100%;height:100%;border:none;outline:none;background:transparent;font-size:13px;font-family:inherit;color:inherit;padding:4px 6px}.ss-cell-input:focus{background:var(--white);box-shadow:inset 0 0 0 2px var(--primary-400);border-radius:2px}.dark .ss-cell-input:focus{background:var(--gray-800)}select.ss-cell-input{cursor:pointer}.ss-cell-placeholder{color:var(--gray-400);font-style:italic}.dark .ss-cell-placeholder{color:var(--gray-500)}.ss-cell-text{overflow:hidden;text-overflow:ellipsis}.ss-cell-spinner{position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--gray-400);animation:spin 1s linear infinite}.ss-cell-check{position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--green-500);animation:ss-fade-in .2s ease}.ss-toggle-label{display:flex;align-items:center;gap:4px;cursor:pointer}.ss-toggle-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-500);cursor:pointer}.ss-color-swatch{width:22px;height:22px;border-radius:4px;border:2px solid var(--gray-200);cursor:pointer;transition:transform .1s}.ss-color-swatch:hover{transform:scale(1.1)}.dark .ss-color-swatch{border-color:var(--gray-600)}.ss-color-picker{position:absolute;top:100%;left:0;z-index:20;display:flex;gap:4px;padding:6px;background:var(--white);border:1px solid var(--gray-200);border-radius:6px;box-shadow:0 4px 12px #00000026}.dark .ss-color-picker{background:var(--gray-800);border-color:var(--gray-600)}.ss-color-option{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .1s}.ss-color-option:hover{transform:scale(1.15)}.ss-color-option.active{border-color:var(--white);box-shadow:0 0 0 2px var(--primary-500)}@keyframes ss-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes ss-fade-in{0%{opacity:0;transform:translateY(-50%) scale(.8)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.ss-table-wrapper{flex:1;overflow:auto;position:relative;background:var(--white);border:1px solid var(--gray-200);border-radius:6px}.dark .ss-table-wrapper{background:var(--gray-900);border-color:var(--gray-700)}.ss-header{position:sticky;top:0;z-index:10;background:var(--gray-50);border-bottom:2px solid var(--gray-200);min-width:fit-content}.dark .ss-header{background:var(--gray-800);border-bottom-color:var(--gray-600)}.ss-header-cell{display:flex;align-items:center;height:36px;padding:0 8px;font-size:12px;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.03em;border-right:1px solid var(--gray-200);position:relative;-webkit-user-select:none;user-select:none}.dark .ss-header-cell{color:var(--gray-400);border-right-color:var(--gray-700)}.ss-header-sorted{color:var(--primary-600)}.dark .ss-header-sorted{color:var(--primary-400)}.ss-header-label{display:flex;align-items:center;gap:4px;background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-header-label:hover{color:var(--primary-600)}.dark .ss-header-label:hover{color:var(--primary-400)}.ss-sort-icon{flex-shrink:0}.ss-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:5px;cursor:col-resize;z-index:1}.ss-resize-handle:hover,.ss-resize-handle:active{background:var(--primary-300)}.dark .ss-resize-handle:hover,.dark .ss-resize-handle:active{background:var(--primary-600)}.ss-body{min-width:fit-content}.ss-row{border-bottom:1px solid var(--gray-100);height:40px;min-width:fit-content;transition:background-color .1s}.dark .ss-row{border-bottom-color:var(--gray-800)}.ss-row-even{background-color:var(--gray-25, rgba(0,0,0,.01))}.dark .ss-row-even{background-color:#ffffff03}.ss-row:hover{background-color:var(--gray-50)}.dark .ss-row:hover{background-color:var(--gray-800)}.ss-row-selected{background-color:var(--blue-50)!important}.dark .ss-row-selected{background-color:#3b82f614!important}.ss-row-current{border-left:3px solid var(--primary-500)}.ss-frozen-col{position:sticky;left:0;z-index:2;background:inherit}.ss-frozen-col-2{position:sticky;left:40px;z-index:2;background:inherit;box-shadow:2px 0 4px #0000000f}.dark .ss-frozen-col-2{box-shadow:2px 0 4px #0000004d}.ss-row-selected .ss-frozen-col,.ss-row-selected .ss-frozen-col-2{background:var(--blue-50)}.dark .ss-row-selected .ss-frozen-col,.dark .ss-row-selected .ss-frozen-col-2{background:#3b82f614}.ss-row:hover .ss-frozen-col,.ss-row:hover .ss-frozen-col-2{background:var(--gray-50)}.dark .ss-row:hover .ss-frozen-col,.dark .ss-row:hover .ss-frozen-col-2{background:var(--gray-800)}.ss-row-even .ss-frozen-col,.ss-row-even .ss-frozen-col-2{background:var(--gray-25, rgba(0,0,0,.01))}.dark .ss-row-even .ss-frozen-col,.dark .ss-row-even .ss-frozen-col-2{background:#ffffff03}.ss-cell-checkbox{justify-content:center}.ss-cell-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-500);cursor:pointer}.ss-header .ss-frozen-col,.ss-header .ss-frozen-col-2{background:var(--gray-50)}.dark .ss-header .ss-frozen-col,.dark .ss-header .ss-frozen-col-2{background:var(--gray-800)}.ss-cell-site-id{cursor:pointer;font-weight:600;color:var(--primary-600)}.ss-cell-site-id:hover{color:var(--primary-700);text-decoration:underline}.dark .ss-cell-site-id{color:var(--primary-400)}.dark .ss-cell-site-id:hover{color:var(--primary-300)}.ss-site-id-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-context-menu{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 8px 24px #0000001f,0 2px 6px #0000000f;padding:4px 0;min-width:220px;max-width:320px;animation:ss-ctx-in .1s ease}.dark .ss-context-menu{background:var(--gray-800);border-color:var(--gray-600);box-shadow:0 8px 24px #0006}.ss-ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;font-size:13px;color:var(--gray-700);background:none;border:none;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-ctx-item:hover{background:var(--gray-100);color:var(--gray-900)}.dark .ss-ctx-item{color:var(--gray-300)}.dark .ss-ctx-item:hover{background:var(--gray-700);color:var(--gray-100)}.ss-ctx-item span{flex:1;overflow:hidden;text-overflow:ellipsis}.ss-ctx-item kbd{font-size:11px;color:var(--gray-400);background:var(--gray-100);padding:1px 5px;border-radius:3px;font-family:inherit}.dark .ss-ctx-item kbd{background:var(--gray-700);color:var(--gray-500)}.ss-ctx-item-danger{color:var(--red-600)}.ss-ctx-item-danger:hover{background:var(--red-50);color:var(--red-700)}.dark .ss-ctx-item-danger{color:var(--red-400)}.dark .ss-ctx-item-danger:hover{background:#ef44441a;color:var(--red-300)}.ss-ctx-divider{height:1px;background:var(--gray-200);margin:4px 0}.dark .ss-ctx-divider{background:var(--gray-700)}@keyframes ss-ctx-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.ss-undo-bar{position:absolute;bottom:48px;left:50%;transform:translate(-50%);z-index:20;display:flex;flex-direction:column;gap:6px;max-width:500px}.ss-undo-toast{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--gray-900);color:var(--white);border-radius:8px;box-shadow:0 4px 16px #0003;font-size:13px;animation:ss-undo-in .2s ease;white-space:nowrap}.dark .ss-undo-toast{background:var(--gray-100);color:var(--gray-900)}.ss-undo-message{flex:1;overflow:hidden;text-overflow:ellipsis}.ss-undo-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;background:var(--primary-500);color:var(--white);border:none;border-radius:4px;cursor:pointer;flex-shrink:0}.ss-undo-btn:hover{background:var(--primary-600)}.ss-undo-dismiss{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:2px;display:flex;flex-shrink:0}.ss-undo-dismiss:hover{color:var(--gray-200)}.dark .ss-undo-dismiss:hover{color:var(--gray-600)}@keyframes ss-undo-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ss-col-config{padding:12px 0}.ss-col-presets{display:flex;align-items:center;gap:8px;padding:0 0 12px;border-bottom:1px solid var(--gray-200);margin-bottom:12px;flex-wrap:wrap}.dark .ss-col-presets{border-bottom-color:var(--gray-700)}.ss-col-presets-label{font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.03em}.ss-col-preset-btn{padding:4px 12px;font-size:12px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:4px;color:var(--gray-700);cursor:pointer;transition:all .15s}.ss-col-preset-btn:hover{background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-700)}.dark .ss-col-preset-btn{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-300)}.dark .ss-col-preset-btn:hover{background:#3b82f61a;border-color:var(--primary-500);color:var(--primary-400)}.ss-col-groups{display:flex;flex-direction:column;gap:16px;max-height:400px;overflow-y:auto}.ss-col-group-title{font-size:11px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px}.dark .ss-col-group-title{color:var(--gray-400)}.ss-col-group-items{display:flex;flex-wrap:wrap;gap:4px}.ss-col-item{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:13px;border:1px solid var(--gray-200);border-radius:6px;cursor:pointer;transition:all .15s;background:var(--white)}.dark .ss-col-item{border-color:var(--gray-600);background:var(--gray-800)}.ss-col-visible{color:var(--gray-800)}.dark .ss-col-visible{color:var(--gray-200)}.ss-col-hidden{color:var(--gray-400);background:var(--gray-50);border-style:dashed}.dark .ss-col-hidden{color:var(--gray-500);background:var(--gray-900)}.ss-col-item:hover{border-color:var(--primary-300)}.dark .ss-col-item:hover{border-color:var(--primary-500)}.ss-col-reset-btn{display:flex;align-items:center;gap:4px;padding:6px 14px;font-size:13px;background:none;border:1px solid var(--gray-300);border-radius:6px;color:var(--gray-600);cursor:pointer}.ss-col-reset-btn:hover{background:var(--gray-100)}.dark .ss-col-reset-btn{border-color:var(--gray-600);color:var(--gray-400)}.dark .ss-col-reset-btn:hover{background:var(--gray-700)}.ss-col-done-btn{padding:6px 20px;font-size:13px;font-weight:600;background:var(--primary-500);color:var(--white);border:none;border-radius:6px;cursor:pointer}.ss-col-done-btn:hover{background:var(--primary-600)}.ss-view{display:flex;flex-direction:column;height:100%;position:relative;outline:none;overflow:hidden}.ss-view:focus{outline:none}.ss-status-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;font-size:11px;color:var(--gray-500);background:var(--gray-50);border:1px solid var(--gray-200);border-top:none;border-radius:0 0 6px 6px;min-height:28px}.dark .ss-status-bar{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-400)}.ss-status-left,.ss-status-center,.ss-status-right{flex:1}.ss-status-center{text-align:center}.ss-status-right{text-align:right}.ss-view--embedded .ss-status-bar{border-radius:0;border-left:none;border-right:none;border-bottom:none}.panel-field-config-modal{display:flex;flex-direction:column;gap:16px}.field-config-description{margin:0;font-size:.875rem;color:var(--gray-600);display:flex;align-items:center;justify-content:space-between}.dark .field-config-description{color:var(--gray-400)}.field-count{font-size:.75rem;font-weight:500;color:var(--gray-500);background:var(--gray-100);padding:2px 8px;border-radius:10px}.dark .field-count{background:var(--gray-700);color:var(--gray-400)}.field-category-list{display:flex;flex-direction:column;gap:8px;padding:4px 0;contain:content}.category-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:var(--gray-100);border:none;border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--gray-700);text-align:left;transition:background .15s ease}.category-header:hover{background:var(--gray-200)}.dark .category-header{background:var(--gray-800);color:var(--gray-300)}.dark .category-header:hover{background:var(--gray-700)}.category-label{flex:1}.category-count{font-size:.6875rem;font-weight:500;color:var(--gray-500);background:var(--gray-200);padding:2px 6px;border-radius:8px}.dark .category-count{background:var(--gray-700);color:var(--gray-400)}.category-fields{display:flex;flex-direction:column;gap:4px;padding:8px 0 8px 12px;contain:content}.field-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--white);border:1px solid var(--gray-200);border-radius:6px;cursor:grab;transition:background .15s ease,border-color .15s ease}.field-item:hover{background:var(--gray-50);border-color:var(--gray-300)}.field-item.dragging{opacity:.7;cursor:grabbing;transform:scale(.98);background:var(--primary-50);border-color:var(--primary-300);box-shadow:0 2px 8px #0000001f;z-index:10;will-change:transform}.field-item.drag-over{background:var(--primary-50);border-color:var(--primary-400);border-style:dashed}.dark .field-item.dragging{background:var(--primary-900);border-color:var(--primary-600);box-shadow:0 2px 8px #00000059}.field-item.hidden-field{opacity:.6}.field-item.hidden-field .field-label{text-decoration:line-through;color:var(--gray-400)}.dark .field-item{background:var(--gray-850);border-color:var(--gray-700)}.dark .field-item:hover{background:var(--gray-800);border-color:var(--gray-600)}.dark .field-item.drag-over{background:var(--primary-900);border-color:var(--primary-500)}.drag-handle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--gray-400);cursor:grab;flex-shrink:0;transition:color .15s ease}.drag-handle:hover{color:var(--gray-600)}.dark .drag-handle{color:var(--gray-500)}.dark .drag-handle:hover{color:var(--gray-300)}.field-info{flex:1;display:flex;align-items:center;min-width:0}.field-label{font-size:.875rem;font-weight:500;color:var(--gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark .field-label{color:var(--gray-200)}.visibility-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--gray-500);transition:background .15s ease,color .15s ease;flex-shrink:0}.visibility-toggle:hover{background:var(--gray-100);color:var(--gray-700)}.visibility-toggle.hidden{color:var(--gray-400)}.visibility-toggle.hidden:hover{color:var(--green-500);background:var(--green-50)}.dark .visibility-toggle{color:var(--gray-400)}.dark .visibility-toggle:hover{background:var(--gray-700);color:var(--gray-200)}.dark .visibility-toggle.hidden:hover{color:var(--green-400);background:var(--green-900)}.lock-indicator{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--gray-400);flex-shrink:0}.dark .lock-indicator{color:var(--gray-500)}.field-config-note{margin:0;padding:10px 12px;font-size:.75rem;color:var(--gray-500);background:var(--gray-50);border-radius:6px;border:1px dashed var(--gray-200)}.dark .field-config-note{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-400)}.footer-right{display:flex;gap:8px;margin-left:auto}@media (max-width: 480px){.field-item{padding:8px 10px;gap:8px}.category-fields{padding-left:8px}.footer-right{flex-direction:column;width:100%}}.review-panel{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--white);border-radius:var(--panel-border-radius, 8px);border:1px solid var(--gray-200);overflow:hidden;align-self:stretch;justify-self:stretch}.dark .review-panel{background:var(--gray-900);border-color:var(--gray-800)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--gray-50);border-bottom:1px solid var(--gray-200);flex-shrink:0;position:relative;z-index:20}.dark .panel-header{background:var(--gray-850);border-bottom-color:var(--gray-800)}.panel-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.02em}.panel-title svg{color:var(--gray-500)}.dark .panel-title{color:var(--gray-300)}.dark .panel-title svg{color:var(--gray-500)}.panel-title.configurable{cursor:pointer;padding:4px 8px;margin:-4px -8px;border-radius:4px;transition:background .15s ease}.panel-title.configurable:hover{background:var(--gray-200)}.dark .panel-title.configurable:hover{background:var(--gray-700)}.panel-title .config-hint{opacity:0;color:var(--gray-400);transition:opacity .15s ease;margin-left:2px}.panel-title.configurable:hover .config-hint{opacity:1}.dark .panel-title .config-hint{color:var(--gray-500)}.panel-actions{display:flex;align-items:center;gap:4px}.panel-menu-container{position:relative}.panel-menu-trigger{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--gray-400);border-radius:4px;cursor:pointer;transition:all .15s}.panel-menu-trigger:hover{background:var(--gray-200);color:var(--gray-600)}.dark .panel-menu-trigger:hover{background:var(--gray-700);color:var(--gray-300)}.panel-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.panel-menu{position:fixed;min-width:160px;background:var(--white);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10050;max-height:400px;overflow-y:auto;padding:4px 0}.dark .panel-menu{background:var(--gray-800);border-color:var(--gray-700)}.panel-menu-label{display:block;padding:8px 12px 4px;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--gray-400)}.panel-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;text-align:left;font-size:13px;color:var(--gray-700);cursor:pointer;transition:all .15s}.panel-menu-item:hover{background:var(--gray-50)}.panel-menu-item.active{background:var(--primary-50);color:var(--primary-700)}.panel-menu-item .check-icon{margin-left:auto}.dark .panel-menu-item{color:var(--gray-300)}.dark .panel-menu-item:hover{background:var(--gray-700)}.dark .panel-menu-item.active{background:var(--primary-900);color:var(--primary-300)}.panel-content{flex:1 1 0%;overflow:hidden;position:relative;min-height:0;display:flex;flex-direction:column}.panel-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--gray-400);font-size:13px}.panel-grid{display:grid;height:100%;width:100%;gap:var(--panel-gap, 6px)}.panel-grid>*{min-height:0;min-width:0}.panel-grid.layout-2x2{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.panel-grid.layout-3col{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr}.panel-grid.layout-focus{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.panel-grid.layout-focus>*:first-child{grid-row:span 2}.panel-grid.layout-1col{grid-template-columns:1fr;grid-template-rows:1fr}.panel-grid.layout-site-move{grid-template-columns:1fr 1fr;grid-template-rows:55fr 45fr}.panel-grid.layout-site-move>*:nth-child(3){grid-column:1 / -1}.panel-grid-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--gray-400);font-size:14px}@media (max-width: 1024px){.panel-grid.layout-3col{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}}@media (max-width: 768px){.panel-grid.layout-2x2,.panel-grid.layout-3col,.panel-grid.layout-focus,.panel-grid.layout-site-move{grid-template-columns:1fr;grid-template-rows:repeat(auto-fit,minmax(200px,1fr))}.panel-grid.layout-focus>*:first-child{grid-row:span 1}.panel-grid.layout-site-move>*:nth-child(3){grid-column:auto}}.site-review-page{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:var(--gray-100)}.dark .site-review-page{background:var(--gray-950)}.site-review-header{display:flex;align-items:center;justify-content:space-between;height:56px;min-height:56px;padding:0 16px;background:var(--gray-50);color:var(--gray-900);border-bottom:1px solid var(--gray-200);z-index:100}.sr-header-left{display:flex;align-items:center;gap:12px}.sr-back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:var(--gray-100);color:var(--gray-600);cursor:pointer;transition:all .15s ease}.sr-back-btn:hover{background:var(--gray-200);color:var(--gray-900)}.sr-brand{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 12px;border-radius:8px;transition:background .15s ease}.sr-brand:hover{background:var(--gray-100)}.sr-brand svg{color:var(--primary-600)}.sr-brand-text{font-size:18px;font-weight:600;color:var(--gray-900)}.sr-brand-mode{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px;background:var(--primary-500);color:#fff}.sr-header-nav{display:flex;align-items:center;gap:4px}.sr-header-nav button{display:flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--gray-600);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.sr-header-nav button:hover{background:var(--gray-100);color:var(--gray-900)}.sr-header-nav button svg{flex-shrink:0}.dark .site-review-header{background:var(--gray-900);color:#fff;border-bottom-color:var(--gray-800)}.dark .sr-back-btn{background:var(--gray-800);color:var(--gray-300)}.dark .sr-back-btn:hover{background:var(--gray-700);color:#fff}.dark .sr-brand:hover{background:var(--gray-800)}.dark .sr-brand svg{color:var(--primary-400)}.dark .sr-brand-text{color:#fff}.dark .sr-header-nav button{color:var(--gray-300)}.dark .sr-header-nav button:hover{background:var(--gray-800);color:#fff}.site-review-layout{--sidebar-width: 280px;--sidebar-collapsed-width: 64px;--toolbar-height: 56px;--panel-gap: 6px;--panel-border-radius: 8px;--transition-speed: .2s}.site-review-layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:1fr;flex:1;width:100%;overflow:hidden;background:var(--gray-100);transition:grid-template-columns var(--transition-speed) ease-out}.site-review-layout.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) 1fr}.dark .site-review-layout{background:var(--gray-950)}.site-review-main{display:flex;flex-direction:column;overflow:hidden;min-width:0}.site-review-content{flex:1;overflow:hidden;padding:var(--panel-gap)}.site-review-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--gray-500)}.site-review-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.dark .site-review-loading{color:var(--gray-400)}.dark .site-review-loading .loading-spinner{border-color:var(--gray-700);border-top-color:var(--primary-400)}.site-review-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--gray-500);text-align:center;padding:32px}.site-review-empty .empty-icon{font-size:48px;opacity:.5}.site-review-empty h3{margin:0;font-size:18px;font-weight:600;color:var(--gray-700)}.site-review-empty p{margin:0;font-size:14px;max-width:300px}.dark .site-review-empty h3{color:var(--gray-300)}.dark .site-review-empty p{color:var(--gray-400)}@media (max-width: 1280px){.site-review-layout{--sidebar-width: 240px}}@media (max-width: 1024px){.site-review-layout{grid-template-columns:1fr}.site-review-layout .site-review-sidebar{position:fixed;left:0;top:56px;bottom:0;width:var(--sidebar-width);z-index:100;transform:translate(-100%);transition:transform var(--transition-speed) ease-out;box-shadow:4px 0 12px #00000026}.site-review-layout:not(.sidebar-collapsed) .site-review-sidebar{transform:translate(0)}.site-review-layout:not(.sidebar-collapsed):before{content:"";position:fixed;top:56px;right:0;bottom:0;left:0;background:#0000004d;z-index:99}}@media (max-width: 640px){.site-review-layout{--sidebar-width: 100%}}.keyboard-help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease}.keyboard-help-modal{background:var(--white, #fff);border-radius:12px;box-shadow:0 20px 60px #0003;width:90%;max-width:480px;max-height:80vh;overflow:hidden;animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.keyboard-help-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--gray-200)}.keyboard-help-header h2{margin:0;font-size:18px;font-weight:600;color:var(--gray-900)}.keyboard-help-header .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--gray-500);cursor:pointer;transition:all .15s ease}.keyboard-help-header .close-btn:hover{background:var(--gray-100);color:var(--gray-700)}.keyboard-help-content{padding:20px;max-height:calc(80vh - 72px);overflow-y:auto}.shortcut-section{margin-bottom:20px}.shortcut-section:last-child{margin-bottom:0}.shortcut-section h3{margin:0 0 12px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500)}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--gray-100)}.shortcut-row:last-child{border-bottom:none}.shortcut-row .keys{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--gray-500)}.shortcut-row kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:4px;font-family:inherit;font-size:12px;font-weight:500;color:var(--gray-700);box-shadow:0 1px 2px #0000000d}.shortcut-row .description{font-size:14px;color:var(--gray-700)}.dark .keyboard-help-modal{background:var(--gray-900)}.dark .keyboard-help-header{border-bottom-color:var(--gray-800)}.dark .keyboard-help-header h2{color:#fff}.dark .keyboard-help-header .close-btn{color:var(--gray-400)}.dark .keyboard-help-header .close-btn:hover{background:var(--gray-800);color:#fff}.dark .shortcut-section h3{color:var(--gray-400)}.dark .shortcut-row{border-bottom-color:var(--gray-800)}.dark .shortcut-row kbd{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-200)}.dark .shortcut-row .description{color:var(--gray-300)}.undo-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--gray-900);color:#fff;border-radius:8px;box-shadow:0 8px 24px #0003;z-index:10001;animation:toastSlideUp .2s ease}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast-message{font-size:14px;font-weight:500}.toast-undo-btn{padding:6px 12px;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:var(--primary-300);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.toast-undo-btn:hover{background:#ffffff1a;border-color:var(--primary-400);color:var(--primary-200)}.toast-dismiss-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--gray-400);cursor:pointer;transition:all .15s ease}.toast-dismiss-btn:hover{background:#ffffff1a;color:#fff}.dark .undo-toast{background:var(--gray-800);box-shadow:0 8px 24px #0006}.site-picker-panel{display:flex;flex-direction:column;gap:12px;margin-top:16px;border:1px solid var(--gray-200);border-radius:8px;padding:12px;background:var(--gray-50)}.dark .site-picker-panel{border-color:var(--gray-700);background:var(--gray-800)}.site-picker-search{position:relative;display:flex;align-items:center}.site-picker-search .search-icon{position:absolute;left:12px;color:var(--gray-400);pointer-events:none}.site-picker-search .search-input{width:100%;padding:8px 36px;border:1px solid var(--gray-300);border-radius:6px;background:#fff;font-size:14px;transition:border-color .15s,box-shadow .15s}.dark .site-picker-search .search-input{background:var(--gray-900);border-color:var(--gray-600);color:var(--gray-100)}.site-picker-search .search-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.dark .site-picker-search .search-input:focus{box-shadow:0 0 0 3px var(--primary-900)}.site-picker-search .search-input::placeholder{color:var(--gray-400)}.site-picker-search .search-clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:var(--gray-200);color:var(--gray-600);cursor:pointer;transition:background-color .15s}.site-picker-search .search-clear:hover{background:var(--gray-300)}.dark .site-picker-search .search-clear{background:var(--gray-700);color:var(--gray-300)}.dark .site-picker-search .search-clear:hover{background:var(--gray-600)}.site-picker-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.picker-count{color:var(--gray-600)}.dark .picker-count{color:var(--gray-400)}.picker-actions{display:flex;align-items:center;gap:12px}.selected-count{font-weight:500;color:var(--primary-600)}.dark .selected-count{color:var(--primary-400)}.site-picker-bar .text-button{padding:4px 8px;border:none;border-radius:4px;background:transparent;color:var(--primary-600);font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s}.site-picker-bar .text-button:hover:not(:disabled){background:var(--primary-50)}.site-picker-bar .text-button:disabled{color:var(--gray-400);cursor:not-allowed}.dark .site-picker-bar .text-button{color:var(--primary-400)}.dark .site-picker-bar .text-button:hover:not(:disabled){background:var(--primary-900)}.dark .site-picker-bar .text-button:disabled{color:var(--gray-600)}.site-picker-list{height:280px;overflow-y:auto;border:1px solid var(--gray-200);border-radius:6px;background:#fff}.dark .site-picker-list{border-color:var(--gray-700);background:var(--gray-900)}.site-picker-list-inner{position:relative;width:100%}.loading-state,.empty-state{display:flex;align-items:center;justify-content:center;height:100%;padding:24px;color:var(--gray-500);font-size:14px;text-align:center}.site-picker-row{display:flex;align-items:center;gap:10px;padding:0 12px;cursor:pointer;transition:background-color .15s;border-bottom:1px solid var(--gray-100)}.dark .site-picker-row{border-bottom-color:var(--gray-800)}.site-picker-row:hover{background:var(--gray-50)}.dark .site-picker-row:hover{background:var(--gray-800)}.site-picker-row.selected{background:var(--primary-50)}.dark .site-picker-row.selected{background:var(--primary-900)}.site-picker-row.selected:hover{background:var(--primary-100)}.dark .site-picker-row.selected:hover{background:rgba(var(--primary-500-rgb),.25)}.row-checkbox{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;border:2px solid var(--gray-300);border-radius:4px;background:#fff;transition:all .15s}.dark .row-checkbox{border-color:var(--gray-600);background:var(--gray-800)}.row-checkbox.checked{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.dark .row-checkbox.checked{background:var(--primary-500);border-color:var(--primary-500)}.site-color-dot{width:10px;height:10px;flex-shrink:0;border-radius:50%}.site-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.site-id{font-size:13px;font-weight:500;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .site-id{color:var(--gray-100)}.site-address{font-size:12px;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .site-address{color:var(--gray-400)}.site-indicators{display:flex;align-items:center;gap:6px;flex-shrink:0}.flag-icon{color:var(--orange-500)}.status-badge{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.status-badge.status-t{background:var(--gray-100);color:var(--gray-600)}.dark .status-badge.status-t{background:var(--gray-700);color:var(--gray-300)}.status-badge.status-r{background:var(--blue-100);color:var(--blue-700)}.dark .status-badge.status-r{background:var(--blue-900);color:var(--blue-300)}.status-badge.status-a{background:var(--green-100);color:var(--green-700)}.dark .status-badge.status-a{background:var(--green-900);color:var(--green-300)}.status-badge.status-j{background:var(--red-100);color:var(--red-700)}.dark .status-badge.status-j{background:var(--red-900);color:var(--red-300)}.wizard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.wizard-container{display:flex;flex-direction:column;width:90%;max-width:720px;max-height:90vh;background:var(--white);border-radius:16px;box-shadow:0 20px 60px #0003;overflow:hidden}.dark .wizard-container{background:var(--gray-900);border:1px solid var(--gray-800)}.wizard-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--gray-200)}.dark .wizard-header{border-color:var(--gray-800)}.wizard-header h2{margin:0;font-size:18px;font-weight:600;color:var(--gray-900)}.dark .wizard-header h2{color:var(--gray-100)}.wizard-header .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--gray-400);cursor:pointer}.wizard-header .close-btn:hover{background:var(--gray-100);color:var(--gray-600)}.dark .wizard-header .close-btn:hover{background:var(--gray-800);color:var(--gray-300)}.wizard-progress{display:flex;align-items:center;justify-content:center;padding:20px 24px;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.dark .wizard-progress{background:var(--gray-850);border-color:var(--gray-800)}.wizard-step-track{display:flex;align-items:flex-start;justify-content:center;gap:0}.step-with-connector{display:flex;align-items:flex-start}.progress-step{display:flex;flex-direction:column;align-items:center;min-width:70px;gap:6px}.step-connector{display:flex;align-items:center;height:28px;padding:0 8px}.connector-line{width:32px;height:2px;background:var(--gray-300);border-radius:1px}.dark .connector-line{background:var(--gray-700)}.step-connector.completed .connector-line{background:var(--primary-500)}.step-indicator{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--gray-200);border-radius:50%;font-size:12px;font-weight:600;color:var(--gray-500)}.dark .step-indicator{background:var(--gray-700);color:var(--gray-400)}.progress-step.active .step-indicator,.progress-step.completed .step-indicator{background:var(--primary-500);color:#fff}.step-label{font-size:12px;font-weight:500;color:var(--gray-400);text-align:center;white-space:nowrap}.progress-step.active .step-label{color:var(--primary-600)}.dark .progress-step.active .step-label{color:var(--primary-400)}.progress-step.completed .step-label{color:var(--gray-600)}.dark .progress-step.completed .step-label{color:var(--gray-400)}.wizard-content{flex:1;overflow-y:auto;padding:24px}.step-content h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--gray-900)}.dark .step-content h3{color:var(--gray-100)}.step-description{margin:0 0 24px;font-size:14px;color:var(--gray-500)}.selection-options{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.selection-option{display:flex;align-items:center;gap:16px;padding:16px;background:var(--white);border:2px solid var(--gray-200);border-radius:12px;cursor:pointer;transition:all .15s}.dark .selection-option{background:var(--gray-850);border-color:var(--gray-700)}.selection-option:hover:not(.disabled){border-color:var(--primary-300)}.dark .selection-option:hover:not(.disabled){border-color:var(--primary-600)}.selection-option.selected{border-color:var(--primary-500);background:var(--primary-50)}.dark .selection-option.selected{border-color:var(--primary-500);background:var(--primary-900)}.selection-option.disabled{opacity:.5;cursor:not-allowed}.selection-option input[type=radio]{display:none}.selection-option svg{color:var(--gray-400);flex-shrink:0}.selection-option.selected svg{color:var(--primary-500)}.option-text{display:flex;flex-direction:column;gap:2px}.option-title{font-size:14px;font-weight:600;color:var(--gray-900)}.dark .option-title{color:var(--gray-100)}.option-description{font-size:12px;color:var(--gray-500)}.selection-dropdown{margin-bottom:16px}.selection-dropdown label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--gray-700)}.dark .selection-dropdown label{color:var(--gray-300)}.selection-dropdown select{width:100%;min-width:300px;padding:10px 12px;background:var(--white);border:1px solid var(--gray-300);border-radius:8px;font-size:14px;color:var(--gray-900);cursor:pointer}.dark .selection-dropdown select{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-100)}.selection-dropdown select:focus{outline:none;border-color:var(--primary-400)}.site-count-preview{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--blue-50);border-radius:8px;font-size:14px;color:var(--blue-700)}.dark .site-count-preview{background:var(--blue-900);color:var(--blue-300)}.site-count-preview svg{color:var(--blue-500)}.layout-options{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.layout-option{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;background:var(--white);border:2px solid var(--gray-200);border-radius:12px;cursor:pointer;transition:all .15s}.dark .layout-option{background:var(--gray-850);border-color:var(--gray-700)}.layout-option:hover{border-color:var(--primary-300)}.dark .layout-option:hover{border-color:var(--primary-600)}.layout-option.selected{border-color:var(--primary-500);background:var(--primary-50)}.dark .layout-option.selected{border-color:var(--primary-500);background:var(--primary-900)}.layout-preview{width:80px;height:60px;display:grid;gap:4px;padding:4px;background:var(--gray-100);border-radius:6px}.dark .layout-preview{background:var(--gray-700)}.layout-preview>div{background:var(--gray-300);border-radius:2px}.dark .layout-preview>div{background:var(--gray-500)}.layout-option.selected .layout-preview{background:var(--primary-100)}.dark .layout-option.selected .layout-preview{background:var(--primary-800)}.layout-option.selected .layout-preview>div{background:var(--primary-400)}.dark .layout-option.selected .layout-preview>div{background:var(--primary-500)}.grid-2x2{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.grid-3col{grid-template-columns:1fr 1fr 1fr}.grid-focus{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.grid-focus>.large{grid-row:span 2}.grid-single{grid-template-columns:1fr}.layout-name{font-size:14px;font-weight:600;color:var(--gray-900)}.dark .layout-name{color:var(--gray-100)}.layout-description{font-size:12px;color:var(--gray-500)}.config-form{display:flex;flex-direction:column;gap:20px}.form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--gray-700)}.dark .form-group label{color:var(--gray-300)}.form-group .required{color:var(--red-500)}.form-group input[type=text],.form-group textarea{width:100%;padding:10px 12px;background:var(--white);border:1px solid var(--gray-300);border-radius:8px;font-size:14px;color:var(--gray-900)}.dark .form-group input[type=text],.dark .form-group textarea{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-100)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-400)}.form-group textarea{resize:vertical;min-height:80px}.visibility-toggle label{display:flex;align-items:center;gap:10px;cursor:pointer}.visibility-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer}.visibility-toggle svg{color:var(--gray-400)}.summary-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.summary-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--gray-50);border-radius:10px}.dark .summary-card{background:var(--gray-850)}.summary-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--primary-100);border-radius:10px;color:var(--primary-600)}.dark .summary-icon{background:var(--primary-900);color:var(--primary-400)}.summary-details{display:flex;flex-direction:column;gap:2px}.summary-label{font-size:12px;font-weight:500;color:var(--gray-400);text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:14px;font-weight:600;color:var(--gray-900)}.dark .summary-value{color:var(--gray-100)}.summary-count{font-size:12px;color:var(--gray-500)}.session-preview{padding:16px;background:var(--primary-50);border:1px solid var(--primary-200);border-radius:10px}.dark .session-preview{background:var(--primary-900);border-color:var(--primary-700)}.session-preview h4{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--primary-800)}.dark .session-preview h4{color:var(--primary-200)}.session-preview p{margin:0;font-size:13px;color:var(--primary-600)}.dark .session-preview p{color:var(--primary-400)}.error-message{margin-top:16px;padding:12px 16px;background:var(--red-50);border:1px solid var(--red-200);border-radius:8px;font-size:14px;color:var(--red-700)}.dark .error-message{background:var(--red-900);border-color:var(--red-700);color:var(--red-300)}.wizard-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--gray-200)}.dark .wizard-footer{border-color:var(--gray-800)}.btn-secondary,.btn-primary{display:flex;align-items:center;gap:6px;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.btn-secondary{background:var(--white);border:1px solid var(--gray-300);color:var(--gray-700)}.dark .btn-secondary{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-300)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}.dark .btn-secondary:hover{background:var(--gray-700);border-color:var(--gray-600)}.btn-primary{background:var(--primary-500);border:none;color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-600)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.create-btn{background:var(--green-600)}.create-btn:hover:not(:disabled){background:var(--green-700)}@media (max-width: 720px){.wizard-container{width:100%;max-width:none;height:100%;max-height:none;border-radius:0}.wizard-progress{padding:16px}.step-connector{padding:0 4px}.connector-line{width:20px}.progress-step{min-width:50px}.step-label{display:none}.selection-dropdown select{min-width:unset}.layout-options{grid-template-columns:1fr}.selection-option{padding:14px}}.review-views-manager{padding:24px;max-width:1400px;margin:0 auto}.review-views-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.header-title{display:flex;align-items:center;gap:12px}.header-title svg{color:var(--primary-500)}.header-title h1{margin:0;font-size:24px;font-weight:700;color:var(--gray-900)}.dark .header-title h1{color:var(--gray-100)}.new-review-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary-500);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.new-review-btn:hover{background:var(--primary-600)}.review-views-controls{display:flex;align-items:center;gap:16px;margin-bottom:24px}.search-box{flex:1;max-width:320px}.search-box input{width:100%;padding:10px 14px;border:1px solid var(--gray-300);border-radius:8px;font-size:14px;background:var(--white);color:var(--gray-900)}.dark .search-box input{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-100)}.search-box input:focus{outline:none;border-color:var(--primary-400)}.show-archived-toggle{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--gray-600);cursor:pointer}.dark .show-archived-toggle{color:var(--gray-400)}.show-archived-toggle input{width:16px;height:16px;cursor:pointer}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin 1s linear infinite}.loading-state p,.error-state p{margin-top:16px;color:var(--gray-500)}.error-state button{margin-top:12px;padding:8px 16px;background:var(--primary-500);color:#fff;border:none;border-radius:6px;cursor:pointer}.empty-state svg{color:var(--gray-300);margin-bottom:16px}.dark .empty-state svg{color:var(--gray-600)}.empty-state h2{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--gray-700)}.dark .empty-state h2{color:var(--gray-300)}.empty-state p{margin:0 0 24px;color:var(--gray-500)}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.session-card{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:16px;transition:all .15s}.session-card:hover{border-color:var(--primary-300);box-shadow:0 4px 12px #00000014}.session-card.archived{opacity:.7}.dark .session-card{background:var(--gray-800);border-color:var(--gray-700)}.dark .session-card:hover{border-color:var(--primary-500);box-shadow:0 4px 12px #0000004d}.session-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.session-name{display:flex;align-items:center;gap:8px}.session-name h3{margin:0;font-size:16px;font-weight:600;color:var(--gray-900)}.dark .session-name h3{color:var(--gray-100)}.session-name svg{color:var(--gray-400)}.session-menu{position:relative}.menu-trigger{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--gray-400);cursor:pointer}.menu-trigger:hover{background:var(--gray-100);color:var(--gray-600)}.dark .menu-trigger:hover{background:var(--gray-700);color:var(--gray-300)}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.menu-dropdown{position:absolute;top:100%;right:0;z-index:11;min-width:140px;padding:4px;background:var(--white);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 12px #00000026}.dark .menu-dropdown{background:var(--gray-800);border-color:var(--gray-700)}.menu-dropdown button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:4px;font-size:13px;color:var(--gray-700);cursor:pointer;text-align:left}.dark .menu-dropdown button{color:var(--gray-300)}.menu-dropdown button:hover{background:var(--gray-100)}.dark .menu-dropdown button:hover{background:var(--gray-700)}.menu-dropdown button.danger{color:var(--red-600)}.menu-dropdown button.danger:hover{background:var(--red-50)}.dark .menu-dropdown button.danger:hover{background:var(--red-900)}.session-description{margin:0 0 12px;font-size:13px;color:var(--gray-500);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dark .session-description{color:var(--gray-400)}.session-stats{display:flex;align-items:center;gap:16px;margin-bottom:12px}.stat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-600)}.dark .stat{color:var(--gray-400)}.stat svg{color:var(--gray-400)}.layout-indicator{width:16px;height:12px;border:1px solid var(--gray-400);border-radius:2px;display:grid;gap:1px;padding:1px}.layout-indicator.layout-1-col{grid-template-columns:1fr}.layout-indicator.layout-2-col{grid-template-columns:1fr 1fr}.layout-indicator.layout-3-col{grid-template-columns:1fr 1fr 1fr}.layout-indicator.layout-2x2{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.layout-indicator:before,.layout-indicator:after{content:"";background:var(--gray-400);border-radius:1px}.session-dates{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.date{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-400)}.dark .date{color:var(--gray-500)}.session-actions{display:flex;justify-content:flex-end}.open-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--primary-50);color:var(--primary-600);border:1px solid var(--primary-200);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.open-btn:hover{background:var(--primary-100);border-color:var(--primary-300)}.dark .open-btn{background:var(--primary-900);border-color:var(--primary-700);color:var(--primary-300)}.dark .open-btn:hover{background:var(--primary-800);border-color:var(--primary-600)}@media (max-width: 768px){.review-views-manager{padding:16px}.review-views-header{flex-direction:column;align-items:flex-start;gap:16px}.review-views-controls{flex-direction:column;align-items:stretch}.search-box{max-width:none}.sessions-grid{grid-template-columns:1fr}}.shot-clock-step{display:flex;flex-direction:column;gap:20px}.shot-clock-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:box-shadow .2s ease}.shot-clock-card:hover{box-shadow:0 2px 8px #00000014}.shot-clock-card--modified{border-left:3px solid #f59e0b}.shot-clock-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;background:#f8fafc;border-bottom:1px solid transparent}.dark .shot-clock-card-header{background:#0f172a}.shot-clock-card-header:hover{background:#f1f5f9}.dark .shot-clock-card-header:hover{background:#1e293b}.shot-clock-card-title{display:flex;align-items:center;gap:8px;font-weight:500;color:#1e293b}.dark .shot-clock-card-title{color:#f1f5f9}.shot-clock-card-summary{display:flex;align-items:center;gap:12px}.shot-clock-days{font-size:14px;font-weight:600;color:#3b82f6}.shot-clock-deemed{display:flex;align-items:center;gap:4px;font-size:12px;color:#10b981}.shot-clock-source-badge{font-size:11px;padding:2px 8px;border-radius:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.shot-clock-source-badge--blue{background:#dbeafe;color:#1d4ed8}.dark .shot-clock-source-badge--blue{background:#1e3a5f;color:#60a5fa}.shot-clock-source-badge--purple{background:#ede9fe;color:#7c3aed}.dark .shot-clock-source-badge--purple{background:#3b2f5a;color:#a78bfa}.shot-clock-source-badge--emerald{background:#d1fae5;color:#059669}.dark .shot-clock-source-badge--emerald{background:#064e3b;color:#34d399}.shot-clock-source-badge--amber{background:#fef3c7;color:#d97706}.dark .shot-clock-source-badge--amber{background:#451a03;color:#fbbf24}.shot-clock-card-content{padding:16px;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:16px}.dark .shot-clock-card-content{border-top-color:#334155}.shot-clock-timing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.shot-clock-field{display:flex;flex-direction:column;gap:4px}.shot-clock-field label{font-size:12px;font-weight:500;color:#64748b}.dark .shot-clock-field label{color:#94a3b8}.shot-clock-input-group{display:flex;align-items:center;gap:8px}.shot-clock-input-suffix{font-size:13px;color:#64748b}.dark .shot-clock-input-suffix{color:#94a3b8}.shot-clock-section{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid #e2e8f0}.dark .shot-clock-section{border-top-color:#334155}.shot-clock-section-header{display:flex;align-items:center;justify-content:space-between}.shot-clock-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#475569}.dark .shot-clock-checkbox{color:#cbd5e1}.shot-clock-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6}.shot-clock-tolling-triggers{display:flex;flex-direction:column;gap:8px;padding-left:24px}.shot-clock-trigger-row{display:flex;align-items:center;gap:8px}.shot-clock-trigger-remove{padding:4px;border:none;background:transparent;color:#ef4444;cursor:pointer;border-radius:4px;transition:background .2s ease}.shot-clock-trigger-remove:hover{background:#fee2e2}.dark .shot-clock-trigger-remove:hover{background:#450a0a}.shot-clock-textarea{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;resize:vertical;font-family:inherit;background:#fff;color:#1e293b}.dark .shot-clock-textarea{background:#0f172a;border-color:#334155;color:#f1f5f9}.shot-clock-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.shot-clock-card-actions{display:flex;justify-content:flex-end;padding-top:8px;border-top:1px solid #e2e8f0}.dark .shot-clock-card-actions{border-top-color:#334155}.shot-clock-unsaved-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;color:#92400e}.dark .shot-clock-unsaved-banner{background:#451a03;border-color:#d97706;color:#fcd34d}.shot-clock-unsaved-banner span{flex:1;font-size:14px;font-weight:500}@media (max-width: 640px){.shot-clock-timing-grid{grid-template-columns:1fr}.shot-clock-card-header{flex-direction:column;align-items:flex-start;gap:8px}.shot-clock-card-summary{width:100%;justify-content:space-between}}.milestones-search{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.dark .milestones-search{background:#1e293b;border-color:#334155}.milestones-search svg{color:#94a3b8;flex-shrink:0}.milestones-search input{border:none!important;box-shadow:none!important;padding:0!important;background:transparent!important}.milestones-summary{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#166534}.dark .milestones-summary{background:#052e16;border-color:#166534;color:#86efac}.milestones-summary-count{font-size:20px;font-weight:700}.milestones-summary-label{font-size:14px}.milestones-loading,.milestones-empty{padding:40px;text-align:center;color:#64748b}.dark .milestones-loading,.dark .milestones-empty{color:#94a3b8}.milestone-categories{display:flex;flex-direction:column;gap:8px}.milestone-category{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.dark .milestone-category{background:#1e293b;border-color:#334155}.milestone-category-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;background:#f8fafc;transition:background .2s ease}.dark .milestone-category-header{background:#0f172a}.milestone-category-header:hover{background:#f1f5f9}.dark .milestone-category-header:hover{background:#1e293b}.milestone-category-title{display:flex;align-items:center;gap:8px;font-weight:500;color:#1e293b}.dark .milestone-category-title{color:#f1f5f9}.milestone-category-count{font-size:12px;color:#64748b;font-weight:400}.dark .milestone-category-count{color:#94a3b8}.milestone-category-badge{display:flex;align-items:center;gap:4px;font-size:12px;color:#10b981;font-weight:500}.milestone-category-content{border-top:1px solid #e2e8f0}.dark .milestone-category-content{border-top-color:#334155}.milestone-template-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f1f5f9;transition:background .2s ease}.dark .milestone-template-item{border-bottom-color:#1e293b}.milestone-template-item:last-child{border-bottom:none}.milestone-template-item:hover{background:#fafafa}.dark .milestone-template-item:hover{background:#0f172a}.milestone-template-item--assigned{background:#f0fdf4;border-left:3px solid #10b981}.dark .milestone-template-item--assigned{background:#052e16;border-left-color:#34d399}.milestone-template-info{display:flex;flex-direction:column;gap:4px;flex:1}.milestone-template-header{display:flex;align-items:center;gap:8px}.milestone-template-code{font-size:11px;font-weight:600;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px;text-transform:uppercase}.dark .milestone-template-code{background:#334155;color:#94a3b8}.milestone-template-name{font-size:14px;font-weight:500;color:#1e293b}.dark .milestone-template-name{color:#f1f5f9}.milestone-template-duration{font-size:12px;color:#64748b}.dark .milestone-template-duration{color:#94a3b8}.milestone-template-stages{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.milestone-stage-tag{font-size:10px;padding:2px 6px;background:#e0f2fe;color:#0369a1;border-radius:4px}.dark .milestone-stage-tag{background:#0c4a6e;color:#7dd3fc}.milestone-stage-tag--more{background:#e2e8f0;color:#64748b}.dark .milestone-stage-tag--more{background:#334155;color:#94a3b8}.milestone-template-actions{display:flex;align-items:center;gap:8px}.milestone-assignment-config{display:flex;align-items:center;gap:12px}.milestone-duration-input{width:70px}.milestone-required-checkbox{display:flex;align-items:center;gap:4px;font-size:12px;color:#64748b;cursor:pointer}.dark .milestone-required-checkbox{color:#94a3b8}.milestone-required-checkbox input{width:14px;height:14px;accent-color:#10b981}.milestone-remove-btn{color:#ef4444}.milestone-remove-btn:hover{background:#fee2e2}.dark .milestone-remove-btn:hover{background:#450a0a}.milestones-assigned-list{display:flex;flex-direction:column;gap:8px}.milestone-assigned-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:6px}.dark .milestone-assigned-item{background:#0f172a;border-color:#334155}.milestone-assigned-info{display:flex;align-items:center;gap:12px}.milestone-assigned-name{font-size:14px;font-weight:500;color:#1e293b}.dark .milestone-assigned-name{color:#f1f5f9}.milestone-assigned-duration{font-size:12px;color:#64748b}.dark .milestone-assigned-duration{color:#94a3b8}.milestone-required-badge{font-size:11px;padding:2px 8px;background:#fef3c7;color:#92400e;border-radius:12px;font-weight:500}.dark .milestone-required-badge{background:#451a03;color:#fcd34d}.milestones-unsaved-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;color:#92400e}.dark .milestones-unsaved-banner{background:#451a03;border-color:#d97706;color:#fcd34d}.milestones-unsaved-banner span{flex:1;font-size:14px;font-weight:500}@media (max-width: 640px){.milestone-template-item{flex-direction:column;align-items:flex-start;gap:12px}.milestone-template-actions{width:100%;justify-content:flex-end}.milestone-assignment-config{flex-direction:column;align-items:flex-start;gap:8px}}.requirements-step{display:flex;flex-direction:column;gap:20px}.requirements-filter{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.dark .requirements-filter{background:#1e293b;border-color:#334155}.requirements-filter-label{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap}.dark .requirements-filter-label{color:#94a3b8}.requirements-filter-chips{display:flex;gap:8px;flex-wrap:wrap}.requirements-filter-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;border:1px solid #e2e8f0;border-radius:20px;background:#fff;color:#64748b;cursor:pointer;transition:all .2s ease;white-space:nowrap}.dark .requirements-filter-chip{background:#0f172a;border-color:#334155;color:#94a3b8}.requirements-filter-chip:hover{border-color:#cbd5e1;color:#475569}.dark .requirements-filter-chip:hover{border-color:#475569;color:#e2e8f0}.requirements-filter-chip.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.requirements-filter-chip--blue.active{background:#3b82f6;border-color:#3b82f6}.requirements-filter-chip--emerald.active{background:#10b981;border-color:#10b981}.requirements-filter-chip--purple.active{background:#8b5cf6;border-color:#8b5cf6}.requirements-filter-chip--slate.active{background:#64748b;border-color:#64748b}.requirements-filter-chip--amber.active{background:#f59e0b;border-color:#f59e0b}.requirements-filter-chip--green.active{background:#22c55e;border-color:#22c55e}.requirements-filter-chip--red.active{background:#ef4444;border-color:#ef4444}.requirements-filter-chip--gray.active{background:#6b7280;border-color:#6b7280}.requirements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.requirement-card-content{display:flex;flex-direction:column;gap:8px}.requirement-value{font-size:20px;font-weight:700;color:#1e293b}.dark .requirement-value{color:#f1f5f9}.requirement-unit{font-size:14px;font-weight:400;color:#64748b;margin-left:4px}.dark .requirement-unit{color:#94a3b8}.requirement-citation-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#3b82f6;text-decoration:none}.requirement-citation-link:hover{text-decoration:underline}.requirement-notes{font-size:12px;color:#64748b;font-style:italic;padding-top:8px;border-top:1px solid #e2e8f0;margin-top:4px}.dark .requirement-notes{color:#94a3b8;border-top-color:#334155}.requirements-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;text-align:center}.dark .requirements-empty{background:#0f172a;border-color:#334155}.requirements-empty svg{color:#94a3b8;opacity:.5}.requirements-empty h3{margin:0;font-size:16px;font-weight:600;color:#475569}.dark .requirements-empty h3{color:#cbd5e1}.requirements-empty p{margin:0;font-size:14px;color:#64748b;max-width:400px}.dark .requirements-empty p{color:#94a3b8}.requirements-suggestions{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.requirement-suggestion{padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px}.dark .requirement-suggestion{background:#0f172a;border-color:#334155}.requirement-suggestion-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#1e293b;margin-bottom:4px}.dark .requirement-suggestion-header{color:#f1f5f9}.requirement-suggestion-header svg{color:#64748b}.dark .requirement-suggestion-header svg{color:#94a3b8}.requirement-suggestion p{margin:0;font-size:12px;color:#64748b;line-height:1.4}.dark .requirement-suggestion p{color:#94a3b8}.requirement-suggestion-unit{display:inline-block;font-size:11px;color:#94a3b8;margin-top:6px}@media (max-width: 640px){.requirements-filter{flex-direction:column;align-items:flex-start}.requirements-filter-chips{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.requirements-grid,.requirements-suggestions{grid-template-columns:1fr}}.contacts-step{display:flex;flex-direction:column;gap:20px}.contacts-summary{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f0f9ff;border:1px solid #7dd3fc;border-radius:8px;color:#0369a1}.dark .contacts-summary{background:#0c4a6e;border-color:#0ea5e9;color:#7dd3fc}.contacts-summary-count{font-size:20px;font-weight:700}.contacts-summary-label{font-size:14px;flex:1}.contacts-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;text-align:center;color:#64748b}.dark .contacts-empty{background:#0f172a;border-color:#334155;color:#94a3b8}.contacts-empty svg{opacity:.5}.contacts-empty p{font-size:15px;margin:0}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.contact-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:box-shadow .2s ease}.dark .contact-card{background:#1e293b;border-color:#334155}.contact-card:hover{box-shadow:0 4px 12px #00000014}.contact-card--editing{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.contact-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.dark .contact-card-header{background:#0f172a;border-bottom-color:#334155}.contact-card-role{display:flex;align-items:center;gap:8px}.contact-role-badge{font-size:12px;font-weight:600;color:#0369a1;background:#e0f2fe;padding:4px 10px;border-radius:12px}.dark .contact-role-badge{background:#0c4a6e;color:#7dd3fc}.contact-primary-badge{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:#ca8a04;background:#fef9c3;padding:2px 8px;border-radius:12px}.dark .contact-primary-badge{background:#422006;color:#fde047}.contact-card-actions{display:flex;gap:4px}.contact-delete-btn{color:#ef4444}.contact-delete-btn:hover{background:#fee2e2}.dark .contact-delete-btn:hover{background:#450a0a}.contact-card-body{padding:16px}.contact-name{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:4px}.dark .contact-name{color:#f1f5f9}.contact-title{font-size:14px;color:#64748b;margin-bottom:8px}.dark .contact-title{color:#94a3b8}.contact-department{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b}.dark .contact-department{color:#94a3b8}.contact-card-footer{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#f8fafc;border-top:1px solid #e2e8f0}.dark .contact-card-footer{background:#0f172a;border-top-color:#334155}.contact-link{display:flex;align-items:center;gap:8px;font-size:13px;color:#3b82f6;text-decoration:none;transition:color .2s ease}.contact-link:hover{color:#2563eb;text-decoration:underline}.contact-form{display:flex;flex-direction:column;gap:16px}.contact-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.contact-form-field{display:flex;flex-direction:column;gap:4px}.contact-form-field--full{grid-column:1 / -1}.contact-form-field label{font-size:12px;font-weight:500;color:#64748b}.dark .contact-form-field label{color:#94a3b8}.contact-notes-textarea{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;resize:vertical;font-family:inherit;background:#fff;color:#1e293b}.dark .contact-notes-textarea{background:#0f172a;border-color:#334155;color:#f1f5f9}.contact-notes-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.contact-form-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid #e2e8f0}.dark .contact-form-footer{border-top-color:#334155}.contact-primary-checkbox{display:flex;align-items:center;gap:6px;font-size:13px;color:#475569;cursor:pointer}.dark .contact-primary-checkbox{color:#cbd5e1}.contact-primary-checkbox input{width:16px;height:16px;accent-color:#eab308}.contact-primary-checkbox svg{color:#ca8a04}.contact-form-actions{display:flex;gap:8px}@media (max-width: 640px){.contacts-grid,.contact-form-grid{grid-template-columns:1fr}.contact-form-footer{flex-direction:column;gap:12px;align-items:stretch}.contact-form-actions{justify-content:flex-end}}.processes-step{display:flex;flex-direction:column;gap:20px}.processes-summary{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#faf5ff;border:1px solid #d8b4fe;border-radius:8px;color:#7c3aed}.dark .processes-summary{background:#2e1065;border-color:#7c3aed;color:#c4b5fd}.processes-summary-count{font-size:20px;font-weight:700}.processes-summary-label{font-size:14px;flex:1}.processes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;text-align:center;color:#64748b}.dark .processes-empty{background:#0f172a;border-color:#334155;color:#94a3b8}.processes-empty svg{opacity:.5}.processes-empty p{font-size:15px;margin:0}.processes-empty-hint{font-size:13px;color:#94a3b8;max-width:400px}.processes-list{display:flex;flex-direction:column;gap:12px}.process-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:box-shadow .2s ease}.dark .process-card{background:#1e293b;border-color:#334155}.process-card:hover{box-shadow:0 2px 8px #0000000f}.process-card--editing{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.process-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;background:#f8fafc;transition:background .2s ease}.dark .process-card-header{background:#0f172a}.process-card-header:hover{background:#f1f5f9}.dark .process-card-header:hover{background:#1e293b}.process-card-title{display:flex;align-items:center;gap:8px}.process-card-title svg{color:#64748b}.dark .process-card-title svg{color:#94a3b8}.process-type-badge{font-size:11px;font-weight:600;color:#7c3aed;background:#ede9fe;padding:3px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.05em}.dark .process-type-badge{background:#3b2f5a;color:#a78bfa}.process-name{font-size:14px;font-weight:500;color:#1e293b}.dark .process-name{color:#f1f5f9}.process-card-meta{display:flex;align-items:center;gap:12px}.process-days{display:flex;align-items:center;gap:4px;font-size:12px;color:#64748b}.dark .process-days{color:#94a3b8}.process-card-actions{display:flex;gap:4px}.process-delete-btn{color:#ef4444}.process-delete-btn:hover{background:#fee2e2}.dark .process-delete-btn:hover{background:#450a0a}.process-card-content{padding:16px;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:12px}.dark .process-card-content{border-top-color:#334155}.process-description{font-size:14px;color:#475569;line-height:1.5}.dark .process-description{color:#cbd5e1}.process-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:12px;background:#f8fafc;border-radius:6px}.dark .process-details-grid{background:#0f172a}.process-detail{display:flex;flex-direction:column;gap:2px}.process-detail label{font-size:11px;font-weight:500;color:#64748b;text-transform:uppercase}.dark .process-detail label{color:#94a3b8}.process-detail span,.process-detail a{font-size:13px;color:#1e293b}.dark .process-detail span,.dark .process-detail a{color:#f1f5f9}.process-detail a{display:flex;align-items:center;gap:4px;color:#3b82f6;text-decoration:none}.process-detail a:hover{text-decoration:underline}.process-tips,.process-issues{font-size:13px;color:#475569;padding:10px 12px;border-radius:6px;line-height:1.4}.dark .process-tips,.dark .process-issues{color:#cbd5e1}.process-tips{background:#ecfdf5;border-left:3px solid #10b981}.dark .process-tips{background:#052e16;border-left-color:#34d399}.process-issues{background:#fef2f2;border-left:3px solid #ef4444}.dark .process-issues{background:#450a0a;border-left-color:#f87171}.process-tips strong,.process-issues strong{font-weight:600;margin-right:4px}.process-form{display:flex;flex-direction:column;gap:16px}.process-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.process-form-field{display:flex;flex-direction:column;gap:4px}.process-form-field--full{grid-column:1 / -1}.process-form-field label{font-size:12px;font-weight:500;color:#64748b}.dark .process-form-field label{color:#94a3b8}.process-textarea{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;resize:vertical;font-family:inherit;background:#fff;color:#1e293b}.dark .process-textarea{background:#0f172a;border-color:#334155;color:#f1f5f9}.process-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.process-form-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid #e2e8f0}.dark .process-form-footer{border-top-color:#334155}@media (max-width: 640px){.process-form-grid{grid-template-columns:1fr}.process-card-header{flex-direction:column;align-items:flex-start;gap:8px}.process-card-meta{width:100%;justify-content:space-between}.process-details-grid{grid-template-columns:1fr}}.review-progress-card{padding:20px 24px;background:linear-gradient(135deg,#1e40af,#3b82f6);border-radius:12px;color:#fff}.dark .review-progress-card{background:linear-gradient(135deg,#1e3a8a,#2563eb)}.review-progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.review-progress-header h3{margin:0;font-size:18px;font-weight:600}.review-progress-percentage{font-size:28px;font-weight:700}.review-progress-bar{height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden}.review-progress-bar-fill{height:100%;background:#fff;border-radius:4px;transition:width .5s ease}.review-progress-summary{margin-top:12px;font-size:14px;opacity:.9}.review-steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.review-step-card{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease}.dark .review-step-card{background:#1e293b;border-color:#334155}.review-step-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626}.review-step-card--emerald{border-left:3px solid #10b981}.review-step-card--amber{border-left:3px solid #f59e0b}.review-step-card--slate{border-left:3px solid #94a3b8}.review-step-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f1f5f9;border-radius:8px;color:#64748b;flex-shrink:0}.dark .review-step-icon{background:#0f172a;color:#94a3b8}.review-step-content{flex:1;min-width:0}.review-step-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.review-step-label{font-size:14px;font-weight:600;color:#1e293b}.dark .review-step-label{color:#f1f5f9}.review-step-status{display:flex;flex-shrink:0}.review-step-status--emerald{color:#10b981}.review-step-status--amber{color:#f59e0b}.review-step-status--slate{color:#94a3b8}.review-step-count{font-size:12px;color:#64748b;margin-top:2px}.dark .review-step-count{color:#94a3b8}.review-step-arrow{width:16px;height:16px;color:#94a3b8;flex-shrink:0}.review-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.review-detail-item{display:flex;flex-direction:column;gap:4px;padding:12px;background:#f8fafc;border-radius:6px}.dark .review-detail-item{background:#0f172a}.review-detail-label{font-size:12px;font-weight:500;color:#64748b}.dark .review-detail-label{color:#94a3b8}.review-detail-value{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1e293b}.dark .review-detail-value{color:#f1f5f9}.review-detail-badge{font-size:10px;font-weight:500;padding:2px 6px;background:#dcfce7;color:#166534;border-radius:10px}.dark .review-detail-badge{background:#052e16;color:#4ade80}.review-milestone-list{display:flex;flex-direction:column;gap:8px}.review-milestone-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8fafc;border-radius:6px}.dark .review-milestone-item{background:#0f172a}.review-milestone-item svg{color:#3b82f6;flex-shrink:0}.review-milestone-item span:first-of-type{flex:1;font-size:14px;color:#1e293b}.dark .review-milestone-item span:first-of-type{color:#f1f5f9}.review-milestone-duration{font-size:12px;color:#64748b;font-weight:500}.dark .review-milestone-duration{color:#94a3b8}.review-milestone-more{font-size:13px;color:#64748b;padding:8px 14px;text-align:center}.dark .review-milestone-more{color:#94a3b8}.review-contact-list{display:flex;flex-direction:column;gap:8px}.review-contact-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8fafc;border-radius:6px}.dark .review-contact-item{background:#0f172a}.review-contact-item svg{color:#64748b;flex-shrink:0}.dark .review-contact-item svg{color:#94a3b8}.review-contact-info{flex:1;min-width:0}.review-contact-name{display:block;font-size:14px;font-weight:500;color:#1e293b}.dark .review-contact-name{color:#f1f5f9}.review-contact-role{display:block;font-size:12px;color:#64748b}.dark .review-contact-role{color:#94a3b8}.review-contact-primary{font-size:10px;font-weight:600;padding:2px 8px;background:#fef3c7;color:#92400e;border-radius:10px;text-transform:uppercase;letter-spacing:.05em}.dark .review-contact-primary{background:#451a03;color:#fcd34d}@media (max-width: 640px){.review-steps-grid,.review-detail-grid{grid-template-columns:1fr}.review-progress-header h3{font-size:16px}.review-progress-percentage{font-size:24px}}.jurisdictional-wizard{display:flex;flex-direction:column;gap:20px;min-height:400px}.wizard-content{flex:1;overflow-y:auto;padding-right:4px}.wizard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:#64748b}.dark .wizard-loading{color:#94a3b8}.wizard-loading svg{color:#3b82f6}.wizard-loading p{font-size:14px;margin:0}.wizard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;text-align:center}.wizard-error svg{color:#ef4444}.wizard-error p{margin:0;font-size:15px;color:#1e293b}.dark .wizard-error p{color:#f1f5f9}.wizard-error-hint{font-size:13px;color:#64748b!important}.dark .wizard-error-hint{color:#94a3b8!important}.wizard-message{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500}.wizard-message--error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.dark .wizard-message--error{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}.wizard-message--success{background:#f0fdf4;border:1px solid #86efac;color:#166534}.dark .wizard-message--success{background:#052e16;border-color:#166534;color:#86efac}@media (max-width: 768px){.jurisdictional-wizard{gap:16px}}.prepopulate-step{display:flex;flex-direction:column;gap:20px}.site-info-banner{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #bfdbfe;border-radius:10px}.dark .site-info-banner{background:linear-gradient(135deg,#1e3a5f,#14532d);border-color:#1d4ed8}.site-info-banner svg{color:#3b82f6;flex-shrink:0}.dark .site-info-banner svg{color:#60a5fa}.site-info-text{flex:1;display:flex;flex-direction:column;gap:2px}.site-info-text .site-name{font-weight:600;font-size:15px;color:#1e293b}.dark .site-info-text .site-name{color:#f1f5f9}.site-info-text .jurisdiction-name{font-size:13px;color:#64748b}.dark .site-info-text .jurisdiction-name{color:#94a3b8}.stage-badge{padding:4px 10px;background:#dbeafe;color:#1e40af;border-radius:9999px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.dark .stage-badge{background:#1e3a5f;color:#93c5fd}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.setting-card{display:flex;flex-direction:column;gap:12px;padding:16px;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s ease}.dark .setting-card{background:#1e293b;border-color:#334155}.setting-card:hover:not(.setting-card--disabled){border-color:#94a3b8;box-shadow:0 2px 8px #00000014}.dark .setting-card:hover:not(.setting-card--disabled){border-color:#64748b}.setting-card--enabled{border-color:#3b82f6;background:#f0f9ff}.dark .setting-card--enabled{border-color:#3b82f6;background:#1e3a5f}.setting-card--disabled{opacity:.5;cursor:not-allowed}.setting-header{display:flex;align-items:center;justify-content:space-between}.setting-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f1f5f9;border-radius:10px;color:#64748b;transition:all .2s ease}.dark .setting-icon{background:#334155;color:#94a3b8}.setting-icon--active{background:#dbeafe;color:#3b82f6}.dark .setting-icon--active{background:#1e40af;color:#93c5fd}.setting-toggle{padding:2px}.toggle-track{position:relative;width:44px;height:24px;background:#cbd5e1;border-radius:12px;transition:background .2s ease}.dark .toggle-track{background:#475569}.toggle-track--on{background:#3b82f6}.toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.toggle-track--on .toggle-thumb{transform:translate(20px)}.setting-content{flex:1}.setting-label{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:#1e293b;margin-bottom:4px}.dark .setting-label{color:#f1f5f9}.recommended-badge{padding:2px 6px;background:#dcfce7;color:#166534;border-radius:4px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.dark .recommended-badge{background:#14532d;color:#86efac}.setting-description{margin:0;font-size:13px;color:#64748b;line-height:1.5}.dark .setting-description{color:#94a3b8}.setting-counts{display:flex;align-items:baseline;gap:6px;padding-top:8px;border-top:1px solid #e2e8f0}.dark .setting-counts{border-color:#334155}.count-value{font-size:18px;font-weight:700;color:#3b82f6}.dark .count-value{color:#60a5fa}.count-label{font-size:12px;color:#64748b}.dark .count-label{color:#94a3b8}.setting-counts .no-data{font-size:12px;color:#94a3b8;font-style:italic}.dark .setting-counts .no-data{color:#64748b}.selection-summary{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.dark .selection-summary{background:#1e293b;border-color:#334155}.summary-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#dcfce7;color:#16a34a;border-radius:50%}.dark .summary-icon{background:#14532d;color:#86efac}.summary-text{font-size:14px;color:#64748b}.dark .summary-text{color:#94a3b8}.summary-text strong{color:#1e293b;font-weight:600}.dark .summary-text strong{color:#f1f5f9}@media (max-width: 640px){.settings-grid{grid-template-columns:1fr}.site-info-banner{flex-wrap:wrap}.stage-badge{margin-left:auto}}.shot-clocks-step{display:flex;flex-direction:column;gap:20px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;text-align:center;color:#64748b}.dark .empty-state{color:#94a3b8}.empty-state svg{color:#cbd5e1}.dark .empty-state svg{color:#475569}.empty-state h3{margin:0;font-size:18px;font-weight:600;color:#1e293b}.dark .empty-state h3{color:#f1f5f9}.empty-state p{margin:0;font-size:14px}.shot-clock-cards{display:flex;flex-direction:column;gap:12px}.shot-clock-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;transition:all .2s ease}.dark .shot-clock-card{background:#1e293b;border-color:#334155}.shot-clock-card:hover{border-color:#94a3b8}.dark .shot-clock-card:hover{border-color:#64748b}.shot-clock-card--expanded,.dark .shot-clock-card--expanded{border-color:#3b82f6}.shot-clock-card--override{border-left:4px solid #f59e0b}.shot-clock-header{display:flex;align-items:center;justify-content:space-between;padding:16px;cursor:pointer}.header-left{display:flex;align-items:center;gap:12px}.clock-icon-wrapper{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#dbeafe;color:#3b82f6;border-radius:10px}.dark .clock-icon-wrapper{background:#1e3a5f;color:#60a5fa}.header-text{display:flex;flex-direction:column;gap:4px}.header-text h4{margin:0;font-size:15px;font-weight:600;color:#1e293b}.dark .header-text h4{color:#f1f5f9}.source-badge{display:inline-block;padding:2px 8px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;border-radius:9999px;background:#f1f5f9;color:#64748b}.dark .source-badge{background:#334155;color:#94a3b8}.source-badge--federal{background:#fef3c7;color:#92400e}.dark .source-badge--federal{background:#78350f;color:#fcd34d}.source-badge--jurisdiction{background:#dcfce7;color:#166534}.dark .source-badge--jurisdiction{background:#14532d;color:#86efac}.header-right{display:flex;align-items:center;gap:16px}.days-display{display:flex;flex-direction:column;align-items:flex-end}.days-value{font-size:24px;font-weight:700;color:#1e293b;line-height:1}.dark .days-value{color:#f1f5f9}.days-label{font-size:12px;color:#64748b}.dark .days-label{color:#94a3b8}.expand-icon{color:#94a3b8;transition:transform .2s ease}.dark .expand-icon{color:#64748b}.shot-clock-details{padding:16px;border-top:1px solid #e2e8f0;margin-top:0}.dark .shot-clock-details{border-color:#334155}.timing-breakdown{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.timing-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f8fafc;border-radius:6px}.dark .timing-row{background:#0f172a}.timing-row--total{background:#dbeafe;font-weight:600}.dark .timing-row--total{background:#1e3a5f}.timing-label{font-size:13px;color:#64748b}.dark .timing-label{color:#94a3b8}.timing-row--total .timing-label{color:#1e40af}.dark .timing-row--total .timing-label{color:#93c5fd}.timing-value{font-size:14px;font-weight:500;color:#1e293b}.dark .timing-value{color:#f1f5f9}.features-row{display:flex;gap:8px;margin-bottom:16px}.feature-badge{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#f1f5f9;color:#64748b;border-radius:6px;font-size:12px;font-weight:500}.dark .feature-badge{background:#334155;color:#94a3b8}.feature-badge--active{background:#dcfce7;color:#166534}.dark .feature-badge--active{background:#14532d;color:#86efac}.override-section{padding:16px;background:#fefce8;border:1px solid #fef08a;border-radius:8px}.dark .override-section{background:#422006;border-color:#854d0e}.override-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#854d0e;margin-bottom:8px}.dark .override-label{color:#fcd34d}.override-input-row{display:flex;gap:8px}.override-input{flex:1;padding:8px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;max-width:150px}.dark .override-input{background:#1e293b;border-color:#334155;color:#f1f5f9}.override-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.reset-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;transition:all .2s ease}.dark .reset-button{background:#1e293b;border-color:#334155;color:#94a3b8}.reset-button:hover{background:#f1f5f9;color:#1e293b}.dark .reset-button:hover{background:#334155;color:#f1f5f9}.override-notice{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:#854d0e}.dark .override-notice{color:#fcd34d}.overrides-summary{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fefce8;border:1px solid #fef08a;border-radius:8px}.dark .overrides-summary{background:#422006;border-color:#854d0e}.overrides-summary svg{color:#f59e0b}.overrides-summary .summary-text{font-size:14px;color:#854d0e}.dark .overrides-summary .summary-text{color:#fcd34d}.overrides-summary .summary-text strong{color:#78350f}.dark .overrides-summary .summary-text strong{color:#fef3c7}@media (max-width: 640px){.shot-clock-header{flex-wrap:wrap;gap:12px}.header-right{width:100%;justify-content:flex-end}.features-row{flex-wrap:wrap}.override-input{max-width:none}}.milestones-step{display:flex;flex-direction:column;gap:20px}.milestones-step .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;text-align:center;color:#64748b}.dark .milestones-step .empty-state{color:#94a3b8}.milestones-step .empty-state svg{color:#cbd5e1}.dark .milestones-step .empty-state svg{color:#475569}.milestones-step .empty-state h3{margin:0;font-size:18px;font-weight:600;color:#1e293b}.dark .milestones-step .empty-state h3{color:#f1f5f9}.milestones-step .empty-state p{margin:0;font-size:14px}.milestones-summary{display:flex;gap:16px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.dark .milestones-summary{background:#1e293b;border-color:#334155}.summary-stat{display:flex;flex-direction:column;align-items:center;flex:1;padding:8px 0}.summary-stat .stat-value{font-size:24px;font-weight:700;color:#1e293b;line-height:1}.dark .summary-stat .stat-value{color:#f1f5f9}.summary-stat .stat-label{font-size:12px;color:#64748b;margin-top:4px}.dark .summary-stat .stat-label{color:#94a3b8}.milestone-list{display:flex;flex-direction:column;gap:8px}.milestone-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:all .2s ease}.dark .milestone-card{background:#1e293b;border-color:#334155}.milestone-card:hover{border-color:#94a3b8}.dark .milestone-card:hover{border-color:#64748b}.milestone-card--skipped{opacity:.6;border-style:dashed}.milestone-card--customized{border-left:3px solid #f59e0b}.milestone-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer}.milestone-header .header-left{display:flex;align-items:center;gap:12px}.milestone-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px}.milestone-info{display:flex;flex-direction:column;gap:2px}.milestone-name{font-size:14px;font-weight:600;color:#1e293b}.dark .milestone-name{color:#f1f5f9}.milestone-code{font-size:12px;color:#64748b;font-family:monospace}.dark .milestone-code{color:#94a3b8}.milestone-header .header-right{display:flex;align-items:center;gap:12px}.required-badge{padding:4px 8px;background:#fef3c7;color:#92400e;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.dark .required-badge{background:#78350f;color:#fcd34d}.duration-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#f1f5f9;color:#64748b;border-radius:6px;font-size:13px}.dark .duration-badge{background:#334155;color:#94a3b8}.milestone-header .expand-icon{color:#94a3b8}.dark .milestone-header .expand-icon{color:#64748b}.milestone-details{padding:16px;border-top:1px solid #e2e8f0}.dark .milestone-details{border-color:#334155}.skip-toggle{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f1f5f9;border-radius:6px;cursor:pointer;font-size:14px;color:#64748b;margin-bottom:12px}.dark .skip-toggle{background:#0f172a;color:#94a3b8}.skip-toggle:hover{background:#e2e8f0}.dark .skip-toggle:hover{background:#1e293b}.skip-toggle input{width:16px;height:16px;cursor:pointer}.required-notice{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fef3c7;border-radius:6px;font-size:13px;color:#92400e;margin-bottom:12px}.dark .required-notice{background:#78350f;color:#fcd34d}.custom-duration{display:flex;flex-direction:column;gap:8px}.duration-label{font-size:13px;font-weight:500;color:#64748b}.dark .duration-label{color:#94a3b8}.duration-input-row{display:flex;align-items:center;gap:12px}.duration-input{padding:8px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;width:120px}.dark .duration-input{background:#0f172a;border-color:#334155;color:#f1f5f9}.duration-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.duration-default{font-size:12px;color:#94a3b8}.dark .duration-default{color:#64748b}.modifications-notice{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#fefce8;border:1px solid #fef08a;border-radius:8px}.dark .modifications-notice{background:#422006;border-color:#854d0e}.modifications-notice svg{color:#f59e0b;flex-shrink:0;margin-top:2px}.modifications-notice .notice-text{display:flex;flex-direction:column;gap:4px;font-size:14px;color:#854d0e}.dark .modifications-notice .notice-text{color:#fcd34d}.modifications-notice .notice-text strong{color:#78350f}.dark .modifications-notice .notice-text strong{color:#fef3c7}@media (max-width: 640px){.milestones-summary{flex-wrap:wrap}.summary-stat{min-width:80px}.milestone-header{flex-wrap:wrap;gap:12px}.milestone-header .header-right{width:100%;justify-content:flex-end}.duration-input-row{flex-wrap:wrap}.duration-input{width:100%}}.constraints-step{display:flex;flex-direction:column;gap:20px}.add-constraint-button{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.add-constraint-button:hover{background:#2563eb}.add-constraint-form{display:flex;flex-direction:column;gap:16px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.dark .add-constraint-form{background:#0f172a;border-color:#334155}.form-row{display:flex;flex-direction:column;gap:8px}.form-row-inline{display:flex;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px;flex:1}.form-label{font-size:13px;font-weight:500;color:#64748b}.dark .form-label{color:#94a3b8}.type-selector{display:flex;flex-wrap:wrap;gap:8px}.type-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#64748b;cursor:pointer;transition:all .2s ease}.dark .type-button{background:#1e293b;border-color:#334155;color:#94a3b8}.type-button:hover{border-color:#94a3b8}.dark .type-button:hover{border-color:#64748b}.type-button--active{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.dark .type-button--active{background:#1e3a5f;border-color:#3b82f6;color:#93c5fd}.severity-selector{display:flex;gap:8px}.severity-button{padding:8px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:6px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.dark .severity-button{background:#1e293b;border-color:#334155;color:#94a3b8}.severity-button:hover{border-color:#94a3b8}.severity-button--active{color:inherit}.form-textarea{padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;resize:vertical;font-family:inherit}.dark .form-textarea{background:#1e293b;border-color:#334155;color:#f1f5f9}.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input{padding:8px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;width:120px}.dark .form-input{background:#1e293b;border-color:#334155;color:#f1f5f9}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid #e2e8f0}.dark .form-actions{border-color:#334155}.cancel-button{padding:8px 16px;background:transparent;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#64748b;cursor:pointer;transition:all .2s ease}.dark .cancel-button{border-color:#334155;color:#94a3b8}.cancel-button:hover{background:#f1f5f9}.dark .cancel-button:hover{background:#1e293b}.save-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.save-button:hover:not(:disabled){background:#2563eb}.save-button:disabled{opacity:.5;cursor:not-allowed}.constraints-list{display:flex;flex-direction:column;gap:12px}.constraint-card{padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.dark .constraint-card{background:#1e293b;border-color:#334155}.constraint-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.constraint-type{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#1e293b}.dark .constraint-type{color:#f1f5f9}.constraint-type svg{color:#64748b}.dark .constraint-type svg{color:#94a3b8}.constraint-actions{display:flex;align-items:center;gap:8px}.severity-tag{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.impact-tag{padding:4px 8px;background:#f1f5f9;color:#64748b;border-radius:4px;font-size:12px;font-weight:500}.dark .impact-tag{background:#334155;color:#94a3b8}.remove-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;transition:all .2s ease}.dark .remove-button{color:#64748b}.remove-button:hover{background:#fef2f2;color:#ef4444}.dark .remove-button:hover{background:#450a0a;color:#f87171}.constraint-description{margin:0;font-size:14px;color:#64748b;line-height:1.5}.dark .constraint-description{color:#94a3b8}.empty-constraints{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;text-align:center;color:#94a3b8}.dark .empty-constraints{color:#64748b}.empty-constraints svg{color:#cbd5e1}.dark .empty-constraints svg{color:#475569}.empty-constraints p{margin:0;font-size:15px;font-weight:500;color:#64748b}.dark .empty-constraints p{color:#94a3b8}.empty-constraints span{font-size:13px}.notes-textarea{width:100%;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;resize:vertical;font-family:inherit}.dark .notes-textarea{background:#1e293b;border-color:#334155;color:#f1f5f9}.notes-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.notes-hint{font-size:12px;color:#94a3b8;margin-top:8px}.dark .notes-hint{color:#64748b}.constraints-summary{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fefce8;border:1px solid #fef08a;border-radius:8px}.dark .constraints-summary{background:#422006;border-color:#854d0e}.constraints-summary svg{color:#f59e0b}.summary-content{font-size:14px;color:#854d0e}.dark .summary-content{color:#fcd34d}.summary-content strong{color:#78350f}.dark .summary-content strong{color:#fef3c7}.high-severity-warning{margin-left:4px;color:#ef4444}.dark .high-severity-warning{color:#f87171}@media (max-width: 640px){.type-selector{gap:6px}.type-button{padding:6px 10px;font-size:12px}.type-button span{display:none}.form-row-inline{flex-direction:column}.constraint-header{flex-wrap:wrap;gap:8px}}.review-step{display:flex;flex-direction:column;gap:20px}.sites-summary-banner{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #bfdbfe;border-radius:12px}.dark .sites-summary-banner{background:linear-gradient(135deg,#1e3a5f,#14532d);border-color:#1d4ed8}.sites-summary-banner svg{color:#3b82f6;flex-shrink:0}.dark .sites-summary-banner svg{color:#60a5fa}.sites-summary-banner .banner-content h3{margin:0;font-size:18px;font-weight:600;color:#1e293b}.dark .sites-summary-banner .banner-content h3{color:#f1f5f9}.sites-summary-banner .banner-content p{margin:4px 0 0;font-size:14px;color:#64748b}.dark .sites-summary-banner .banner-content p{color:#94a3b8}.results-banner{display:flex;align-items:center;gap:16px;padding:20px;border-radius:12px}.results-banner--success{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac}.dark .results-banner--success{background:linear-gradient(135deg,#052e16,#14532d);border-color:#22c55e}.results-banner--success svg{color:#16a34a}.dark .results-banner--success svg{color:#86efac}.results-banner .banner-content h3{margin:0;font-size:18px;font-weight:600;color:#166534}.dark .results-banner .banner-content h3{color:#86efac}.results-banner .banner-content p{margin:4px 0 0;font-size:14px;color:#15803d}.dark .results-banner .banner-content p{color:#4ade80}.results-grid{display:flex;gap:16px}.result-card{display:flex;align-items:center;gap:12px;flex:1;padding:16px;border-radius:10px}.result-card--success{background:#f0fdf4;border:1px solid #86efac}.dark .result-card--success{background:#052e16;border-color:#22c55e}.result-card--success svg{color:#16a34a}.dark .result-card--success svg{color:#86efac}.result-card--error{background:#fef2f2;border:1px solid #fecaca}.dark .result-card--error{background:#450a0a;border-color:#ef4444}.result-card--error svg{color:#dc2626}.dark .result-card--error svg{color:#f87171}.result-card--skipped{background:#f1f5f9;border:1px solid #e2e8f0}.dark .result-card--skipped{background:#1e293b;border-color:#334155}.result-card--skipped svg{color:#64748b}.dark .result-card--skipped svg{color:#94a3b8}.result-content{display:flex;flex-direction:column}.result-value{font-size:24px;font-weight:700;color:#1e293b;line-height:1}.dark .result-value{color:#f1f5f9}.result-label{font-size:12px;color:#64748b;margin-top:4px}.dark .result-label{color:#94a3b8}.created-items{display:flex;gap:24px}.created-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.dark .created-item{background:#1e293b;border-color:#334155}.created-item svg{color:#3b82f6}.dark .created-item svg{color:#60a5fa}.created-count{font-size:20px;font-weight:700;color:#1e293b}.dark .created-count{color:#f1f5f9}.created-label{font-size:13px;color:#64748b}.dark .created-label{color:#94a3b8}.failed-sites-list{display:flex;flex-direction:column;gap:8px}.failed-site{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.dark .failed-site{background:#450a0a;border-color:#7f1d1d}.failed-site svg{color:#dc2626;flex-shrink:0;margin-top:2px}.dark .failed-site svg{color:#f87171}.failed-site-info{display:flex;flex-direction:column;gap:2px}.failed-site .site-name{font-size:14px;font-weight:600;color:#991b1b}.dark .failed-site .site-name{color:#fecaca}.failed-site .error-message{font-size:13px;color:#b91c1c}.dark .failed-site .error-message{color:#f87171}.creation-summary{display:flex;flex-direction:column;gap:12px}.creation-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;transition:all .2s ease}.dark .creation-item{background:#1e293b;border-color:#334155}.creation-item--enabled{border-color:#86efac;background:#f0fdf4}.dark .creation-item--enabled{border-color:#22c55e;background:#052e16}.creation-item--disabled{opacity:.6;border-style:dashed}.creation-item .item-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f1f5f9;border-radius:10px}.dark .creation-item .item-icon{background:#334155}.creation-item--enabled .item-icon{background:#dcfce7}.dark .creation-item--enabled .item-icon{background:#14532d}.creation-item .item-icon svg{color:#64748b}.dark .creation-item .item-icon svg{color:#94a3b8}.creation-item--enabled .item-icon svg{color:#16a34a}.dark .creation-item--enabled .item-icon svg{color:#86efac}.creation-item .item-content{flex:1;display:flex;flex-direction:column;gap:2px}.item-label{font-size:14px;font-weight:600;color:#1e293b}.dark .item-label{color:#f1f5f9}.item-count{font-size:13px;color:#16a34a}.dark .item-count{color:#86efac}.item-skipped{font-size:13px;color:#94a3b8;font-style:italic}.dark .item-skipped{color:#64748b}.item-status .status-enabled{color:#16a34a}.dark .item-status .status-enabled{color:#86efac}.item-status .status-disabled{color:#94a3b8}.dark .item-status .status-disabled{color:#64748b}.clock-settings{display:flex;flex-direction:column;gap:12px}.clock-setting{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.dark .clock-setting{background:#1e293b;border-color:#334155}.clock-setting--active{background:#eff6ff;border-color:#3b82f6}.dark .clock-setting--active{background:#1e3a5f;border-color:#3b82f6}.clock-setting svg{color:#64748b}.dark .clock-setting svg{color:#94a3b8}.clock-setting--active svg{color:#3b82f6}.dark .clock-setting--active svg{color:#60a5fa}.clock-setting .setting-content{display:flex;flex-direction:column;gap:2px}.clock-setting .setting-label{font-size:14px;font-weight:500;color:#1e293b}.dark .clock-setting .setting-label{color:#f1f5f9}.clock-setting .setting-value{font-size:13px;color:#64748b}.dark .clock-setting .setting-value{color:#94a3b8}.sites-list{display:flex;flex-direction:column;gap:8px}.site-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.dark .site-item{background:#1e293b;border-color:#334155}.site-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#f1f5f9;color:#64748b;border-radius:50%;font-size:12px;font-weight:600}.dark .site-number{background:#334155;color:#94a3b8}.site-item .site-info{flex:1;display:flex;flex-direction:column;gap:2px}.site-item .site-name{font-size:14px;font-weight:500;color:#1e293b}.dark .site-item .site-name{color:#f1f5f9}.site-item .site-jurisdiction{font-size:12px;color:#64748b}.dark .site-item .site-jurisdiction{color:#94a3b8}.site-item svg{color:#cbd5e1}.dark .site-item svg{color:#475569}.more-sites{padding:12px 16px;background:#f8fafc;border:1px dashed #e2e8f0;border-radius:8px;text-align:center;font-size:13px;color:#64748b}.dark .more-sites{background:#0f172a;border-color:#334155;color:#94a3b8}.processing-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.dark .processing-overlay{background:#0f172a;border-color:#334155}.processing-overlay svg{color:#3b82f6}.processing-overlay p{margin:0;font-size:15px;font-weight:500;color:#1e293b}.dark .processing-overlay p{color:#f1f5f9}.processing-overlay span{font-size:13px;color:#64748b}.dark .processing-overlay span{color:#94a3b8}@media (max-width: 640px){.results-grid{flex-direction:column}.created-items{flex-wrap:wrap}.created-item{flex:1;min-width:140px}}.site-pm-wizard{display:flex;flex-direction:column;gap:20px;min-height:400px}.site-pm-wizard .wizard-content{flex:1;overflow-y:auto;padding-right:4px}.site-pm-wizard .wizard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:#64748b}.dark .site-pm-wizard .wizard-loading{color:#94a3b8}.site-pm-wizard .wizard-loading svg{color:#3b82f6}.site-pm-wizard .wizard-loading p{font-size:14px;margin:0}.site-pm-wizard .wizard-message{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500}.site-pm-wizard .wizard-message--error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.dark .site-pm-wizard .wizard-message--error{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}.site-pm-wizard .wizard-message--success{background:#f0fdf4;border:1px solid #86efac;color:#166534}.dark .site-pm-wizard .wizard-message--success{background:#052e16;border-color:#166534;color:#86efac}.wizard-complete-footer{display:flex;justify-content:flex-end;padding:16px 0}.complete-close-button{padding:10px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.complete-close-button:hover{background:#2563eb}.bulk-mode-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#dbeafe;color:#1e40af;border-radius:9999px;font-size:12px;font-weight:500}.dark .bulk-mode-badge{background:#1e3a5f;color:#93c5fd}@media (max-width: 768px){.site-pm-wizard{gap:16px}}.distribution-list-manager{display:flex;flex-direction:column;gap:1rem}.distribution-list-manager-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.dark .distribution-list-manager-header{border-color:var(--color-border-dark, #374151)}.distribution-list-manager-subtitle{margin:0;font-size:.875rem;color:var(--color-text-secondary, #6b7280)}.dark .distribution-list-manager-subtitle{color:var(--color-text-secondary-dark, #9ca3af)}.distribution-list-manager-create-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-primary, #3b82f6);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.distribution-list-manager-create-btn:hover{background:var(--color-primary-dark, #2563eb)}.distribution-list-manager-loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;color:var(--color-text-secondary, #6b7280)}.dark .distribution-list-manager-loading{color:var(--color-text-secondary-dark, #9ca3af)}.distribution-list-manager-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;text-align:center;color:var(--color-text-secondary, #6b7280)}.dark .distribution-list-manager-empty{color:var(--color-text-secondary-dark, #9ca3af)}.distribution-list-manager-empty h3{margin:0;font-size:1.125rem;color:var(--color-text, #111827)}.dark .distribution-list-manager-empty h3{color:var(--color-text-dark, #f9fafb)}.distribution-list-manager-empty p{margin:0;font-size:.875rem}.distribution-list-manager-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.distribution-list-manager-item{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;transition:all .15s ease}.dark .distribution-list-manager-item{background:var(--color-bg-secondary-dark, #1f2937);border-color:var(--color-border-dark, #374151)}.distribution-list-manager-item:hover{border-color:var(--color-primary, #3b82f6)}.distribution-list-manager-item.default{border-left:3px solid var(--color-primary, #3b82f6)}.distribution-list-manager-item-header{display:flex;align-items:flex-start;gap:.75rem}.distribution-list-manager-item-icon{flex-shrink:0;padding:.5rem;background:#3b82f61a;border-radius:6px;color:var(--color-primary, #3b82f6)}.dark .distribution-list-manager-item-icon{background:#3b82f633}.distribution-list-manager-item-info{flex:1;min-width:0}.distribution-list-manager-item-name-row{display:flex;align-items:center;gap:.5rem}.distribution-list-manager-item-name{margin:0;font-size:.9375rem;font-weight:600;color:var(--color-text, #111827)}.dark .distribution-list-manager-item-name{color:var(--color-text-dark, #f9fafb)}.distribution-list-manager-item-badge{padding:.125rem .5rem;background:#3b82f61a;border-radius:9999px;font-size:.6875rem;font-weight:500;color:var(--color-primary, #3b82f6)}.dark .distribution-list-manager-item-badge{background:#3b82f633}.distribution-list-manager-item-desc{margin:.25rem 0 0;font-size:.8125rem;color:var(--color-text-secondary, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark .distribution-list-manager-item-desc{color:var(--color-text-secondary-dark, #9ca3af)}.distribution-list-manager-item-count{flex-shrink:0;font-size:.8125rem;color:var(--color-text-secondary, #6b7280)}.dark .distribution-list-manager-item-count{color:var(--color-text-secondary-dark, #9ca3af)}.distribution-list-manager-expand-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;margin-left:2.75rem;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;font-size:.75rem;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease;align-self:flex-start}.dark .distribution-list-manager-expand-btn{border-color:var(--color-border-dark, #374151);color:var(--color-text-secondary-dark, #9ca3af)}.distribution-list-manager-expand-btn:hover{border-color:var(--color-primary, #3b82f6);color:var(--color-primary, #3b82f6)}.distribution-list-manager-members{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;margin-left:2.75rem;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px}.dark .distribution-list-manager-members{background:var(--color-bg-dark, #111827);border-color:var(--color-border-dark, #374151)}.distribution-list-manager-member{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:var(--color-bg-secondary, #f3f4f6);border-radius:4px;font-size:.75rem}.dark .distribution-list-manager-member{background:var(--color-bg-secondary-dark, #374151)}.distribution-list-manager-member-icon{color:var(--color-text-secondary, #6b7280)}.dark .distribution-list-manager-member-icon{color:var(--color-text-secondary-dark, #9ca3af)}.distribution-list-manager-member-type{color:var(--color-text-secondary, #6b7280);font-weight:500;text-transform:capitalize}.dark .distribution-list-manager-member-type{color:var(--color-text-secondary-dark, #9ca3af)}.distribution-list-manager-member-value{color:var(--color-text, #111827)}.dark .distribution-list-manager-member-value{color:var(--color-text-dark, #f9fafb)}.distribution-list-manager-item-actions{display:flex;gap:.5rem;padding-left:2.75rem;padding-top:.5rem;border-top:1px solid var(--color-border, #e5e7eb)}.dark .distribution-list-manager-item-actions{border-color:var(--color-border-dark, #374151)}.distribution-list-manager-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.dark .distribution-list-manager-action-btn{border-color:var(--color-border-dark, #374151);color:var(--color-text-secondary-dark, #9ca3af)}.distribution-list-manager-action-btn:hover{background:var(--color-bg-secondary, #f9fafb);border-color:var(--color-primary, #3b82f6);color:var(--color-primary, #3b82f6)}.dark .distribution-list-manager-action-btn:hover{background:var(--color-bg-secondary-dark, #374151)}.distribution-list-manager-action-btn:disabled{opacity:.5;cursor:not-allowed}.distribution-list-manager-action-btn-danger:hover{border-color:var(--color-danger, #ef4444);color:var(--color-danger, #ef4444)}.distribution-list-manager-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.distribution-list-manager-btn-secondary{background:transparent;border:1px solid var(--color-border, #e5e7eb);color:var(--color-text, #111827)}.dark .distribution-list-manager-btn-secondary{border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.distribution-list-manager-btn-secondary:hover{background:var(--color-bg-secondary, #f9fafb)}.dark .distribution-list-manager-btn-secondary:hover{background:var(--color-bg-secondary-dark, #374151)}.distribution-list-manager-btn-danger{background:var(--color-danger, #ef4444);border:none;color:#fff}.distribution-list-manager-btn-danger:hover{background:#dc2626}.distribution-list-manager-confirm-delete{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem;text-align:center}.distribution-list-manager-confirm-delete p{margin:0;font-size:.9375rem;color:var(--color-text, #111827)}.dark .distribution-list-manager-confirm-delete p{color:var(--color-text-dark, #f9fafb)}.distribution-list-editor{display:flex;flex-direction:column;gap:1.25rem}.distribution-list-editor-section{display:flex;flex-direction:column;gap:.5rem}.distribution-list-editor-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text, #111827)}.dark .distribution-list-editor-label{color:var(--color-text-dark, #f9fafb)}.distribution-list-editor-error{margin-left:auto;font-size:.75rem;font-weight:400;color:var(--color-danger, #ef4444)}.distribution-list-editor-input,.distribution-list-editor-select,.distribution-list-editor-textarea{padding:.625rem .75rem;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:.875rem;color:var(--color-text, #111827);transition:all .15s ease}.dark .distribution-list-editor-input,.dark .distribution-list-editor-select,.dark .distribution-list-editor-textarea{background:var(--color-bg-dark, #111827);border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.distribution-list-editor-input:focus,.distribution-list-editor-select:focus,.distribution-list-editor-textarea:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.distribution-list-editor-input.error,.distribution-list-editor-select.error{border-color:var(--color-danger, #ef4444)}.distribution-list-editor-textarea{resize:vertical;min-height:60px}.distribution-list-editor-toggle{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;cursor:pointer;transition:all .15s ease}.dark .distribution-list-editor-toggle{background:var(--color-bg-secondary-dark, #1f2937);border-color:var(--color-border-dark, #374151)}.distribution-list-editor-toggle:hover{border-color:var(--color-primary, #3b82f6)}.distribution-list-editor-toggle-switch{flex-shrink:0;width:40px;height:22px;background:var(--color-border, #d1d5db);border-radius:9999px;position:relative;transition:background .2s ease}.dark .distribution-list-editor-toggle-switch{background:var(--color-border-dark, #4b5563)}.distribution-list-editor-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s ease}.distribution-list-editor-toggle-switch.enabled{background:var(--color-primary, #3b82f6)}.distribution-list-editor-toggle-switch.enabled:after{transform:translate(18px)}.distribution-list-editor-toggle-content{display:flex;flex-direction:column;gap:.125rem}.distribution-list-editor-toggle-label{font-size:.875rem;font-weight:500;color:var(--color-text, #111827)}.dark .distribution-list-editor-toggle-label{color:var(--color-text-dark, #f9fafb)}.distribution-list-editor-toggle-desc{font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.dark .distribution-list-editor-toggle-desc{color:var(--color-text-secondary-dark, #9ca3af)}.distribution-list-editor-add-member{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:8px}.dark .distribution-list-editor-add-member{background:var(--color-bg-secondary-dark, #1f2937);border-color:var(--color-border-dark, #374151)}.distribution-list-editor-type-selector{display:flex;gap:.5rem}.distribution-list-editor-type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .75rem;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:.75rem;color:var(--color-text, #111827);cursor:pointer;transition:all .15s ease}.dark .distribution-list-editor-type-btn{background:var(--color-bg-dark, #111827);border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.distribution-list-editor-type-btn:hover{border-color:var(--color-primary, #3b82f6)}.distribution-list-editor-type-btn.active{background:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6);color:#fff}.distribution-list-editor-member-input{display:flex;gap:.5rem}.distribution-list-editor-member-input .distribution-list-editor-input,.distribution-list-editor-member-input .distribution-list-editor-select{flex:1}.distribution-list-editor-add-btn{display:flex;align-items:center;gap:.375rem;padding:.625rem 1rem;background:var(--color-primary, #3b82f6);border:none;border-radius:6px;font-size:.875rem;font-weight:500;color:#fff;cursor:pointer;transition:all .15s ease}.distribution-list-editor-add-btn:hover{background:var(--color-primary-dark, #2563eb)}.distribution-list-editor-add-btn:disabled{opacity:.5;cursor:not-allowed}.distribution-list-editor-members{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding:.75rem;background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:8px}.dark .distribution-list-editor-members{background:var(--color-bg-secondary-dark, #1f2937);border-color:var(--color-border-dark, #374151)}.distribution-list-editor-member{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px}.dark .distribution-list-editor-member{background:var(--color-bg-dark, #111827);border-color:var(--color-border-dark, #374151)}.distribution-list-editor-member-icon{color:var(--color-text-secondary, #6b7280)}.dark .distribution-list-editor-member-icon{color:var(--color-text-secondary-dark, #9ca3af)}.distribution-list-editor-member-type{font-size:.75rem;font-weight:500;color:var(--color-text-secondary, #6b7280);text-transform:capitalize}.dark .distribution-list-editor-member-type{color:var(--color-text-secondary-dark, #9ca3af)}.distribution-list-editor-member-value{flex:1;font-size:.875rem;color:var(--color-text, #111827)}.dark .distribution-list-editor-member-value{color:var(--color-text-dark, #f9fafb)}.distribution-list-editor-member-remove{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.distribution-list-editor-member-remove:hover{background:#ef44441a;color:var(--color-danger, #ef4444)}.distribution-list-editor-member-remove:disabled{opacity:.5;cursor:not-allowed}.distribution-list-editor-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.distribution-list-editor-btn:disabled{opacity:.5;cursor:not-allowed}.distribution-list-editor-btn-secondary{background:transparent;border:1px solid var(--color-border, #e5e7eb);color:var(--color-text, #111827)}.dark .distribution-list-editor-btn-secondary{border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.distribution-list-editor-btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary, #f9fafb)}.dark .distribution-list-editor-btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary-dark, #374151)}.distribution-list-editor-btn-primary{background:var(--color-primary, #3b82f6);border:none;color:#fff}.distribution-list-editor-btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #2563eb)}.schedule-manager{display:flex;flex-direction:column;gap:1rem}.schedule-manager-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.dark .schedule-manager-header{border-color:var(--color-border-dark, #374151)}.schedule-manager-subtitle{margin:0;font-size:.875rem;color:var(--color-text-secondary, #6b7280)}.dark .schedule-manager-subtitle{color:var(--color-text-secondary-dark, #9ca3af)}.schedule-manager-create-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-primary, #3b82f6);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.schedule-manager-create-btn:hover{background:var(--color-primary-dark, #2563eb)}.schedule-manager-loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;color:var(--color-text-secondary, #6b7280)}.dark .schedule-manager-loading{color:var(--color-text-secondary-dark, #9ca3af)}.schedule-manager-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;text-align:center;color:var(--color-text-secondary, #6b7280)}.dark .schedule-manager-empty{color:var(--color-text-secondary-dark, #9ca3af)}.schedule-manager-empty h3{margin:0;font-size:1.125rem;color:var(--color-text, #111827)}.dark .schedule-manager-empty h3{color:var(--color-text-dark, #f9fafb)}.schedule-manager-empty p{margin:0;font-size:.875rem}.schedule-manager-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.schedule-manager-item{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;transition:all .15s ease}.dark .schedule-manager-item{background:var(--color-bg-secondary-dark, #1f2937);border-color:var(--color-border-dark, #374151)}.schedule-manager-item:hover{border-color:var(--color-primary, #3b82f6)}.schedule-manager-item.disabled{opacity:.6}.schedule-manager-item-header{display:flex;align-items:flex-start;gap:.75rem}.schedule-manager-item-status{flex-shrink:0;padding-top:.125rem}.schedule-manager-item-info{flex:1;min-width:0}.schedule-manager-item-name{margin:0;font-size:.9375rem;font-weight:600;color:var(--color-text, #111827)}.dark .schedule-manager-item-name{color:var(--color-text-dark, #f9fafb)}.schedule-manager-item-desc{margin:.25rem 0 0;font-size:.8125rem;color:var(--color-text-secondary, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark .schedule-manager-item-desc{color:var(--color-text-secondary-dark, #9ca3af)}.schedule-manager-item-badge{flex-shrink:0;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.schedule-manager-item-badge.active{background:var(--color-success-light, #d1fae5);color:var(--color-success, #059669)}.dark .schedule-manager-item-badge.active{background:#05966933;color:#34d399}.schedule-manager-item-badge.paused{background:var(--color-warning-light, #fef3c7);color:var(--color-warning, #d97706)}.dark .schedule-manager-item-badge.paused{background:#d9770633;color:#fbbf24}.schedule-manager-item-details{display:flex;flex-wrap:wrap;gap:1rem;padding-left:2rem}.schedule-manager-item-detail{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--color-text-secondary, #6b7280)}.dark .schedule-manager-item-detail{color:var(--color-text-secondary-dark, #9ca3af)}.schedule-manager-item-actions{display:flex;gap:.5rem;padding-left:2rem;padding-top:.5rem;border-top:1px solid var(--color-border, #e5e7eb)}.dark .schedule-manager-item-actions{border-color:var(--color-border-dark, #374151)}.schedule-manager-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.dark .schedule-manager-action-btn{border-color:var(--color-border-dark, #374151);color:var(--color-text-secondary-dark, #9ca3af)}.schedule-manager-action-btn:hover{background:var(--color-bg-secondary, #f9fafb);border-color:var(--color-primary, #3b82f6);color:var(--color-primary, #3b82f6)}.dark .schedule-manager-action-btn:hover{background:var(--color-bg-secondary-dark, #374151)}.schedule-manager-action-btn:disabled{opacity:.5;cursor:not-allowed}.schedule-manager-action-btn-danger:hover{border-color:var(--color-danger, #ef4444);color:var(--color-danger, #ef4444)}.schedule-manager-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.schedule-manager-btn-secondary{background:transparent;border:1px solid var(--color-border, #e5e7eb);color:var(--color-text, #111827)}.dark .schedule-manager-btn-secondary{border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.schedule-manager-btn-secondary:hover{background:var(--color-bg-secondary, #f9fafb)}.dark .schedule-manager-btn-secondary:hover{background:var(--color-bg-secondary-dark, #374151)}.schedule-manager-btn-danger{background:var(--color-danger, #ef4444);border:none;color:#fff}.schedule-manager-btn-danger:hover{background:#dc2626}.schedule-manager-confirm-delete{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem;text-align:center}.schedule-manager-confirm-delete p{margin:0;font-size:.9375rem;color:var(--color-text, #111827)}.dark .schedule-manager-confirm-delete p{color:var(--color-text-dark, #f9fafb)}.schedule-editor{display:flex;flex-direction:column;gap:1.25rem}.schedule-editor-section{display:flex;flex-direction:column;gap:.5rem}.schedule-editor-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text, #111827)}.dark .schedule-editor-label{color:var(--color-text-dark, #f9fafb)}.schedule-editor-error{margin-left:auto;font-size:.75rem;font-weight:400;color:var(--color-danger, #ef4444)}.schedule-editor-input,.schedule-editor-select,.schedule-editor-textarea{padding:.625rem .75rem;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:.875rem;color:var(--color-text, #111827);transition:all .15s ease}.dark .schedule-editor-input,.dark .schedule-editor-select,.dark .schedule-editor-textarea{background:var(--color-bg-dark, #111827);border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.schedule-editor-input:focus,.schedule-editor-select:focus,.schedule-editor-textarea:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.schedule-editor-input.error,.schedule-editor-select.error{border-color:var(--color-danger, #ef4444)}.schedule-editor-textarea{resize:vertical;min-height:60px}.schedule-editor-hint{margin:0;font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.dark .schedule-editor-hint{color:var(--color-text-secondary-dark, #9ca3af)}.schedule-editor-distribution-lists{display:flex;flex-direction:column;gap:.5rem;max-height:150px;overflow-y:auto;padding:.5rem;background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:6px}.dark .schedule-editor-distribution-lists{background:var(--color-bg-secondary-dark, #1f2937);border-color:var(--color-border-dark, #374151)}.schedule-editor-distribution-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:4px;cursor:pointer;transition:all .15s ease}.schedule-editor-distribution-item:hover{background:var(--color-bg, #ffffff)}.dark .schedule-editor-distribution-item:hover{background:var(--color-bg-dark, #111827)}.schedule-editor-distribution-item.selected{background:#3b82f61a}.schedule-editor-distribution-name{flex:1;font-size:.875rem;color:var(--color-text, #111827)}.dark .schedule-editor-distribution-name{color:var(--color-text-dark, #f9fafb)}.schedule-editor-distribution-count{font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.dark .schedule-editor-distribution-count{color:var(--color-text-secondary-dark, #9ca3af)}.schedule-editor-email-input{display:flex;gap:.5rem}.schedule-editor-email-input .schedule-editor-input{flex:1}.schedule-editor-add-btn{display:flex;align-items:center;gap:.25rem;padding:.625rem .75rem;background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:.875rem;color:var(--color-text, #111827);cursor:pointer;transition:all .15s ease}.dark .schedule-editor-add-btn{background:var(--color-bg-secondary-dark, #1f2937);border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.schedule-editor-add-btn:hover{border-color:var(--color-primary, #3b82f6);color:var(--color-primary, #3b82f6)}.schedule-editor-email-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.schedule-editor-email-tag{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:9999px;font-size:.8125rem;color:var(--color-text, #111827)}.dark .schedule-editor-email-tag{background:var(--color-bg-secondary-dark, #1f2937);border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.schedule-editor-email-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:transparent;border:none;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:color .15s ease}.schedule-editor-email-remove:hover{color:var(--color-danger, #ef4444)}.schedule-editor-toggle{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;cursor:pointer;transition:all .15s ease}.dark .schedule-editor-toggle{background:var(--color-bg-secondary-dark, #1f2937);border-color:var(--color-border-dark, #374151)}.schedule-editor-toggle:hover{border-color:var(--color-primary, #3b82f6)}.schedule-editor-toggle-switch{flex-shrink:0;width:40px;height:22px;background:var(--color-border, #d1d5db);border-radius:9999px;position:relative;transition:background .2s ease}.dark .schedule-editor-toggle-switch{background:var(--color-border-dark, #4b5563)}.schedule-editor-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s ease}.schedule-editor-toggle-switch.enabled{background:var(--color-primary, #3b82f6)}.schedule-editor-toggle-switch.enabled:after{transform:translate(18px)}.schedule-editor-toggle-content{display:flex;flex-direction:column;gap:.125rem}.schedule-editor-toggle-label{font-size:.875rem;font-weight:500;color:var(--color-text, #111827)}.dark .schedule-editor-toggle-label{color:var(--color-text-dark, #f9fafb)}.schedule-editor-toggle-desc{font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.dark .schedule-editor-toggle-desc{color:var(--color-text-secondary-dark, #9ca3af)}.schedule-editor-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.schedule-editor-btn:disabled{opacity:.5;cursor:not-allowed}.schedule-editor-btn-secondary{background:transparent;border:1px solid var(--color-border, #e5e7eb);color:var(--color-text, #111827)}.dark .schedule-editor-btn-secondary{border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.schedule-editor-btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary, #f9fafb)}.dark .schedule-editor-btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary-dark, #374151)}.schedule-editor-btn-primary{background:var(--color-primary, #3b82f6);border:none;color:#fff}.schedule-editor-btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #2563eb)}.cron-builder{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:8px}.dark .cron-builder{background:var(--color-bg-secondary-dark, #1f2937);border-color:var(--color-border-dark, #374151)}.cron-frequency-selector{display:flex;gap:.5rem}.cron-frequency-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:.8125rem;color:var(--color-text, #111827);cursor:pointer;transition:all .15s ease}.dark .cron-frequency-btn{background:var(--color-bg-dark, #111827);border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.cron-frequency-btn:hover{border-color:var(--color-primary, #3b82f6)}.cron-frequency-btn.active{background:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6);color:#fff}.cron-label{font-size:.8125rem;font-weight:500;color:var(--color-text, #111827);margin-bottom:.25rem}.dark .cron-label{color:var(--color-text-dark, #f9fafb)}.cron-time-selector{display:flex;flex-direction:column;gap:.25rem}.cron-time-input,.cron-select,.cron-text-input{padding:.5rem .75rem;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:.875rem;color:var(--color-text, #111827)}.dark .cron-time-input,.dark .cron-select,.dark .cron-text-input{background:var(--color-bg-dark, #111827);border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.cron-time-input:focus,.cron-select:focus,.cron-text-input:focus{outline:none;border-color:var(--color-primary, #3b82f6)}.cron-days-selector{display:flex;flex-direction:column;gap:.25rem}.cron-days-grid{display:flex;gap:.375rem}.cron-day-btn{flex:1;padding:.5rem .25rem;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:.75rem;font-weight:500;color:var(--color-text, #111827);cursor:pointer;transition:all .15s ease}.dark .cron-day-btn{background:var(--color-bg-dark, #111827);border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.cron-day-btn:hover{border-color:var(--color-primary, #3b82f6)}.cron-day-btn.active{background:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6);color:#fff}.cron-day-of-month-selector,.cron-custom-input{display:flex;flex-direction:column;gap:.25rem}.cron-hint{font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.dark .cron-hint{color:var(--color-text-secondary-dark, #9ca3af)}.cron-description{padding:.75rem;background:#3b82f61a;border-radius:6px}.cron-description-text{font-size:.875rem;font-weight:500;color:var(--color-primary, #3b82f6)}.dark .cron-description-text{color:#60a5fa}.report-history{display:flex;flex-direction:column;gap:1rem}.report-history-filters{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.dark .report-history-filters{border-color:var(--color-border-dark, #374151)}.report-history-filter-group{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary, #6b7280)}.dark .report-history-filter-group{color:var(--color-text-secondary-dark, #9ca3af)}.report-history-select{padding:.375rem .75rem;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:.875rem;color:var(--color-text, #111827)}.dark .report-history-select{background:var(--color-bg-dark, #111827);border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.report-history-refresh-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:.875rem;color:var(--color-text, #111827);cursor:pointer;transition:all .15s ease}.dark .report-history-refresh-btn{border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.report-history-refresh-btn:hover:not(:disabled){border-color:var(--color-primary, #3b82f6);color:var(--color-primary, #3b82f6)}.report-history-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.report-history-loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;color:var(--color-text-secondary, #6b7280)}.dark .report-history-loading{color:var(--color-text-secondary-dark, #9ca3af)}.report-history-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;text-align:center;color:var(--color-text-secondary, #6b7280)}.dark .report-history-empty{color:var(--color-text-secondary-dark, #9ca3af)}.report-history-empty h3{margin:0;font-size:1.125rem;color:var(--color-text, #111827)}.dark .report-history-empty h3{color:var(--color-text-dark, #f9fafb)}.report-history-empty p{margin:0;font-size:.875rem}.report-history-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.report-history-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;transition:all .15s ease}.dark .report-history-item{background:var(--color-bg-secondary-dark, #1f2937);border-color:var(--color-border-dark, #374151)}.report-history-item:hover{border-color:var(--color-primary, #3b82f6)}.report-history-item-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;color:var(--color-text-secondary, #6b7280)}.dark .report-history-item-icon{background:var(--color-bg-dark, #111827);border-color:var(--color-border-dark, #374151);color:var(--color-text-secondary-dark, #9ca3af)}.report-history-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.report-history-item-header{display:flex;align-items:center;gap:.75rem}.report-history-item-name{margin:0;font-size:.9375rem;font-weight:600;color:var(--color-text, #111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark .report-history-item-name{color:var(--color-text-dark, #f9fafb)}.report-history-item-status{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500}.report-history-item-status .status-completed{color:#059669}.report-history-item-status .status-failed{color:#dc2626}.report-history-item-status .status-processing{color:#3b82f6}.report-history-item-meta{display:flex;flex-wrap:wrap;gap:.75rem}.report-history-meta-item{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.dark .report-history-meta-item{color:var(--color-text-secondary-dark, #9ca3af)}.report-history-item-template{font-size:.75rem;color:var(--color-text-secondary, #6b7280);font-style:italic}.dark .report-history-item-template{color:var(--color-text-secondary-dark, #9ca3af)}.report-history-item-actions{flex-shrink:0;display:flex;gap:.375rem}.report-history-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.dark .report-history-action-btn{border-color:var(--color-border-dark, #374151);color:var(--color-text-secondary-dark, #9ca3af)}.report-history-action-btn:hover:not(:disabled){background:var(--color-bg, #ffffff);border-color:var(--color-primary, #3b82f6);color:var(--color-primary, #3b82f6)}.dark .report-history-action-btn:hover:not(:disabled){background:var(--color-bg-dark, #111827)}.report-history-action-btn:disabled{opacity:.5;cursor:not-allowed}.report-history-action-btn-warning:hover:not(:disabled){border-color:var(--color-warning, #f59e0b);color:var(--color-warning, #f59e0b)}.report-history-load-more{padding:.75rem;background:transparent;border:1px dashed var(--color-border, #e5e7eb);border-radius:8px;font-size:.875rem;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.dark .report-history-load-more{border-color:var(--color-border-dark, #374151);color:var(--color-text-secondary-dark, #9ca3af)}.report-history-load-more:hover:not(:disabled){border-color:var(--color-primary, #3b82f6);color:var(--color-primary, #3b82f6)}.report-history-summary{padding-top:.75rem;border-top:1px solid var(--color-border, #e5e7eb);font-size:.8125rem;color:var(--color-text-secondary, #6b7280);text-align:center}.dark .report-history-summary{border-color:var(--color-border-dark, #374151);color:var(--color-text-secondary-dark, #9ca3af)}.report-history-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.report-history-btn:disabled{opacity:.5;cursor:not-allowed}.report-history-btn-secondary{background:transparent;border:1px solid var(--color-border, #e5e7eb);color:var(--color-text, #111827)}.dark .report-history-btn-secondary{border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.report-history-btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary, #f9fafb)}.dark .report-history-btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary-dark, #374151)}.report-history-btn-primary{background:var(--color-primary, #3b82f6);border:none;color:#fff}.report-history-btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #2563eb)}.report-resend-modal{display:flex;flex-direction:column;gap:1rem}.report-resend-info{margin:0;font-size:.9375rem;color:var(--color-text, #111827)}.dark .report-resend-info{color:var(--color-text-dark, #f9fafb)}.report-resend-form{display:flex;flex-direction:column;gap:.5rem}.report-resend-label{display:flex;align-items:baseline;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text, #111827)}.dark .report-resend-label{color:var(--color-text-dark, #f9fafb)}.report-resend-hint{font-size:.75rem;font-weight:400;color:var(--color-text-secondary, #6b7280)}.dark .report-resend-hint{color:var(--color-text-secondary-dark, #9ca3af)}.report-resend-input{padding:.625rem .75rem;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:.875rem;color:var(--color-text, #111827);resize:vertical}.dark .report-resend-input{background:var(--color-bg-dark, #111827);border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.report-resend-input:focus{outline:none;border-color:var(--color-primary, #3b82f6)}.quick-export-container{position:relative}.quick-export-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500;color:var(--text-secondary, #475569)}.quick-export-btn:hover:not(:disabled){background-color:var(--bg-hover, #e2e8f0);color:var(--text-primary, #1e293b)}.quick-export-btn:disabled{cursor:not-allowed}.dark .quick-export-btn{background-color:var(--bg-tertiary-dark, #334155);border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.dark .quick-export-btn:hover:not(:disabled){background-color:var(--bg-hover-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.quick-export-label{white-space:nowrap}.quick-export-chevron{transition:transform .2s ease}.quick-export-btn.quick-export-exporting{background-color:var(--primary-light, #eff6ff);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.dark .quick-export-btn.quick-export-exporting{background-color:#3b82f633;border-color:var(--primary-color, #60a5fa);color:var(--primary-color, #60a5fa)}.quick-export-btn.quick-export-success{background-color:#10b9811a;border-color:#10b981;color:#10b981}.dark .quick-export-btn.quick-export-success{background-color:#34d39926;border-color:#34d399;color:#34d399}.quick-export-btn.quick-export-error{background-color:#ef44441a;border-color:#ef4444;color:#ef4444}.dark .quick-export-btn.quick-export-error{background-color:#f8717126;border-color:#f87171;color:#f87171}.quick-export-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:280px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;box-shadow:0 10px 25px -5px #00000026,0 8px 10px -6px #0000001a;z-index:100;animation:quickExportDropdownIn .15s ease-out}@keyframes quickExportDropdownIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dark .quick-export-dropdown{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.quick-export-dropdown-header{padding:12px 16px;border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .quick-export-dropdown-header{border-bottom-color:var(--border-color-dark, #475569)}.quick-export-dropdown-title{display:block;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .quick-export-dropdown-title{color:var(--text-primary-dark, #f1f5f9)}.quick-export-dropdown-subtitle{display:block;font-size:12px;color:var(--text-tertiary, #64748b);margin-top:2px}.dark .quick-export-dropdown-subtitle{color:var(--text-tertiary-dark, #94a3b8)}.quick-export-options{padding:8px}.quick-export-option{display:flex;align-items:flex-start;gap:12px;width:100%;padding:10px 12px;text-align:left;background:none;border:none;border-radius:8px;cursor:pointer;transition:background-color .15s ease}.quick-export-option:hover{background-color:var(--bg-hover, #f1f5f9)}.dark .quick-export-option:hover{background-color:var(--bg-hover-dark, #334155)}.quick-export-option.exporting{background-color:var(--primary-light, #eff6ff)}.dark .quick-export-option.exporting{background-color:#3b82f626}.quick-export-option-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--bg-tertiary, #f1f5f9);border-radius:8px;color:var(--text-secondary, #475569);flex-shrink:0}.dark .quick-export-option-icon{background-color:var(--bg-tertiary-dark, #334155);color:var(--text-secondary-dark, #94a3b8)}.quick-export-option:first-child .quick-export-option-icon{background-color:#10b9811a;color:#10b981}.dark .quick-export-option:first-child .quick-export-option-icon{background-color:#34d39926;color:#34d399}.quick-export-option-content{display:flex;flex-direction:column;gap:2px;min-width:0}.quick-export-option-label{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b)}.dark .quick-export-option-label{color:var(--text-primary-dark, #f1f5f9)}.quick-export-option-desc{font-size:12px;color:var(--text-tertiary, #64748b);line-height:1.3}.dark .quick-export-option-desc{color:var(--text-tertiary-dark, #94a3b8)}.quick-export-divider{height:1px;margin:4px 12px;background-color:var(--border-color, #e2e8f0)}.dark .quick-export-divider{background-color:var(--border-color-dark, #475569)}.quick-export-builder-btn{display:flex;align-items:center;gap:8px;width:calc(100% - 16px);margin:8px;padding:10px 12px;text-align:left;font-size:14px;font-weight:500;color:var(--primary-color, #3b82f6);background:none;border:1px dashed var(--primary-color, #3b82f6);border-radius:8px;cursor:pointer;transition:all .15s ease}.quick-export-builder-btn:hover{background-color:var(--primary-light, #eff6ff)}.dark .quick-export-builder-btn{color:var(--primary-color, #60a5fa);border-color:var(--primary-color, #60a5fa)}.dark .quick-export-builder-btn:hover{background-color:#3b82f61a}.quick-export-management-section{padding:8px}.quick-export-section-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary, #64748b);padding:4px 12px 8px}.dark .quick-export-section-label{color:var(--text-tertiary-dark, #94a3b8)}.quick-export-management-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;text-align:left;font-size:14px;color:var(--text-secondary, #475569);background:none;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.quick-export-management-btn:hover{background-color:var(--bg-hover, #f1f5f9);color:var(--text-primary, #1e293b)}.dark .quick-export-management-btn{color:var(--text-secondary-dark, #94a3b8)}.dark .quick-export-management-btn:hover{background-color:var(--bg-hover-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}.quick-export-management-btn svg{flex-shrink:0;opacity:.7}.quick-export-management-btn:hover svg{opacity:1}@media (max-width: 640px){.quick-export-label{display:none}.quick-export-btn{padding:8px}.quick-export-chevron{display:none}.quick-export-dropdown{width:calc(100vw - 24px);max-width:320px;right:-12px}}.report-builder-modal .modal-content{max-height:85vh}.report-builder-wizard{display:flex;flex-direction:column;min-height:500px}.report-builder-steps{display:flex;gap:4px;padding:16px;border-bottom:1px solid var(--border-color, #e2e8f0);background-color:var(--bg-tertiary, #f8fafc);border-radius:12px 12px 0 0}.dark .report-builder-steps{background-color:var(--bg-tertiary-dark, #1e293b);border-bottom-color:var(--border-color-dark, #475569)}.report-builder-step{display:flex;align-items:center;gap:10px;flex:1;padding:12px;background:none;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.report-builder-step:hover:not(:disabled){background-color:var(--bg-hover, #f1f5f9)}.dark .report-builder-step:hover:not(:disabled){background-color:var(--bg-hover-dark, #334155)}.report-builder-step:disabled{cursor:not-allowed;opacity:.6}.report-builder-step-indicator{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:var(--bg-secondary, #e2e8f0);color:var(--text-tertiary, #64748b);flex-shrink:0;transition:all .2s ease}.dark .report-builder-step-indicator{background-color:var(--bg-tertiary-dark, #475569);color:var(--text-tertiary-dark, #94a3b8)}.report-builder-step.active .report-builder-step-indicator{background-color:var(--primary-color, #3b82f6);color:#fff}.report-builder-step.completed .report-builder-step-indicator{background-color:#10b98126;color:#10b981}.dark .report-builder-step.completed .report-builder-step-indicator{background-color:#34d39933;color:#34d399}.report-builder-step-content{display:flex;flex-direction:column;gap:2px;min-width:0}.report-builder-step-title{font-size:13px;font-weight:600;color:var(--text-secondary, #475569);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .report-builder-step-title{color:var(--text-secondary-dark, #94a3b8)}.report-builder-step.active .report-builder-step-title{color:var(--primary-color, #3b82f6)}.report-builder-step.completed .report-builder-step-title{color:var(--text-primary, #1e293b)}.dark .report-builder-step.completed .report-builder-step-title{color:var(--text-primary-dark, #f1f5f9)}.report-builder-step-desc{font-size:11px;color:var(--text-tertiary, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .report-builder-step-desc{color:var(--text-tertiary-dark, #94a3b8)}.report-builder-content{flex:1;padding:24px;overflow-y:auto;min-height:300px}.report-builder-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--border-color, #e2e8f0);background-color:var(--bg-tertiary, #f8fafc);border-radius:0 0 12px 12px}.dark .report-builder-footer{background-color:var(--bg-tertiary-dark, #1e293b);border-top-color:var(--border-color-dark, #475569)}.report-builder-footer-left{display:flex;align-items:center}.report-builder-site-count{font-size:13px;color:var(--text-tertiary, #64748b)}.dark .report-builder-site-count{color:var(--text-tertiary-dark, #94a3b8)}.report-builder-footer-actions{display:flex;gap:12px}.report-builder-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease}.report-builder-btn:disabled{opacity:.5;cursor:not-allowed}.report-builder-btn-secondary{background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);color:var(--text-secondary, #475569)}.report-builder-btn-secondary:hover:not(:disabled){background-color:var(--bg-hover, #f1f5f9);color:var(--text-primary, #1e293b)}.dark .report-builder-btn-secondary{background-color:var(--bg-tertiary-dark, #334155);border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.dark .report-builder-btn-secondary:hover:not(:disabled){background-color:var(--bg-hover-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.report-builder-btn-primary{background-color:var(--primary-color, #3b82f6);border:none;color:#fff}.report-builder-btn-primary:hover:not(:disabled){background-color:var(--primary-hover, #2563eb)}.step-section{margin-bottom:24px}.step-section:last-child{margin-bottom:0}.step-section-title{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:12px;display:flex;align-items:center;gap:8px}.dark .step-section-title{color:var(--text-primary-dark, #f1f5f9)}.step-section-desc{font-size:13px;color:var(--text-tertiary, #64748b);margin-bottom:16px}.dark .step-section-desc{color:var(--text-tertiary-dark, #94a3b8)}.step-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.step-checkbox-item{display:flex;align-items:flex-start;gap:10px;padding:12px;background-color:var(--bg-tertiary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .15s ease}.step-checkbox-item:hover{background-color:var(--bg-hover, #f1f5f9);border-color:var(--primary-color, #3b82f6)}.step-checkbox-item.checked{background-color:var(--primary-light, #eff6ff);border-color:var(--primary-color, #3b82f6)}.dark .step-checkbox-item{background-color:var(--bg-tertiary-dark, #334155);border-color:var(--border-color-dark, #475569)}.dark .step-checkbox-item:hover{background-color:var(--bg-hover-dark, #475569)}.dark .step-checkbox-item.checked{background-color:#3b82f626;border-color:var(--primary-color, #60a5fa)}.step-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;accent-color:var(--primary-color, #3b82f6)}.step-checkbox-content{display:flex;flex-direction:column;gap:2px;flex:1}.step-checkbox-label{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b)}.dark .step-checkbox-label{color:var(--text-primary-dark, #f1f5f9)}.step-checkbox-desc{font-size:12px;color:var(--text-tertiary, #64748b)}.dark .step-checkbox-desc{color:var(--text-tertiary-dark, #94a3b8)}.step-form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.step-form-label{font-size:13px;font-weight:500;color:var(--text-secondary, #475569)}.dark .step-form-label{color:var(--text-secondary-dark, #94a3b8)}.step-form-input,.step-form-select,.step-form-textarea{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;background-color:var(--bg-primary, #ffffff);color:var(--text-primary, #1e293b);transition:border-color .15s ease}.step-form-input:focus,.step-form-select:focus,.step-form-textarea:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.dark .step-form-input,.dark .step-form-select,.dark .step-form-textarea{background-color:var(--bg-primary-dark, #0f172a);border-color:var(--border-color-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.step-form-textarea{min-height:80px;resize:vertical}.step-toggle{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:var(--bg-tertiary, #f8fafc);border-radius:8px;cursor:pointer}.dark .step-toggle{background-color:var(--bg-tertiary-dark, #334155)}.step-toggle-switch{position:relative;width:44px;height:24px;background-color:var(--border-color, #cbd5e1);border-radius:12px;transition:background-color .2s ease;flex-shrink:0}.step-toggle-switch.enabled{background-color:var(--primary-color, #3b82f6)}.step-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:#fff;border-radius:50%;transition:transform .2s ease}.step-toggle-switch.enabled:after{transform:translate(20px)}.step-toggle-content{display:flex;flex-direction:column;gap:2px}.step-toggle-label{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b)}.dark .step-toggle-label{color:var(--text-primary-dark, #f1f5f9)}.step-toggle-desc{font-size:12px;color:var(--text-tertiary, #64748b)}.dark .step-toggle-desc{color:var(--text-tertiary-dark, #94a3b8)}.step-date-range{display:flex;gap:12px;align-items:flex-end}.step-date-range .step-form-row{flex:1;margin-bottom:0}.step-format-options{display:flex;gap:12px}.step-format-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background-color:var(--bg-tertiary, #f8fafc);border:2px solid var(--border-color, #e2e8f0);border-radius:12px;cursor:pointer;transition:all .15s ease}.step-format-option:hover{border-color:var(--primary-color, #3b82f6)}.step-format-option.selected{background-color:var(--primary-light, #eff6ff);border-color:var(--primary-color, #3b82f6)}.dark .step-format-option{background-color:var(--bg-tertiary-dark, #334155);border-color:var(--border-color-dark, #475569)}.dark .step-format-option.selected{background-color:#3b82f626;border-color:var(--primary-color, #60a5fa)}.step-format-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:var(--bg-secondary, #e2e8f0);border-radius:12px;color:var(--text-secondary, #475569)}.dark .step-format-icon{background-color:var(--bg-tertiary-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.step-format-option.selected .step-format-icon{background-color:var(--primary-color, #3b82f6);color:#fff}.step-format-label{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .step-format-label{color:var(--text-primary-dark, #f1f5f9)}.step-format-desc{font-size:12px;color:var(--text-tertiary, #64748b);text-align:center}.dark .step-format-desc{color:var(--text-tertiary-dark, #94a3b8)}.step-section-badge{font-size:11px;font-weight:600;padding:2px 8px;background-color:var(--primary-light, #eff6ff);color:var(--primary-color, #3b82f6);border-radius:9999px;margin-left:8px}.dark .step-section-badge{background-color:#3b82f633;color:var(--primary-color, #60a5fa)}.step-checkbox-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background-color:var(--bg-secondary, #e2e8f0);border-radius:8px;color:var(--text-secondary, #475569);flex-shrink:0}.dark .step-checkbox-icon{background-color:var(--bg-tertiary-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.step-checkbox-item.checked .step-checkbox-icon{background-color:var(--primary-color, #3b82f6);color:#fff}.step-quick-actions{display:flex;gap:8px;margin-top:16px}.step-quick-action-btn{padding:6px 12px;font-size:13px;font-weight:500;background:none;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;color:var(--text-secondary, #475569);cursor:pointer;transition:all .15s ease}.step-quick-action-btn:hover{background-color:var(--bg-hover, #f1f5f9);color:var(--text-primary, #1e293b)}.dark .step-quick-action-btn{border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.dark .step-quick-action-btn:hover{background-color:var(--bg-hover-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.step-quick-action-recommended{border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.step-quick-action-recommended:hover{background-color:var(--primary-light, #eff6ff)!important;color:var(--primary-color, #3b82f6)!important}.step-info-banner{display:flex;gap:12px;padding:16px;background-color:var(--bg-tertiary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;color:var(--text-secondary, #475569)}.dark .step-info-banner{background-color:var(--bg-tertiary-dark, #334155);border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.step-info-banner strong{display:block;color:var(--text-primary, #1e293b);margin-bottom:4px}.dark .step-info-banner strong{color:var(--text-primary-dark, #f1f5f9)}.step-info-banner p{margin:0;font-size:13px}.chart-type-options{display:flex;gap:12px}.chart-type-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background-color:var(--bg-tertiary, #f8fafc);border:2px solid var(--border-color, #e2e8f0);border-radius:12px;cursor:pointer;transition:all .15s ease;text-align:center}.chart-type-option:hover{border-color:var(--primary-color, #3b82f6)}.chart-type-option.selected{background-color:var(--primary-light, #eff6ff);border-color:var(--primary-color, #3b82f6)}.dark .chart-type-option{background-color:var(--bg-tertiary-dark, #334155);border-color:var(--border-color-dark, #475569)}.dark .chart-type-option.selected{background-color:#3b82f626;border-color:var(--primary-color, #60a5fa)}.chart-type-icon{color:var(--text-secondary, #475569)}.dark .chart-type-icon{color:var(--text-secondary-dark, #94a3b8)}.chart-type-option.selected .chart-type-icon{color:var(--primary-color, #3b82f6)}.chart-type-label{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .chart-type-label{color:var(--text-primary-dark, #f1f5f9)}.chart-type-desc{font-size:12px;color:var(--text-tertiary, #64748b)}.dark .chart-type-desc{color:var(--text-tertiary-dark, #94a3b8)}.step-preview-info{margin-top:24px;padding:16px;background-color:var(--bg-tertiary, #f8fafc);border-radius:8px}.dark .step-preview-info{background-color:var(--bg-tertiary-dark, #334155)}.step-preview-info h4{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 8px}.dark .step-preview-info h4{color:var(--text-primary-dark, #f1f5f9)}.step-preview-info ul{margin:0;padding-left:20px;font-size:13px;color:var(--text-secondary, #475569)}.dark .step-preview-info ul{color:var(--text-secondary-dark, #94a3b8)}.step-preview-info li{margin-bottom:4px}.date-presets{display:flex;gap:8px;margin-bottom:16px}.date-preset-btn{padding:6px 12px;font-size:13px;background:none;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;color:var(--text-secondary, #475569);cursor:pointer;transition:all .15s ease}.date-preset-btn:hover{background-color:var(--bg-hover, #f1f5f9)}.date-preset-btn.active{background-color:var(--primary-light, #eff6ff);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.dark .date-preset-btn{border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.dark .date-preset-btn:hover{background-color:var(--bg-hover-dark, #475569)}.dark .date-preset-btn.active{background-color:#3b82f633;border-color:var(--primary-color, #60a5fa);color:var(--primary-color, #60a5fa)}.filter-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:var(--bg-tertiary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:9999px;font-size:13px;cursor:pointer;transition:all .15s ease}.filter-chip:hover{border-color:var(--primary-color, #3b82f6)}.filter-chip.selected{background-color:var(--primary-light, #eff6ff);border-color:var(--primary-color, #3b82f6)}.dark .filter-chip{background-color:var(--bg-tertiary-dark, #334155);border-color:var(--border-color-dark, #475569)}.dark .filter-chip.selected{background-color:#3b82f626;border-color:var(--primary-color, #60a5fa)}.filter-chip-label{font-weight:500;color:var(--text-primary, #1e293b)}.dark .filter-chip-label{color:var(--text-primary-dark, #f1f5f9)}.filter-chip-count{font-size:11px;padding:2px 6px;background-color:var(--bg-secondary, #e2e8f0);border-radius:9999px;color:var(--text-tertiary, #64748b)}.dark .filter-chip-count{background-color:var(--bg-tertiary-dark, #475569);color:var(--text-tertiary-dark, #94a3b8)}.filter-chip.filter-chip-healthy.selected{background-color:#10b9811a;border-color:#10b981}.filter-chip.filter-chip-warning.selected{background-color:#f59e0b1a;border-color:#f59e0b}.filter-chip.filter-chip-critical.selected{background-color:#ef44441a;border-color:#ef4444}.filter-chip.filter-chip-overdue.selected{background-color:#7f1d1d1a;border-color:#991b1b}.filter-quick-actions{display:flex;gap:8px;margin-top:12px}.filter-quick-btn{padding:4px 8px;font-size:12px;background:none;border:none;color:var(--primary-color, #3b82f6);cursor:pointer;text-decoration:underline}.filter-quick-btn:hover{text-decoration:none}.filter-summary{margin-top:24px;padding:12px 16px;background-color:var(--bg-tertiary, #f8fafc);border-radius:8px;font-size:13px;color:var(--text-secondary, #475569)}.dark .filter-summary{background-color:var(--bg-tertiary-dark, #334155);color:var(--text-secondary-dark, #94a3b8)}.filter-summary strong{color:var(--text-primary, #1e293b);margin-right:8px}.dark .filter-summary strong{color:var(--text-primary-dark, #f1f5f9)}.step-form-hint{font-size:12px;color:var(--text-tertiary, #64748b);margin-top:4px}.dark .step-form-hint{color:var(--text-tertiary-dark, #94a3b8)}.step-format-features{list-style:none;margin:8px 0 0;padding:0;font-size:11px;color:var(--text-tertiary, #64748b)}.dark .step-format-features{color:var(--text-tertiary-dark, #94a3b8)}.step-format-features li{margin-bottom:2px}.step-format-features li:before{content:"✓ ";color:#10b981}.template-config{margin-top:16px;padding:16px;background-color:var(--bg-tertiary, #f8fafc);border-radius:8px}.dark .template-config{background-color:var(--bg-tertiary-dark, #334155)}.visibility-options{display:flex;gap:8px}.visibility-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:center}.visibility-option:hover{border-color:var(--primary-color, #3b82f6)}.visibility-option.selected{background-color:var(--primary-light, #eff6ff);border-color:var(--primary-color, #3b82f6)}.dark .visibility-option{background-color:var(--bg-primary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.dark .visibility-option.selected{background-color:#3b82f626;border-color:var(--primary-color, #60a5fa)}.visibility-label{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .visibility-label{color:var(--text-primary-dark, #f1f5f9)}.visibility-desc{font-size:11px;color:var(--text-tertiary, #64748b)}.dark .visibility-desc{color:var(--text-tertiary-dark, #94a3b8)}.generation-preview{margin-top:24px;padding:16px;background-color:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:8px}.dark .generation-preview{background-color:#34d3991a;border-color:#34d39933}.generation-preview h4{font-size:14px;font-weight:600;color:#059669;margin:0 0 12px}.dark .generation-preview h4{color:#34d399}.generation-preview ul{list-style:none;margin:0;padding:0;font-size:13px;color:var(--text-secondary, #475569)}.dark .generation-preview ul{color:var(--text-secondary-dark, #94a3b8)}.generation-preview li{margin-bottom:4px}.generation-preview strong{color:var(--text-primary, #1e293b)}.dark .generation-preview strong{color:var(--text-primary-dark, #f1f5f9)}.generation-note{margin:12px 0 0;font-size:12px;color:var(--text-tertiary, #64748b);font-style:italic}.dark .generation-note{color:var(--text-tertiary-dark, #94a3b8)}.format-guide-box{display:flex;flex-direction:column;gap:12px;padding:16px;margin-bottom:20px;background-color:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:10px}.dark .format-guide-box{background-color:#60a5fa1a;border-color:#60a5fa40}.format-guide-header{display:flex;align-items:center;gap:8px;color:var(--primary-color, #3b82f6)}.dark .format-guide-header{color:#60a5fa}.format-guide-header strong{font-size:14px}.format-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.format-guide-item{display:flex;flex-direction:column;gap:4px;padding:12px;background-color:var(--bg-secondary, #ffffff);border-radius:8px}.dark .format-guide-item{background-color:var(--bg-tertiary-dark, #334155)}.format-guide-label{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .format-guide-label{color:var(--text-primary-dark, #f1f5f9)}.format-guide-desc{font-size:12px;color:var(--text-secondary, #64748b)}.dark .format-guide-desc{color:var(--text-tertiary-dark, #94a3b8)}@media (max-width: 768px){.report-builder-steps{flex-wrap:wrap}.report-builder-step{flex:0 0 calc(50% - 2px)}.report-builder-step-desc{display:none}.step-checkbox-grid{grid-template-columns:1fr}.step-format-options{flex-direction:column}.step-date-range{flex-direction:column;align-items:stretch}.chart-type-options,.visibility-options{flex-direction:column}.date-presets{flex-wrap:wrap}}.notify-me-wrapper{position:relative;display:inline-flex}.notify-me-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.dark .notify-me-btn{border-color:var(--color-border-dark, #374151);color:var(--color-text-secondary-dark, #9ca3af)}.notify-me-btn:hover{border-color:var(--color-primary, #3b82f6);color:var(--color-primary, #3b82f6)}.notify-me-btn.subscribed{background:#3b82f61a;border-color:var(--color-primary, #3b82f6);color:var(--color-primary, #3b82f6)}.dark .notify-me-btn.subscribed{background:#3b82f633}.notify-me-btn:disabled{opacity:.5;cursor:not-allowed}.notify-me-btn-sm{padding:.25rem}.notify-me-btn-md{padding:.375rem}.notify-me-btn-lg{padding:.5rem}.notify-me-btn-icon{width:auto;height:auto}.notify-me-btn-icon .notify-me-icon{width:16px;height:16px}.notify-me-btn-sm.notify-me-btn-icon .notify-me-icon{width:14px;height:14px}.notify-me-btn-lg.notify-me-btn-icon .notify-me-icon{width:18px;height:18px}.notify-me-btn-button{padding:.375rem .75rem}.notify-me-label{font-size:.8125rem;font-weight:500}.notify-me-btn-compact{position:relative}.notify-me-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;background:var(--color-primary, #3b82f6);border-radius:9999px;font-size:.625rem;font-weight:600;color:#fff;display:flex;align-items:center;justify-content:center}.notify-me-icon{transition:all .2s ease}.notify-me-icon.loading{animation:notify-me-pulse 1.5s ease-in-out infinite}.notify-me-icon.subscribed{color:var(--color-primary, #3b82f6)}@keyframes notify-me-pulse{0%,to{opacity:1}50%{opacity:.4}}.notify-me-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:49}.notify-me-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;min-width:220px;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:50;overflow:hidden}.dark .notify-me-dropdown{background:var(--color-bg-dark, #1f2937);border-color:var(--color-border-dark, #374151);box-shadow:0 10px 15px -3px #0000004d}.notify-me-dropdown-header{padding:.75rem;border-bottom:1px solid var(--color-border, #e5e7eb);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #6b7280)}.dark .notify-me-dropdown-header{border-color:var(--color-border-dark, #374151);color:var(--color-text-secondary-dark, #9ca3af)}.notify-me-dropdown-items{padding:.5rem 0}.notify-me-dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:transparent;border:none;text-align:left;font-size:.875rem;color:var(--color-text, #111827);cursor:pointer;transition:background .15s ease}.dark .notify-me-dropdown-item{color:var(--color-text-dark, #f9fafb)}.notify-me-dropdown-item:hover{background:var(--color-bg-secondary, #f9fafb)}.dark .notify-me-dropdown-item:hover{background:var(--color-bg-secondary-dark, #374151)}.notify-me-dropdown-item.active{color:var(--color-primary, #3b82f6)}.notify-me-checkbox{width:16px;height:16px;border:2px solid var(--color-border, #d1d5db);border-radius:4px;transition:all .15s ease}.dark .notify-me-checkbox{border-color:var(--color-border-dark, #4b5563)}.notify-me-checkbox.checked{background:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6)}.notify-me-checkbox.checked:after{content:"";display:block;width:4px;height:8px;margin:1px auto;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.notify-me-dropdown-footer{padding:.5rem;border-top:1px solid var(--color-border, #e5e7eb)}.dark .notify-me-dropdown-footer{border-color:var(--color-border-dark, #374151)}.notify-me-dropdown-action{width:100%;padding:.5rem;background:transparent;border:none;border-radius:4px;font-size:.8125rem;color:var(--color-primary, #3b82f6);cursor:pointer;transition:background .15s ease}.notify-me-dropdown-action:hover{background:#3b82f61a}.alert-subscription-modal{display:flex;flex-direction:column;gap:1.25rem}.alert-subscription-entity{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:8px}.dark .alert-subscription-entity{background:var(--color-bg-secondary-dark, #1f2937);border-color:var(--color-border-dark, #374151)}.alert-subscription-entity-info{display:flex;flex-direction:column;gap:.125rem}.alert-subscription-entity-type{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #6b7280)}.dark .alert-subscription-entity-type{color:var(--color-text-secondary-dark, #9ca3af)}.alert-subscription-entity-name{font-size:.9375rem;font-weight:600;color:var(--color-text, #111827)}.dark .alert-subscription-entity-name{color:var(--color-text-dark, #f9fafb)}.alert-subscription-entity-scope{font-size:.8125rem;color:var(--color-text-secondary, #6b7280);font-style:italic}.dark .alert-subscription-entity-scope{color:var(--color-text-secondary-dark, #9ca3af)}.alert-subscription-section{display:flex;flex-direction:column;gap:.75rem}.alert-subscription-section-title{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text, #111827)}.dark .alert-subscription-section-title{color:var(--color-text-dark, #f9fafb)}.alert-subscription-events{display:flex;flex-direction:column;gap:.5rem}.alert-subscription-event{border:1px solid var(--color-border, #e5e7eb);border-radius:8px;overflow:hidden;transition:all .15s ease}.dark .alert-subscription-event{border-color:var(--color-border-dark, #374151)}.alert-subscription-event.selected{border-color:var(--color-primary, #3b82f6);background:#3b82f60d}.dark .alert-subscription-event.selected{background:#3b82f61a}.alert-subscription-event-header{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer}.alert-subscription-event-header:hover{background:var(--color-bg-secondary, #f9fafb)}.dark .alert-subscription-event-header:hover{background:var(--color-bg-secondary-dark, #1f2937)}.alert-subscription-checkbox{flex-shrink:0;width:18px;height:18px;border:2px solid var(--color-border, #d1d5db);border-radius:4px;transition:all .15s ease}.dark .alert-subscription-checkbox{border-color:var(--color-border-dark, #4b5563)}.alert-subscription-checkbox.checked{background:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6);position:relative}.alert-subscription-checkbox.checked:after{content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.alert-subscription-event-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-bg-secondary, #f9fafb);border-radius:6px;color:var(--color-text-secondary, #6b7280)}.dark .alert-subscription-event-icon{background:var(--color-bg-secondary-dark, #374151);color:var(--color-text-secondary-dark, #9ca3af)}.alert-subscription-event.selected .alert-subscription-event-icon{background:#3b82f61a;color:var(--color-primary, #3b82f6)}.alert-subscription-event-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.alert-subscription-event-label{font-size:.875rem;font-weight:500;color:var(--color-text, #111827)}.dark .alert-subscription-event-label{color:var(--color-text-dark, #f9fafb)}.alert-subscription-event-desc{font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.dark .alert-subscription-event-desc{color:var(--color-text-secondary-dark, #9ca3af)}.alert-subscription-threshold{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;padding-left:calc(1.5rem + 18px);background:#3b82f60d;border-top:1px solid rgba(59,130,246,.1)}.dark .alert-subscription-threshold{background:#3b82f61a;border-color:#3b82f633}.alert-subscription-threshold-label{font-size:.8125rem;color:var(--color-text-secondary, #6b7280)}.dark .alert-subscription-threshold-label{color:var(--color-text-secondary-dark, #9ca3af)}.alert-subscription-threshold-input{width:80px;padding:.375rem .5rem;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:4px;font-size:.875rem;color:var(--color-text, #111827)}.dark .alert-subscription-threshold-input{background:var(--color-bg-dark, #111827);border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.alert-subscription-threshold-unit{font-size:.8125rem;color:var(--color-text-secondary, #6b7280)}.dark .alert-subscription-threshold-unit{color:var(--color-text-secondary-dark, #9ca3af)}.alert-subscription-channels{display:flex;gap:.5rem}.alert-subscription-channel{flex:1;display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;cursor:pointer;transition:all .15s ease}.dark .alert-subscription-channel{border-color:var(--color-border-dark, #374151)}.alert-subscription-channel:hover{border-color:var(--color-primary, #3b82f6)}.alert-subscription-channel.selected{border-color:var(--color-primary, #3b82f6);background:#3b82f60d}.dark .alert-subscription-channel.selected{background:#3b82f61a}.alert-subscription-channel-icon{flex-shrink:0;color:var(--color-text-secondary, #6b7280)}.dark .alert-subscription-channel-icon{color:var(--color-text-secondary-dark, #9ca3af)}.alert-subscription-channel.selected .alert-subscription-channel-icon{color:var(--color-primary, #3b82f6)}.alert-subscription-channel-info{display:flex;flex-direction:column;gap:.125rem}.alert-subscription-channel-label{font-size:.8125rem;font-weight:500;color:var(--color-text, #111827)}.dark .alert-subscription-channel-label{color:var(--color-text-dark, #f9fafb)}.alert-subscription-channel-desc{font-size:.6875rem;color:var(--color-text-secondary, #6b7280)}.dark .alert-subscription-channel-desc{color:var(--color-text-secondary-dark, #9ca3af)}.alert-subscription-summary{padding:.75rem;background:#3b82f61a;border-radius:6px}.alert-subscription-summary-text{font-size:.8125rem;color:var(--color-primary, #3b82f6)}.dark .alert-subscription-summary-text{color:#60a5fa}.alert-subscription-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.alert-subscription-btn:disabled{opacity:.5;cursor:not-allowed}.alert-subscription-btn-secondary{background:transparent;border:1px solid var(--color-border, #e5e7eb);color:var(--color-text, #111827)}.dark .alert-subscription-btn-secondary{border-color:var(--color-border-dark, #374151);color:var(--color-text-dark, #f9fafb)}.alert-subscription-btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary, #f9fafb)}.dark .alert-subscription-btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary-dark, #374151)}.alert-subscription-btn-primary{background:var(--color-primary, #3b82f6);border:none;color:#fff}.alert-subscription-btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #2563eb)}.bulk-copy-settings-section{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;overflow:hidden}.dark .bulk-copy-settings-section{background:var(--bg-secondary, #1e293b);border-color:var(--border-color, #334155)}.bulk-copy-settings-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-primary, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);color:var(--text-primary, #1e293b);font-weight:600;font-size:.875rem}.dark .bulk-copy-settings-header{background:var(--bg-primary, #0f172a);border-color:var(--border-color, #334155);color:var(--text-primary, #f1f5f9)}.bulk-copy-settings-header h3{margin:0;font-size:.875rem;font-weight:600}.bulk-copy-settings-content{padding:.5rem 0}.bulk-copy-setting-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;gap:1rem;transition:opacity .2s ease,background-color .15s ease}.bulk-copy-setting-row:hover:not(.disabled){background:#3b82f60d}.dark .bulk-copy-setting-row:hover:not(.disabled){background:#3b82f61a}.bulk-copy-setting-row.disabled{opacity:.5;pointer-events:none}.bulk-copy-setting-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.bulk-copy-setting-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b)}.dark .bulk-copy-setting-label{color:var(--text-primary, #f1f5f9)}.bulk-copy-setting-label svg{color:var(--text-secondary, #64748b);flex-shrink:0}.dark .bulk-copy-setting-label svg{color:var(--text-secondary, #94a3b8)}.bulk-copy-setting-description{font-size:.75rem;color:var(--text-secondary, #64748b);line-height:1.4}.dark .bulk-copy-setting-description{color:var(--text-secondary, #94a3b8)}.bulk-copy-toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer;flex-shrink:0}.bulk-copy-toggle input{opacity:0;width:0;height:0;position:absolute}.bulk-copy-toggle-slider{position:relative;width:40px;height:22px;background:var(--bg-tertiary, #e2e8f0);border-radius:11px;transition:background-color .2s ease}.dark .bulk-copy-toggle-slider{background:var(--bg-tertiary, #334155)}.bulk-copy-toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.bulk-copy-toggle input:checked+.bulk-copy-toggle-slider{background:var(--color-primary, #3b82f6)}.bulk-copy-toggle input:checked+.bulk-copy-toggle-slider:before{transform:translate(18px)}.bulk-copy-toggle input:focus+.bulk-copy-toggle-slider{box-shadow:0 0 0 3px #3b82f64d}.bulk-copy-toggle input:disabled+.bulk-copy-toggle-slider{opacity:.5;cursor:not-allowed}.bulk-copy-setting-input-group{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.bulk-copy-number-input{width:60px;padding:.375rem .5rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:.875rem;text-align:center;background:var(--bg-primary, #ffffff);color:var(--text-primary, #1e293b);transition:border-color .15s ease,box-shadow .15s ease}.dark .bulk-copy-number-input{background:var(--bg-primary, #0f172a);border-color:var(--border-color, #334155);color:var(--text-primary, #f1f5f9)}.bulk-copy-number-input:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f633}.bulk-copy-number-input:disabled{opacity:.5;cursor:not-allowed}.bulk-copy-number-input::-webkit-outer-spin-button,.bulk-copy-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bulk-copy-number-input[type=number]{-moz-appearance:textfield}.bulk-copy-input-suffix{font-size:.75rem;color:var(--text-secondary, #64748b);white-space:nowrap}.dark .bulk-copy-input-suffix{color:var(--text-secondary, #94a3b8)}.bulk-copy-settings-footer{padding:.75rem 1rem;margin-top:.5rem;border-top:1px solid var(--border-color, #e2e8f0);display:flex;justify-content:flex-end}.dark .bulk-copy-settings-footer{border-color:var(--border-color, #334155)}.bulk-copy-reset-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.75rem;color:var(--text-secondary, #64748b);background:transparent;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.dark .bulk-copy-reset-btn{color:var(--text-secondary, #94a3b8);border-color:var(--border-color, #334155)}.bulk-copy-reset-btn:hover{background:var(--bg-tertiary, #f1f5f9);color:var(--text-primary, #1e293b);border-color:var(--text-secondary, #94a3b8)}.dark .bulk-copy-reset-btn:hover{background:var(--bg-tertiary, #1e293b);color:var(--text-primary, #f1f5f9)}.bulk-copy-reset-btn svg{width:14px;height:14px}.tvs-modal-content{display:flex;flex-direction:column;gap:20px;padding:0 4px}.tvs-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:var(--text-secondary, #64748b)}.dark .tvs-loading{color:var(--text-secondary-dark, #94a3b8)}.tvs-scope-section{display:flex;flex-direction:column;gap:12px}.tvs-label{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.5px}.dark .tvs-label{color:var(--text-tertiary-dark, #64748b)}.tvs-scope-tabs{display:flex;gap:4px;padding:4px;background:var(--bg-tertiary, #f1f5f9);border-radius:10px}.dark .tvs-scope-tabs{background:var(--bg-tertiary-dark, #1e293b)}.tvs-scope-tab{display:flex;align-items:center;gap:8px;flex:1;padding:10px 16px;font-size:.875rem;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.dark .tvs-scope-tab{color:var(--text-secondary-dark, #94a3b8)}.tvs-scope-tab:hover:not(.active){background:var(--bg-secondary, #ffffff);color:var(--text-primary, #1e293b)}.dark .tvs-scope-tab:hover:not(.active){background:var(--bg-secondary-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}.tvs-scope-tab.active{background:var(--primary, #3b82f6);color:#fff;box-shadow:0 1px 3px #3b82f64d}.dark .tvs-scope-tab.active{background:var(--primary, #3b82f6);color:#fff}.tvs-selector{display:flex;flex-direction:column;gap:8px}.tvs-dropdown-container{position:relative}.tvs-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;font-size:.875rem;color:var(--text-primary, #1e293b);background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .15s ease}.dark .tvs-dropdown-trigger{color:var(--text-primary-dark, #f1f5f9);background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.tvs-dropdown-trigger:hover{border-color:var(--border-color-hover, #cbd5e1)}.dark .tvs-dropdown-trigger:hover{border-color:var(--border-color-dark, #64748b)}.tvs-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:280px;overflow:hidden}.dark .tvs-dropdown{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);box-shadow:0 4px 12px #0000004d}.tvs-dropdown-search{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-color, #e2e8f0);color:var(--text-tertiary, #94a3b8)}.dark .tvs-dropdown-search{border-color:var(--border-color-dark, #475569);color:var(--text-tertiary-dark, #64748b)}.tvs-dropdown-search input{flex:1;border:none;outline:none;font-size:.875rem;background:transparent;color:var(--text-primary, #1e293b)}.dark .tvs-dropdown-search input{color:var(--text-primary-dark, #f1f5f9)}.tvs-dropdown-search input::placeholder{color:var(--text-tertiary, #94a3b8)}.dark .tvs-dropdown-search input::placeholder{color:var(--text-tertiary-dark, #64748b)}.tvs-dropdown-list{max-height:220px;overflow-y:auto}.tvs-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;font-size:.875rem;color:var(--text-primary, #1e293b);background:transparent;border:none;cursor:pointer;transition:background .1s ease;text-align:left}.dark .tvs-dropdown-item{color:var(--text-primary-dark, #f1f5f9)}.tvs-dropdown-item:hover{background:var(--bg-hover, #f1f5f9)}.dark .tvs-dropdown-item:hover{background:var(--bg-hover-dark, #334155)}.tvs-dropdown-item.active{background:var(--primary-light, #eff6ff);color:var(--primary, #3b82f6)}.dark .tvs-dropdown-item.active{background:#3b82f626;color:#60a5fa}.tvs-dropdown-item-state{margin-left:8px;font-size:.75rem;color:var(--text-tertiary, #94a3b8)}.dark .tvs-dropdown-item-state{color:var(--text-tertiary-dark, #64748b)}.tvs-dropdown-empty{padding:24px;text-align:center;color:var(--text-tertiary, #94a3b8);font-size:.875rem}.dark .tvs-dropdown-empty{color:var(--text-tertiary-dark, #64748b)}.tvs-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-color, #e2e8f0);padding-bottom:0}.dark .tvs-tabs{border-color:var(--border-color-dark, #475569)}.tvs-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;font-size:.875rem;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:all .15s ease}.dark .tvs-tab{color:var(--text-secondary-dark, #94a3b8)}.tvs-tab:hover:not(.active){color:var(--text-primary, #1e293b)}.dark .tvs-tab:hover:not(.active){color:var(--text-primary-dark, #f1f5f9)}.tvs-tab.active{color:var(--primary, #3b82f6);border-bottom-color:var(--primary, #3b82f6)}.dark .tvs-tab.active{color:#60a5fa;border-bottom-color:#60a5fa}.tvs-tab-content{min-height:300px}.tvs-info-banner{display:flex;gap:14px;padding:14px 16px;background:var(--primary-light, #eff6ff);border:1px solid rgba(59,130,246,.2);border-radius:10px;color:var(--primary, #3b82f6);margin-bottom:4px}.dark .tvs-info-banner{background:#3b82f61a;border-color:#3b82f640;color:#60a5fa}.tvs-info-title{margin:0 0 4px;font-size:.875rem;font-weight:600;color:inherit}.tvs-info-text{margin:0;font-size:.8rem;color:var(--text-secondary, #64748b);line-height:1.5}.dark .tvs-info-text{color:var(--text-secondary-dark, #94a3b8)}.tvs-variance-preview{margin:16px 0 20px;padding:0 8px}.tvs-variance-bar{display:flex;height:24px;border-radius:12px;overflow:hidden;margin-bottom:20px}.tvs-variance-segment{transition:width .3s ease}.tvs-variance-ahead{background:linear-gradient(135deg,#10b981,#059669)}.tvs-variance-ontrack{background:linear-gradient(135deg,#6b7280,#4b5563)}.tvs-variance-atrisk{background:linear-gradient(135deg,#f59e0b,#d97706)}.tvs-variance-critical{background:linear-gradient(135deg,#ef4444,#dc2626)}.tvs-variance-labels{position:relative;height:24px;margin-bottom:8px}.tvs-variance-labels span{position:absolute;transform:translate(-50%);font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b);padding:2px 6px;background:var(--bg-secondary, #f8fafc);border-radius:4px;border:1px solid var(--border-color, #e2e8f0)}.dark .tvs-variance-labels span{color:var(--text-secondary-dark, #94a3b8);background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.tvs-variance-status-labels{display:flex;justify-content:space-between;font-size:.75rem;font-weight:500}.tvs-status-ahead{color:#10b981}.tvs-status-ontrack{color:#6b7280}.tvs-status-atrisk{color:#f59e0b}.tvs-status-critical{color:#ef4444}.tvs-threshold-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.tvs-threshold-card{display:flex;flex-direction:column;gap:8px;padding:14px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:10px;transition:all .15s ease}.dark .tvs-threshold-card{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.tvs-threshold-header{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600}.tvs-threshold-ahead .tvs-threshold-header{color:#10b981}.tvs-threshold-ontrack .tvs-threshold-header{color:#6b7280}.dark .tvs-threshold-ontrack .tvs-threshold-header{color:#94a3b8}.tvs-threshold-atrisk .tvs-threshold-header{color:#f59e0b}.tvs-threshold-critical .tvs-threshold-header{color:#ef4444}.tvs-threshold-input-group{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-secondary, #64748b)}.dark .tvs-threshold-input-group{color:var(--text-secondary-dark, #94a3b8)}.tvs-threshold-input-group input{width:60px;padding:6px 10px;font-size:.875rem;text-align:center;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;color:var(--text-primary, #1e293b);transition:border-color .15s ease}.dark .tvs-threshold-input-group input{background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.tvs-threshold-input-group input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.dark .tvs-threshold-input-group input:focus{box-shadow:0 0 0 3px #3b82f633}.tvs-threshold-value{font-size:.875rem;color:var(--text-secondary, #64748b)}.dark .tvs-threshold-value{color:var(--text-secondary-dark, #94a3b8)}.tvs-threshold-desc{margin:0;font-size:.75rem;color:var(--text-tertiary, #94a3b8);line-height:1.4}.dark .tvs-threshold-desc{color:var(--text-tertiary-dark, #64748b)}.tvs-display-options{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:10px}.dark .tvs-display-options{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.tvs-display-options h4{margin:0 0 4px;font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b)}.dark .tvs-display-options h4{color:var(--text-primary-dark, #f1f5f9)}.tvs-checkbox{display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--text-secondary, #64748b);cursor:pointer;transition:color .1s ease}.dark .tvs-checkbox{color:var(--text-secondary-dark, #94a3b8)}.tvs-checkbox:hover{color:var(--text-primary, #1e293b)}.dark .tvs-checkbox:hover{color:var(--text-primary-dark, #f1f5f9)}.tvs-checkbox input[type=checkbox]{width:18px;height:18px;border-radius:4px;accent-color:var(--primary, #3b82f6);cursor:pointer}.tvs-override-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--warning-light, #fffbeb);border:1px solid rgba(245,158,11,.25);border-radius:8px;font-size:.875rem;color:var(--warning, #f59e0b);margin-top:16px}.dark .tvs-override-banner{background:#f59e0b1a;border-color:#f59e0b33}.tvs-override-banner span{flex:1}.tvs-reset-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:500;color:var(--text-secondary, #64748b);background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.dark .tvs-reset-btn{color:var(--text-secondary-dark, #94a3b8);background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.tvs-reset-btn:hover:not(:disabled){background:var(--bg-hover, #f1f5f9);color:var(--text-primary, #1e293b)}.dark .tvs-reset-btn:hover:not(:disabled){background:var(--bg-hover-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}.tvs-reset-btn:disabled{opacity:.6;cursor:not-allowed}.tvs-section{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.tvs-section h4{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b)}.dark .tvs-section h4{color:var(--text-primary-dark, #f1f5f9)}.tvs-section-header{display:flex;align-items:center;justify-content:space-between}.tvs-section-desc{margin:-8px 0 4px;font-size:.8rem;color:var(--text-tertiary, #94a3b8)}.dark .tvs-section-desc{color:var(--text-tertiary-dark, #64748b)}.tvs-weights-sum{font-size:.875rem;font-weight:600;padding:4px 10px;border-radius:6px}.tvs-weights-sum.valid{color:#10b981;background:#10b9811a}.tvs-weights-sum.invalid{color:#ef4444;background:#ef44441a}.tvs-weight-sliders{display:flex;flex-direction:column;gap:12px}.tvs-weight-row{display:flex;align-items:center;gap:16px}.tvs-weight-label{width:100px;font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b)}.dark .tvs-weight-label{color:var(--text-primary-dark, #f1f5f9)}.tvs-weight-slider-container{display:flex;align-items:center;gap:12px;flex:1}.tvs-weight-slider{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-color, #e2e8f0);border-radius:3px;outline:none;cursor:pointer}.dark .tvs-weight-slider{background:var(--border-color-dark, #475569)}.tvs-weight-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--primary, #3b82f6);border-radius:50%;cursor:pointer;transition:transform .1s ease}.tvs-weight-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.tvs-weight-slider::-moz-range-thumb{width:16px;height:16px;background:var(--primary, #3b82f6);border:none;border-radius:50%;cursor:pointer}.tvs-weight-input{width:50px;padding:6px 8px;font-size:.875rem;text-align:center;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;color:var(--text-primary, #1e293b)}.dark .tvs-weight-input{background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.tvs-weight-input:focus{outline:none;border-color:var(--primary, #3b82f6)}.tvs-weight-unit{font-size:.875rem;color:var(--text-tertiary, #94a3b8)}.dark .tvs-weight-unit{color:var(--text-tertiary-dark, #64748b)}.tvs-priority-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tvs-priority-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 12px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px}.dark .tvs-priority-card{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.tvs-priority-label{font-size:.8rem;font-weight:600}.tvs-priority-critical .tvs-priority-label{color:#ef4444}.tvs-priority-high .tvs-priority-label{color:#f59e0b}.tvs-priority-medium .tvs-priority-label{color:#3b82f6}.tvs-priority-low .tvs-priority-label{color:#6b7280}.dark .tvs-priority-low .tvs-priority-label{color:#94a3b8}.tvs-priority-input-group{display:flex;align-items:center;gap:4px}.tvs-priority-input-group input{width:50px;padding:6px 8px;font-size:.875rem;text-align:center;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;color:var(--text-primary, #1e293b)}.dark .tvs-priority-input-group input{background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.tvs-priority-input-group input:focus{outline:none;border-color:var(--primary, #3b82f6)}.tvs-priority-input-group span{font-size:.8rem;color:var(--text-tertiary, #94a3b8)}.dark .tvs-priority-input-group span{color:var(--text-tertiary-dark, #64748b)}.tvs-gap-thresholds{display:flex;gap:16px}.tvs-gap-threshold{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;padding:14px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:10px}.dark .tvs-gap-threshold{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.tvs-gap-threshold>span:first-child{font-size:.875rem;font-weight:600}.tvs-gap-healthy>span:first-child{color:#10b981}.tvs-gap-warning>span:first-child{color:#f59e0b}.tvs-gap-critical-status>span:first-child{color:#ef4444}.tvs-gap-threshold-input{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-secondary, #64748b)}.dark .tvs-gap-threshold-input{color:var(--text-secondary-dark, #94a3b8)}.tvs-gap-threshold-input input{width:55px;padding:6px 8px;font-size:.875rem;text-align:center;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;color:var(--text-primary, #1e293b)}.dark .tvs-gap-threshold-input input{background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.tvs-gap-threshold-input input:focus{outline:none;border-color:var(--primary, #3b82f6)}.tvs-gap-threshold-value{font-size:.875rem;color:var(--text-secondary, #64748b)}.dark .tvs-gap-threshold-value{color:var(--text-secondary-dark, #94a3b8)}.tvs-form-row{display:flex;align-items:center;gap:16px;margin-bottom:4px}.tvs-form-row label{font-size:.875rem;color:var(--text-secondary, #64748b);min-width:140px}.dark .tvs-form-row label{color:var(--text-secondary-dark, #94a3b8)}.tvs-select{padding:8px 32px 8px 12px;font-size:.875rem;color:var(--text-primary, #1e293b);background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' 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 10px center;min-width:150px}.dark .tvs-select{color:var(--text-primary-dark, #f1f5f9);background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' 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")}.tvs-select:focus{outline:none;border-color:var(--primary, #3b82f6)}.tvs-footer{display:flex;align-items:center;justify-content:space-between;width:100%}.tvs-footer-status{font-size:.8rem;font-style:italic;color:var(--warning, #f59e0b)}.tvs-footer-actions{display:flex;gap:10px}.tvs-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;font-size:.875rem;font-weight:500;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .15s ease}.tvs-btn:disabled{opacity:.6;cursor:not-allowed}.tvs-btn-secondary{color:var(--text-secondary, #64748b);background:transparent;border-color:var(--border-color, #e2e8f0)}.dark .tvs-btn-secondary{color:var(--text-secondary-dark, #94a3b8);border-color:var(--border-color-dark, #475569)}.tvs-btn-secondary:hover:not(:disabled){background:var(--bg-hover, #f1f5f9);color:var(--text-primary, #1e293b)}.dark .tvs-btn-secondary:hover:not(:disabled){background:var(--bg-hover-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}.tvs-btn-primary{color:#fff;background:var(--primary, #3b82f6);box-shadow:0 1px 3px #3b82f64d}.tvs-btn-primary:hover:not(:disabled){background:var(--primary-dark, #2563eb)}.tvs-validation-errors{display:flex;flex-direction:column;gap:8px}.tvs-validation-error{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:.8rem;color:#ef4444;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px}.dark .tvs-validation-error{background:#ef444426;border-color:#ef444440}.tvs-variance-tab,.tvs-gap-tab,.tvs-display-tab{display:flex;flex-direction:column;gap:16px}@media (max-width: 768px){.tvs-scope-tabs{flex-direction:column}.tvs-threshold-cards,.tvs-priority-grid{grid-template-columns:repeat(2,1fr)}.tvs-gap-thresholds{flex-direction:column}.tvs-weight-row{flex-wrap:wrap}.tvs-weight-label{width:100%}.tvs-form-row{flex-direction:column;align-items:flex-start;gap:8px}.tvs-select{width:100%}.tvs-footer{flex-direction:column;gap:12px}.tvs-footer-actions{width:100%;justify-content:flex-end}}@media (max-width: 480px){.tvs-threshold-cards,.tvs-priority-grid{grid-template-columns:1fr}.tvs-tabs{flex-wrap:wrap}.tvs-tab{flex:1;justify-content:center;padding:10px 12px;font-size:.8rem}}.tvs-dropdown-list::-webkit-scrollbar{width:6px}.tvs-dropdown-list::-webkit-scrollbar-track{background:transparent}.tvs-dropdown-list::-webkit-scrollbar-thumb{background:var(--border-color, #e2e8f0);border-radius:3px}.dark .tvs-dropdown-list::-webkit-scrollbar-thumb{background:var(--border-color-dark, #475569)}.tvs-explanation-panel{margin-bottom:20px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;overflow:hidden}.tvs-explanation-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);background:var(--bg-tertiary, #f8fafc);border:none;cursor:pointer;transition:all .15s ease}.tvs-explanation-toggle:hover{background:var(--bg-hover, #f1f5f9);color:var(--text-primary, #1e293b)}.tvs-explanation-chevron{margin-left:auto;transition:transform .2s ease}.tvs-explanation-chevron.expanded{transform:rotate(180deg)}.tvs-explanation-content{padding:16px;background:var(--bg-secondary, #ffffff);border-top:1px solid var(--border-color, #e2e8f0)}.tvs-explanation-formula{margin-bottom:16px;padding:12px;background:var(--bg-tertiary, #f8fafc);border-radius:6px}.tvs-explanation-formula h5{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.5px}.tvs-explanation-formula code{display:block;font-family:SF Mono,ui-monospace,monospace;font-size:14px;color:var(--text-primary, #1e293b)}.tvs-explanation-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.tvs-explanation-card{padding:12px;background:var(--bg-tertiary, #f8fafc);border-radius:6px}.tvs-explanation-card h6{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-primary, #1e293b)}.tvs-explanation-card p{margin:0 0 8px;font-size:12px;color:var(--text-secondary, #64748b);line-height:1.5}.tvs-explanation-example{font-size:11px;color:var(--text-tertiary, #94a3b8);font-style:italic}.tvs-explanation-thresholds{padding-top:8px}.tvs-explanation-thresholds h5{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.5px}.tvs-threshold-bar{display:flex;border-radius:6px;overflow:hidden}.tvs-threshold-segment{flex:1;padding:8px;text-align:center;font-size:11px;font-weight:500;line-height:1.3}.tvs-threshold-segment.healthy{background:#10b98126;color:#10b981}.tvs-threshold-segment.warning{background:#f59e0b26;color:#f59e0b}.tvs-threshold-segment.critical{background:#ef444426;color:#ef4444}.dark .tvs-explanation-panel{border-color:var(--border-color-dark, #475569)}.dark .tvs-explanation-toggle{background:var(--bg-tertiary-dark, #334155);color:var(--text-secondary-dark, #94a3b8)}.dark .tvs-explanation-toggle:hover{background:var(--bg-hover-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.dark .tvs-explanation-content{background:var(--bg-secondary-dark, #1e293b);border-top-color:var(--border-color-dark, #475569)}.dark .tvs-explanation-formula,.dark .tvs-explanation-card{background:var(--bg-tertiary-dark, #334155)}.dark .tvs-explanation-formula code,.dark .tvs-explanation-card h6{color:var(--text-primary-dark, #f1f5f9)}.dark .tvs-explanation-formula h5,.dark .tvs-explanation-thresholds h5,.dark .tvs-explanation-card p{color:var(--text-secondary-dark, #94a3b8)}.dark .tvs-explanation-example{color:var(--text-tertiary-dark, #64748b)}.tvs-analysis-mode-selector{display:flex;flex-direction:column;gap:8px;margin-top:12px}.tvs-mode-option{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .15s ease}.tvs-mode-option:hover{background:var(--bg-hover, #f8fafc);border-color:var(--text-tertiary, #94a3b8)}.tvs-mode-option.active{background:#3b82f61a;border-color:#3b82f6}.tvs-mode-option input[type=radio]{margin-top:2px;accent-color:#3b82f6}.tvs-mode-content{display:flex;flex-direction:column;gap:2px}.tvs-mode-title{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b)}.tvs-mode-desc{font-size:12px;color:var(--text-secondary, #64748b)}.tvs-combined-slider{display:flex;align-items:center;gap:12px;margin-top:12px}.tvs-combined-label{font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);min-width:90px}.tvs-combined-range{flex:1;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,#3b82f6 0%,#3b82f6 var(--value, 50%),#f59e0b var(--value, 50%),#f59e0b 100%);border-radius:4px}.tvs-combined-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:#fff;border:2px solid #3b82f6;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0000001a}.tvs-combined-values{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;font-weight:600}.tvs-combined-values span:first-child{color:#3b82f6}.tvs-combined-values span:last-child{color:#f59e0b}.tvs-date-fields-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.tvs-date-field-card{padding:12px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;background:var(--bg-tertiary, #f8fafc);opacity:.7;transition:all .15s ease}.tvs-date-field-card.enabled{opacity:1;border-color:#3b82f6;background:#3b82f60d}.tvs-date-field-header{margin-bottom:8px}.tvs-checkbox-inline{display:flex;align-items:center;gap:8px;cursor:pointer}.tvs-checkbox-inline input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6}.tvs-checkbox-inline span{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b)}.tvs-date-field-desc{font-size:11px;color:var(--text-secondary, #64748b);line-height:1.4;margin:0 0 8px}.tvs-date-field-weight{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color, #e2e8f0)}.tvs-date-field-range{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-color, #e2e8f0);border-radius:3px}.tvs-date-field-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:#3b82f6;border-radius:50%;cursor:pointer}.tvs-date-field-input{width:50px;padding:4px 6px;font-size:12px;text-align:center;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;background:var(--bg-secondary, #ffffff)}.tvs-date-field-weight span{font-size:12px;color:var(--text-secondary, #64748b)}.tvs-date-thresholds{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.tvs-date-threshold-card{display:flex;flex-direction:column;align-items:center;padding:12px 8px;border-radius:8px;text-align:center}.tvs-date-threshold-card.ahead{background:#10b9811a}.tvs-date-threshold-card.on-track{background:#6b72801a}.tvs-date-threshold-card.warning{background:#f59e0b1a}.tvs-date-threshold-card.critical{background:#ef44441a}.tvs-date-threshold-card .tvs-threshold-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.tvs-date-threshold-card.ahead .tvs-threshold-label{color:#10b981}.tvs-date-threshold-card.on-track .tvs-threshold-label{color:#6b7280}.tvs-date-threshold-card.warning .tvs-threshold-label{color:#f59e0b}.tvs-date-threshold-card.critical .tvs-threshold-label{color:#ef4444}.tvs-date-threshold-card .tvs-threshold-value{font-size:11px;color:var(--text-secondary, #64748b);margin-bottom:8px}.tvs-date-threshold-input{width:60px;padding:4px 6px;font-size:12px;text-align:center;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;background:var(--bg-secondary, #ffffff)}.dark .tvs-mode-option{border-color:var(--border-color-dark, #475569)}.dark .tvs-mode-option:hover{background:var(--bg-hover-dark, #334155);border-color:var(--text-tertiary-dark, #64748b)}.dark .tvs-mode-option.active{background:#3b82f633}.dark .tvs-mode-title{color:var(--text-primary-dark, #f1f5f9)}.dark .tvs-mode-desc,.dark .tvs-combined-label{color:var(--text-secondary-dark, #94a3b8)}.dark .tvs-combined-range{background:linear-gradient(to right,#3b82f6 0%,#3b82f6 var(--value, 50%),#f59e0b var(--value, 50%),#f59e0b 100%)}.dark .tvs-date-field-card{border-color:var(--border-color-dark, #475569);background:var(--bg-tertiary-dark, #334155)}.dark .tvs-date-field-card.enabled{background:#3b82f626}.dark .tvs-checkbox-inline span{color:var(--text-primary-dark, #f1f5f9)}.dark .tvs-date-field-desc{color:var(--text-secondary-dark, #94a3b8)}.dark .tvs-date-field-weight{border-top-color:var(--border-color-dark, #475569)}.dark .tvs-date-field-range{background:var(--border-color-dark, #475569)}.dark .tvs-date-field-input,.dark .tvs-date-threshold-input{border-color:var(--border-color-dark, #475569);background:var(--bg-secondary-dark, #1e293b);color:var(--text-primary-dark, #f1f5f9)}.dark .tvs-date-threshold-card .tvs-threshold-value{color:var(--text-secondary-dark, #94a3b8)}.pm-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background-color:var(--bg-secondary, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);gap:24px}.dark .pm-header{background-color:var(--bg-secondary-dark, #1e293b);border-bottom-color:var(--border-color-dark, #475569)}.pm-header-left,.pm-header-right{display:flex;align-items:center;gap:16px}.pm-header-selector{position:relative;display:flex;align-items:center;gap:4px}.pm-header-selector-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;color:var(--text-primary, #1e293b)}.pm-header-selector-btn:hover{background-color:var(--bg-hover, #e2e8f0)}.dark .pm-header-selector-btn{background-color:var(--bg-tertiary-dark, #334155);border-color:var(--border-color-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.dark .pm-header-selector-btn:hover{background-color:var(--bg-hover-dark, #475569)}.pm-header-selector-label{font-size:11px;font-weight:500;color:var(--text-tertiary, #64748b);text-transform:uppercase;letter-spacing:.5px}.dark .pm-header-selector-label{color:var(--text-tertiary-dark, #94a3b8)}.pm-header-selector-value{font-weight:500}.pm-header-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;max-height:320px;overflow-y:auto;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;z-index:50}.pm-header-dropdown-right{left:auto;right:0}.dark .pm-header-dropdown{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155)}.pm-header-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;text-align:left;font-size:14px;color:var(--text-primary, #1e293b);background:none;border:none;cursor:pointer;transition:background-color .15s ease}.pm-header-dropdown-item:hover{background-color:var(--bg-hover, #f1f5f9)}.pm-header-dropdown-item.active{background-color:var(--primary-light, #eff6ff);color:var(--primary-color, #3b82f6)}.dark .pm-header-dropdown-item{color:var(--text-primary-dark, #f1f5f9)}.dark .pm-header-dropdown-item:hover{background-color:var(--bg-hover-dark, #334155)}.dark .pm-header-dropdown-item.active{background-color:#3b82f633;color:var(--primary-color, #60a5fa)}.pm-header-dropdown-section{padding:8px 0}.pm-header-dropdown-section-title{display:block;padding:4px 12px 8px;font-size:11px;font-weight:600;color:var(--text-tertiary, #64748b);text-transform:uppercase;letter-spacing:.5px}.pm-header-dropdown-empty{display:block;padding:8px 12px;font-size:13px;color:var(--text-tertiary, #64748b);font-style:italic}.dark .pm-header-dropdown-empty{color:var(--text-tertiary-dark, #94a3b8)}.pm-header-dropdown-divider{height:1px;margin:4px 0;background-color:var(--border-color, #e2e8f0)}.dark .pm-header-dropdown-divider{background-color:var(--border-color-dark, #334155)}.pm-header-dropdown-action{color:var(--primary-color, #3b82f6);font-weight:500}.pm-header-dropdown-personas{min-width:280px}.pm-persona-item-content{display:flex;flex-direction:column;gap:2px}.pm-persona-item-name{font-weight:500}.pm-persona-item-desc{font-size:12px;color:var(--text-tertiary, #64748b)}.dark .pm-persona-item-desc{color:var(--text-tertiary-dark, #94a3b8)}.pm-header-stats{display:flex;gap:20px;padding-left:16px;margin-left:16px;border-left:1px solid var(--border-color, #e2e8f0)}.dark .pm-header-stats{border-left-color:var(--border-color-dark, #475569)}.pm-header-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.pm-header-stat-value{font-size:18px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .pm-header-stat-value{color:var(--text-primary-dark, #f1f5f9)}.pm-header-stat-value.pm-stat-warning{color:var(--warning-color, #f59e0b)}.pm-header-stat-value.pm-stat-error{color:var(--error-color, #ef4444)}.pm-header-stat-label{font-size:11px;font-weight:500;color:var(--text-tertiary, #64748b);text-transform:uppercase;letter-spacing:.5px}.dark .pm-header-stat-label{color:var(--text-tertiary-dark, #94a3b8)}.pm-header-sse-indicator{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;border-radius:9999px;transition:all .2s ease;position:relative}.pm-header-sse-indicator.connected{color:#10b981;background-color:#10b9811a}.pm-header-sse-indicator.disconnected{color:#ef4444;background-color:#ef44441a}.dark .pm-header-sse-indicator.connected{color:#34d399;background-color:#34d39926}.dark .pm-header-sse-indicator.disconnected{color:#f87171;background-color:#f8717126}.pm-header-sse-label{text-transform:uppercase;letter-spacing:.5px}.pm-header-sse-pulse-dot{width:6px;height:6px;background-color:#10b981;border-radius:50%;flex-shrink:0;animation:sse-pulse 2s infinite}.dark .pm-header-sse-pulse-dot{background-color:#34d399}@keyframes sse-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}.pm-header-actions{display:flex;gap:8px}.pm-header-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s ease;color:var(--text-secondary, #475569)}.pm-header-action-btn:hover:not(:disabled){background-color:var(--bg-hover, #e2e8f0);color:var(--text-primary, #1e293b)}.pm-header-action-btn:disabled{opacity:.5;cursor:not-allowed}.dark .pm-header-action-btn{background-color:var(--bg-tertiary-dark, #334155);border-color:var(--border-color-dark, #64748b);color:var(--text-secondary-dark, #94a3b8)}.dark .pm-header-action-btn:hover:not(:disabled){background-color:var(--bg-hover-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.pm-header-action-btn.pm-header-action-btn-primary{background-color:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6);color:#fff}.pm-header-action-btn.pm-header-action-btn-primary:hover:not(:disabled){background-color:var(--primary-hover, #2563eb);border-color:var(--primary-hover, #2563eb);color:#fff}.dark .pm-header-action-btn.pm-header-action-btn-primary{background-color:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6);color:#fff}.dark .pm-header-action-btn.pm-header-action-btn-primary:hover:not(:disabled){background-color:var(--primary-hover, #2563eb);border-color:var(--primary-hover, #2563eb);color:#fff}.pm-header-action-btn.pm-header-action-btn-active{position:relative;background-color:#3b82f61a;border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.pm-header-action-btn.pm-header-action-btn-active:hover:not(:disabled){background-color:#3b82f633;color:var(--primary-color, #3b82f6)}.dark .pm-header-action-btn.pm-header-action-btn-active{background-color:#3b82f633;border-color:var(--primary-color, #60a5fa);color:var(--primary-color, #60a5fa)}.dark .pm-header-action-btn.pm-header-action-btn-active:hover:not(:disabled){background-color:#3b82f64d;color:var(--primary-color, #60a5fa)}.pm-header-filter-indicator{position:absolute;top:4px;right:4px;width:8px;height:8px;background-color:var(--primary-color, #3b82f6);border-radius:50%;animation:filter-pulse 2s infinite}.dark .pm-header-filter-indicator{background-color:var(--primary-color, #60a5fa)}@keyframes filter-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.pm-header-export-dropdown{position:relative}.pm-header-export-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease;z-index:50}.pm-header-export-dropdown:hover .pm-header-export-menu{opacity:1;visibility:visible;transform:translateY(0)}.dark .pm-header-export-menu{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155)}.pm-header-export-menu button{display:block;width:100%;padding:10px 12px;text-align:left;font-size:14px;color:var(--text-primary, #1e293b);background:none;border:none;cursor:pointer}.pm-header-export-menu button:hover{background-color:var(--bg-hover, #f1f5f9)}.dark .pm-header-export-menu button{color:var(--text-primary-dark, #f1f5f9)}.dark .pm-header-export-menu button:hover{background-color:var(--bg-hover-dark, #334155)}.pm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#00000080;z-index:100}.pm-modal{width:100%;max-width:400px;padding:24px;background-color:var(--bg-secondary, #ffffff);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a}.dark .pm-modal{background-color:var(--bg-secondary-dark, #1e293b)}.pm-modal-title{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .pm-modal-title{color:var(--text-primary-dark, #f1f5f9)}.pm-modal-input{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;background-color:var(--bg-primary, #f8fafc);color:var(--text-primary, #1e293b)}.pm-modal-input:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.dark .pm-modal-input{background-color:var(--bg-primary-dark, #0f172a);border-color:var(--border-color-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}.pm-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.pm-modal-btn{padding:10px 16px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease}.pm-modal-btn-secondary{background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);color:var(--text-secondary, #475569)}.pm-modal-btn-secondary:hover{background-color:var(--bg-hover, #e2e8f0)}.dark .pm-modal-btn-secondary{background-color:var(--bg-tertiary-dark, #334155);border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.pm-modal-btn-primary{background-color:var(--primary-color, #3b82f6);border:none;color:#fff}.pm-modal-btn-primary:hover:not(:disabled){background-color:var(--primary-hover, #2563eb)}.pm-modal-btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1024px){.pm-header{padding:12px 16px;flex-wrap:wrap}.pm-header-stats{display:none}}@media (max-width: 768px){.pm-header{padding:8px 12px;gap:12px}.pm-header-left,.pm-header-right{gap:8px}.pm-header-selector-label{display:none}}.pm-header-settings-container{position:relative}.pm-header-settings-dropdown{min-width:220px}.pm-header-settings-dropdown .pm-header-dropdown-item{gap:10px}.pm-header-settings-dropdown .pm-header-dropdown-item svg{color:var(--text-tertiary, #64748b);flex-shrink:0}.dark .pm-header-settings-dropdown .pm-header-dropdown-item svg{color:var(--text-tertiary-dark, #94a3b8)}.pm-header-settings-dropdown .pm-header-dropdown-item:hover svg{color:var(--primary-color, #3b82f6)}.pm-header-selector-btn.pm-header-selector-btn-compact{padding:6px 10px;font-size:13px}.pm-header-selector-btn-compact .pm-header-selector-value{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-header-dropdown-scrollable{max-height:400px;overflow-y:auto}.pm-header-dropdown-scrollable::-webkit-scrollbar{width:6px}.pm-header-dropdown-scrollable::-webkit-scrollbar-track{background:transparent}.pm-header-dropdown-scrollable::-webkit-scrollbar-thumb{background-color:var(--border-color, #e2e8f0);border-radius:3px}.dark .pm-header-dropdown-scrollable::-webkit-scrollbar-thumb{background-color:var(--border-color-dark, #475569)}.pm-header-dropdown-item-state{color:var(--text-tertiary, #64748b);font-size:12px}.dark .pm-header-dropdown-item-state{color:var(--text-tertiary-dark, #94a3b8)}.pm-header-dropdown-section-header{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-top:4px}.pm-header-dropdown-section-icon{font-size:16px;line-height:1}.pm-header-dropdown-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary, #64748b)}.dark .pm-header-dropdown-section-title{color:var(--text-tertiary-dark, #94a3b8)}.pm-header-dropdown-item-content{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1}.pm-header-dropdown-item-label{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b)}.pm-header-dropdown-item-desc{font-size:11px;color:var(--text-tertiary, #64748b);line-height:1.3}.dark .pm-header-dropdown-item-label{color:var(--text-primary-dark, #f1f5f9)}.dark .pm-header-dropdown-item-desc{color:var(--text-tertiary-dark, #94a3b8)}.pm-header-dropdown-item-highlighted{background-color:#eff6ff;border-left:3px solid #3b82f6}.pm-header-dropdown-item-highlighted:hover{background-color:#dbeafe}.dark .pm-header-dropdown-item-highlighted{background-color:#1e3a8a20;border-left-color:#60a5fa}.dark .pm-header-dropdown-item-highlighted:hover{background-color:#1e3a8a30}.pm-header-goto-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:-4px;background:none;border:1px solid transparent;border-radius:6px;cursor:pointer;color:var(--text-tertiary, #64748b);transition:all .2s ease;flex-shrink:0}.pm-header-goto-btn:hover{color:var(--primary-color, #3b82f6);background-color:var(--bg-hover, #f1f5f9);border-color:var(--border-color, #e2e8f0)}.dark .pm-header-goto-btn{color:var(--text-tertiary-dark, #94a3b8)}.dark .pm-header-goto-btn:hover{color:var(--primary-color, #60a5fa);background-color:var(--bg-hover-dark, #334155);border-color:var(--border-color-dark, #475569)}.pm-view-switcher{display:flex;align-items:center;justify-content:space-between;padding:8px 24px;background-color:var(--bg-secondary, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-view-switcher{background-color:var(--bg-secondary-dark, #1e293b);border-bottom-color:var(--border-color-dark, #475569)}.pm-view-tabs{display:flex;gap:4px;padding:4px;background-color:var(--bg-tertiary, #f1f5f9);border-radius:10px}.dark .pm-view-tabs{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-view-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.pm-view-tab:hover:not(.active){color:var(--text-primary, #1e293b);background-color:var(--bg-hover, #e2e8f0)}.pm-view-tab.active{color:var(--primary-color, #3b82f6);background-color:var(--bg-secondary, #ffffff);box-shadow:0 1px 3px #0000001a}.dark .pm-view-tab{color:var(--text-secondary-dark, #94a3b8)}.dark .pm-view-tab:hover:not(.active){color:var(--text-primary-dark, #f1f5f9);background-color:var(--bg-hover-dark, #334155)}.dark .pm-view-tab.active{color:var(--primary-color, #60a5fa);background-color:var(--bg-secondary-dark, #1e293b)}.pm-view-tab-label{display:inline}.pm-view-description{font-size:12px;color:var(--text-tertiary, #94a3b8)}.dark .pm-view-description{color:var(--text-tertiary-dark, #94a3b8)}@media (max-width: 1024px){.pm-view-switcher{padding:8px 16px}.pm-view-tab{padding:6px 12px}.pm-view-description{display:none}}@media (max-width: 768px){.pm-view-switcher{padding:6px 12px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.pm-view-switcher::-webkit-scrollbar{display:none}.pm-view-tabs{min-width:max-content;gap:2px}.pm-view-tab{min-height:44px;min-width:44px;padding:8px 12px;font-size:12px;display:flex;align-items:center;justify-content:center}.pm-view-tab-label{display:none}.pm-view-tab svg{width:20px;height:20px}}.pm-filter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 24px;background-color:var(--bg-secondary, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-filter-toolbar{background-color:var(--bg-secondary-dark, #1e293b);border-bottom-color:var(--border-color-dark, #475569)}.pm-filter-toolbar-left{display:flex;align-items:center;gap:8px}.pm-filter-toolbar-right{display:flex;align-items:center;gap:12px}.pm-filter-icon{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-tertiary, #64748b)}.dark .pm-filter-icon{color:var(--text-tertiary-dark, #94a3b8)}.pm-filter-badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;color:#fff;background-color:var(--primary-color, #3b82f6);border-radius:8px;display:flex;align-items:center;justify-content:center}.pm-filter-search{position:relative;display:flex;align-items:center}.pm-filter-search-icon{position:absolute;left:10px;color:var(--text-tertiary, #94a3b8);pointer-events:none}.pm-filter-search-input{width:200px;padding:6px 28px 6px 32px;font-size:13px;color:var(--text-primary, #1e293b);background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;transition:all .2s ease}.pm-filter-search-input:focus{outline:none;border-color:var(--primary-color, #3b82f6);background-color:var(--bg-secondary, #ffffff);box-shadow:0 0 0 3px #3b82f61a}.pm-filter-search-input::placeholder{color:var(--text-tertiary, #94a3b8)}.dark .pm-filter-search-input{color:var(--text-primary-dark, #f1f5f9);background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.dark .pm-filter-search-input:focus{background-color:var(--bg-secondary-dark, #1e293b)}.pm-filter-search-clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-tertiary, #94a3b8);background:transparent;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease}.pm-filter-search-clear:hover{color:var(--text-primary, #1e293b);background-color:var(--bg-hover, #e2e8f0)}.pm-filter-dropdown{position:relative}.pm-filter-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .2s ease}.pm-filter-btn:hover{background-color:var(--bg-hover, #e2e8f0);color:var(--text-primary, #1e293b)}.pm-filter-btn.active{background-color:var(--primary-light, #eff6ff);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.dark .pm-filter-btn{color:var(--text-secondary-dark, #94a3b8);background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.dark .pm-filter-btn:hover{background-color:var(--bg-hover-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}.dark .pm-filter-btn.active{background-color:#3b82f633;border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #60a5fa)}.pm-filter-btn-count{padding:1px 6px;font-size:11px;font-weight:600;background-color:var(--primary-color, #3b82f6);color:#fff;border-radius:10px}.pm-filter-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;max-height:320px;overflow-y:auto;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:var(--z-dropdown, 1000);padding:4px}.dark .pm-filter-dropdown-menu{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.pm-filter-dropdown-stages{min-width:200px}.pm-filter-dropdown-dates{min-width:220px;padding:8px}.pm-filter-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;color:var(--text-primary, #1e293b);background:transparent;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background-color .15s ease}.pm-filter-dropdown-item:hover{background-color:var(--bg-hover, #f1f5f9)}.pm-filter-dropdown-item.active{background-color:var(--primary-light, #eff6ff);color:var(--primary-color, #3b82f6)}.dark .pm-filter-dropdown-item{color:var(--text-primary-dark, #f1f5f9)}.dark .pm-filter-dropdown-item:hover{background-color:var(--bg-hover-dark, #334155)}.dark .pm-filter-dropdown-item.active{background-color:#3b82f633;color:var(--primary-color, #60a5fa)}.pm-filter-checkbox-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border-radius:6px;transition:background-color .15s ease}.pm-filter-checkbox-item:hover{background-color:var(--bg-hover, #f1f5f9)}.dark .pm-filter-checkbox-item:hover{background-color:var(--bg-hover-dark, #334155)}.pm-filter-checkbox-item input[type=checkbox]{width:16px;height:16px;cursor:pointer}.pm-filter-dropdown-divider{height:1px;margin:4px 0;background-color:var(--border-color, #e2e8f0)}.dark .pm-filter-dropdown-divider{background-color:var(--border-color-dark, #475569)}.pm-filter-dropdown-action{display:block;width:100%;padding:8px 12px;font-size:13px;font-weight:500;color:var(--primary-color, #3b82f6);background:transparent;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background-color .15s ease}.pm-filter-dropdown-action:hover{background-color:var(--bg-hover, #f1f5f9)}.dark .pm-filter-dropdown-action:hover{background-color:var(--bg-hover-dark, #334155)}.pm-filter-date-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.pm-filter-date-label{width:40px;font-size:12px;font-weight:500;color:var(--text-tertiary, #64748b)}.dark .pm-filter-date-label{color:var(--text-tertiary-dark, #94a3b8)}.pm-filter-date-input{flex:1;padding:6px 8px;font-size:13px;color:var(--text-primary, #1e293b);background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:6px}.pm-filter-date-input:focus{outline:none;border-color:var(--primary-color, #3b82f6)}.dark .pm-filter-date-input{color:var(--text-primary-dark, #f1f5f9);background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.pm-stage-badge{display:inline-block;padding:2px 8px;font-size:12px;font-weight:500;border-radius:4px}.pm-stage-candidate{background-color:#64748b20;color:#64748b}.dark .pm-stage-candidate{background-color:#64748b40;color:#94a3b8}.pm-stage-rta{background-color:#0ea5e920;color:#0ea5e9}.pm-stage-ntp_kickoff{background-color:#8b5cf620;color:#8b5cf6}.pm-stage-design{background-color:#f59e0b20;color:#f59e0b}.pm-stage-permit_ready{background-color:#f9731620;color:#f97316}.pm-stage-permitting{background-color:#06b6d420;color:#06b6d4}.pm-stage-ntp_complete{background-color:#10b98120;color:#10b981}.pm-filter-pills{display:flex;flex-wrap:wrap;gap:6px}.pm-filter-pill{display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:500;color:var(--primary-color, #3b82f6);background-color:var(--primary-light, #eff6ff);border-radius:16px}.dark .pm-filter-pill{color:var(--primary-color, #60a5fa);background-color:#3b82f633}.pm-filter-pill button{display:flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;color:inherit;background:transparent;border:none;border-radius:50%;cursor:pointer;opacity:.7;transition:opacity .15s ease}.pm-filter-pill button:hover{opacity:1}.pm-filter-clear-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:none;cursor:pointer;transition:color .2s ease}.pm-filter-clear-btn:hover{color:var(--error-color, #ef4444)}.dark .pm-filter-clear-btn{color:var(--text-secondary-dark, #94a3b8)}@media (max-width: 1024px){.pm-filter-toolbar{padding:8px 16px;flex-wrap:wrap}.pm-filter-search-input{width:160px}}@media (max-width: 768px){.pm-filter-toolbar{padding:8px 12px;flex-direction:column;align-items:flex-start;gap:8px}.pm-filter-toolbar-left{flex-wrap:wrap}.pm-filter-search-input{width:140px}.pm-filter-pills{width:100%}}.stage-pipeline{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px}.dark .stage-pipeline{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.stage-pipeline-nodes{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.stage-node{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;background:transparent;border:none;cursor:pointer;transition:all .2s ease;border-radius:50%}.stage-node:hover{transform:scale(1.08)}.stage-node:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:3px}.stage-node.selected{transform:scale(1.1)}.stage-node-ring{position:absolute;top:0;left:0;width:100%;height:100%}.stage-progress-ring{display:block}.stage-node-inner{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;z-index:1}.stage-node-label{font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.stage-node-variance{position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-secondary, #ffffff);z-index:2}.dark .stage-node-variance{border-color:var(--bg-secondary-dark, #1e293b)}.stage-connector{display:flex;align-items:center;flex:1;max-width:60px;margin:0 4px}.stage-connector-line{flex:1;height:2px;background:linear-gradient(90deg,var(--border-color, #e2e8f0) 0%,var(--border-color, #cbd5e1) 50%,var(--border-color, #e2e8f0) 100%);border-radius:1px}.dark .stage-connector-line{background:linear-gradient(90deg,var(--border-color-dark, #475569) 0%,var(--border-color-dark, #64748b) 50%,var(--border-color-dark, #475569) 100%)}.stage-connector-icon{width:14px;height:14px;color:var(--text-tertiary, #94a3b8);flex-shrink:0}.dark .stage-connector-icon{color:var(--text-tertiary-dark, #64748b)}.stage-pipeline-counts{display:flex;align-items:center;justify-content:space-between}.stage-count{display:flex;flex-direction:column;align-items:center;width:56px;text-align:center}.stage-count-value{font-size:16px;font-weight:700;color:var(--text-primary, #1e293b);line-height:1.2}.dark .stage-count-value{color:var(--text-primary-dark, #f1f5f9)}.stage-count-label{font-size:9px;font-weight:500;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dark .stage-count-label{color:var(--text-tertiary-dark, #64748b)}.stage-count-spacer{flex:1;max-width:68px}.stage-pipeline-compact{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.stage-pipeline-compact::-webkit-scrollbar{display:none}.stage-pipeline-scroll{display:flex;gap:4px;padding:8px 4px;min-width:min-content}.stage-tab{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg-tertiary, #f8fafc);border:none;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;cursor:pointer;transition:all .15s ease;white-space:nowrap}.dark .stage-tab{background:var(--bg-tertiary-dark, #0f172a)}.stage-tab.active{background:var(--bg-secondary, #ffffff);box-shadow:0 -2px 4px #0000000d}.dark .stage-tab.active{background:var(--bg-secondary-dark, #1e293b);box-shadow:0 -2px 4px #0003}.stage-tab-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.stage-tab-label{font-size:12px;font-weight:500;color:var(--text-secondary, #64748b)}.dark .stage-tab-label{color:var(--text-secondary-dark, #94a3b8)}.stage-tab.active .stage-tab-label{font-weight:600;color:var(--text-primary, #1e293b)}.dark .stage-tab.active .stage-tab-label{color:var(--text-primary-dark, #f1f5f9)}.stage-tab-count{font-size:11px;font-weight:700;padding:2px 6px;background:var(--bg-tertiary, #f1f5f9);border-radius:10px;color:var(--text-secondary, #64748b)}.dark .stage-tab-count{background:var(--bg-tertiary-dark, #0f172a);color:var(--text-secondary-dark, #94a3b8)}.stage-tab.active .stage-tab-count{background:var(--primary-color, #3b82f6);color:#fff}@media (max-width: 900px){.stage-pipeline-nodes{padding:4px 0}.stage-node{width:48px;height:48px}.stage-node-inner{width:30px;height:30px}.stage-node-label{font-size:9px}.stage-connector{max-width:40px}.stage-count{width:48px}.stage-count-value{font-size:14px}.stage-count-label{font-size:8px}}@media (max-width: 768px){.stage-pipeline{padding:12px}.stage-node{width:44px;height:44px}.stage-node-inner{width:28px;height:28px}.stage-node-label{font-size:8px}.stage-connector{max-width:30px}.stage-connector-icon{width:12px;height:12px}.stage-count{width:44px}.stage-count-value{font-size:12px}.stage-count-spacer{max-width:38px}}@media (max-width: 640px){.stage-pipeline{display:none}.stage-pipeline-compact{display:block}}@media (min-width: 641px){.stage-pipeline-compact{display:none}}@media (prefers-reduced-motion: reduce){.stage-node,.stage-tab{transition:none}.stage-node:hover{transform:none}.stage-node.selected{transform:none;box-shadow:0 0 0 3px var(--primary-color, #3b82f6)}}@media (prefers-contrast: high){.stage-node:focus,.stage-tab:focus{outline-width:3px}.stage-connector-line{height:3px}.stage-node-variance{border-width:3px}}.stage-comparison-chart{display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px}.dark .stage-comparison-chart{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.chart-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.chart-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .chart-header h4{color:var(--text-primary-dark, #f1f5f9)}.chart-legend{display:flex;align-items:center;gap:16px}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary, #64748b)}.dark .legend-item{color:var(--text-secondary-dark, #94a3b8)}.legend-indicator{width:12px;height:4px;border-radius:2px}.legend-indicator.target{background:var(--bg-tertiary, #e2e8f0);border:1px dashed var(--border-color, #cbd5e1)}.dark .legend-indicator.target{background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.legend-indicator.actual{background:linear-gradient(90deg,#3b82f6,#8b5cf6)}.chart-body{display:flex;flex-direction:column;gap:8px}.chart-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:background .1s ease}.chart-row:hover{background:var(--bg-tertiary, #f8fafc)}.dark .chart-row:hover{background:var(--bg-tertiary-dark, #0f172a)}.chart-row:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.chart-label{display:flex;align-items:center;gap:8px;width:140px;flex-shrink:0}.chart-label .stage-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.chart-label .stage-name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .chart-label .stage-name{color:var(--text-primary-dark, #f1f5f9)}.chart-bars{flex:1;position:relative;height:24px;background:var(--bg-tertiary, #f1f5f9);border-radius:4px;overflow:hidden}.dark .chart-bars{background:var(--bg-tertiary-dark, #0f172a)}.chart-bar{position:absolute;top:0;left:0;height:100%;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;border-radius:4px;transition:width .3s ease}.chart-bar.target{background:var(--bg-tertiary, #e2e8f0);border:1px dashed var(--border-color, #cbd5e1);z-index:1}.dark .chart-bar.target{background:transparent;border-color:var(--border-color-dark, #475569)}.chart-bar.actual{z-index:2}.bar-value{font-size:10px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);white-space:nowrap}.chart-bar.target .bar-value{color:var(--text-tertiary, #94a3b8);text-shadow:none}.dark .chart-bar.target .bar-value{color:var(--text-tertiary-dark, #64748b)}.chart-variance{width:50px;padding:4px 8px;font-size:11px;font-weight:600;text-align:center;border-radius:4px;flex-shrink:0}.chart-variance.ahead{background:#10b98126;color:#10b981}.chart-variance.on_track{background:#6b728026;color:#6b7280}.chart-variance.at_risk{background:#f59e0b26;color:#f59e0b}.chart-variance.critical{background:#ef444426;color:#ef4444}@media (max-width: 768px){.chart-header{flex-direction:column;align-items:flex-start}.chart-label{width:100px}.chart-label .stage-name{font-size:12px}.chart-variance{width:44px;font-size:10px;padding:3px 6px}}@media (max-width: 480px){.stage-comparison-chart{padding:12px}.chart-row{flex-wrap:wrap;padding:8px}.chart-label{width:100%;margin-bottom:4px}.chart-bars{order:1}.chart-variance{order:2;margin-left:auto}}.critical-items-alert{display:flex;flex-direction:column;background:linear-gradient(135deg,#ef444414,#f59e0b14);border:1px solid rgba(239,68,68,.3);border-radius:12px;overflow:hidden}.dark .critical-items-alert{background:linear-gradient(135deg,#ef44441f,#f59e0b1f);border-color:#ef444466}.critical-header{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#ef44440d;border-bottom:1px solid rgba(239,68,68,.15)}.dark .critical-header{background:#ef44441a;border-bottom-color:#ef444440}.critical-icon{width:24px;height:24px;color:#ef4444;flex-shrink:0;margin-top:2px}.critical-header-text{flex:1}.critical-header-text h4{margin:0 0 4px;font-size:15px;font-weight:600;color:#dc2626}.dark .critical-header-text h4{color:#f87171}.critical-header-text p{margin:0;font-size:13px;color:var(--text-secondary, #64748b)}.dark .critical-header-text p{color:var(--text-secondary-dark, #94a3b8)}.critical-items-list{display:flex;flex-direction:column}.critical-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;border-bottom:1px solid rgba(239,68,68,.1);cursor:pointer;text-align:left;transition:background .1s ease}.critical-item:last-child{border-bottom:none}.critical-item:hover{background:#ef44440d}.dark .critical-item:hover{background:#ef44441a}.critical-item:focus{outline:2px solid #ef4444;outline-offset:-2px}.critical-item-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;flex-shrink:0}.critical-item-icon .icon{width:18px;height:18px}.critical-item-icon .icon.blocked{color:#dc2626}.critical-item-icon .icon.critical{color:#f59e0b}.critical-item-content{flex:1;min-width:0}.critical-item-name{display:block;font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .critical-item-name{color:var(--text-primary-dark, #f1f5f9)}.critical-item-meta{display:flex;align-items:center;gap:8px;margin-top:2px}.critical-item-category{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.critical-item-sites{font-size:11px;color:var(--text-tertiary, #94a3b8)}.dark .critical-item-sites{color:var(--text-tertiary-dark, #64748b)}.critical-item-badge{padding:4px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;border-radius:4px;flex-shrink:0}.critical-item-badge.blocked{background:#dc262626;color:#dc2626}.critical-item-badge.critical{background:#f59e0b26;color:#d97706}.critical-item-arrow{width:16px;height:16px;color:var(--text-tertiary, #94a3b8);flex-shrink:0}.dark .critical-item-arrow{color:var(--text-tertiary-dark, #64748b)}.critical-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#ef44440d;border-top:1px solid rgba(239,68,68,.15)}.dark .critical-footer{background:#ef44441a;border-top-color:#ef444440}.remaining-count{font-size:12px;color:var(--text-tertiary, #94a3b8)}.dark .remaining-count{color:var(--text-tertiary-dark, #64748b)}.view-all-button{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;color:#dc2626;background:transparent;border:1px solid rgba(220,38,38,.3);border-radius:6px;cursor:pointer;transition:all .15s ease}.view-all-button:hover{background:#dc26261a;border-color:#dc262680}.view-all-button:focus{outline:2px solid #dc2626;outline-offset:2px}@media (max-width: 640px){.critical-header{padding:14px}.critical-item{padding:10px 14px}.critical-item-content{min-width:0}.critical-item-meta{flex-wrap:wrap}.critical-footer{flex-direction:column;gap:8px;padding:10px 14px}.view-all-button{width:100%;justify-content:center}}.gap-overview-view{display:flex;flex-direction:column;gap:20px;padding:4px}.gap-overview-header{display:flex;align-items:center;justify-content:space-between}.gap-overview-title{display:flex;align-items:center;gap:12px}.gap-overview-title h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .gap-overview-title h3{color:var(--text-primary-dark, #f1f5f9)}.target-source-badge{padding:4px 10px;font-size:11px;font-weight:500;color:var(--text-secondary, #64748b);background:var(--bg-tertiary, #f1f5f9);border-radius:6px}.dark .target-source-badge{color:var(--text-secondary-dark, #94a3b8);background:var(--bg-tertiary-dark, #0f172a)}.refresh-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s ease}.dark .refresh-btn{border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.refresh-btn:hover{background:var(--bg-tertiary, #f8fafc);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.dark .refresh-btn:hover{background:var(--bg-tertiary-dark, #0f172a)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-btn .spinning{animation:spin 1s linear infinite}.gap-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.gap-summary-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;position:relative;overflow:hidden;transition:all .15s ease}.dark .gap-summary-card{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.gap-summary-card:hover{box-shadow:0 4px 12px #00000014}.dark .gap-summary-card:hover{box-shadow:0 4px 12px #0003}.gap-summary-card.warning{border-color:#f59e0b4d;background:linear-gradient(135deg,var(--bg-secondary, #ffffff) 0%,rgba(245,158,11,.05) 100%)}.dark .gap-summary-card.warning{border-color:#f59e0b66;background:linear-gradient(135deg,var(--bg-secondary-dark, #1e293b) 0%,rgba(245,158,11,.1) 100%)}.card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;flex-shrink:0}.card-icon.sites{background:#3b82f61a;color:#3b82f6}.card-icon.completion{background:#10b9811a;color:#10b981}.card-icon.variance{background:#6b72801a;color:#6b7280}.card-icon.at-risk{background:#f59e0b1a;color:#f59e0b}.card-content{flex:1;min-width:0}.card-value{display:block;font-size:24px;font-weight:700;color:var(--text-primary, #1e293b);line-height:1.2}.dark .card-value{color:var(--text-primary-dark, #f1f5f9)}.card-label{display:block;font-size:12px;font-weight:500;color:var(--text-tertiary, #94a3b8);margin-top:2px}.dark .card-label{color:var(--text-tertiary-dark, #64748b)}.card-action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--bg-tertiary, #f8fafc);border:none;border-radius:8px;color:var(--text-tertiary, #94a3b8);cursor:pointer;transition:all .15s ease}.dark .card-action{background:var(--bg-tertiary-dark, #0f172a);color:var(--text-tertiary-dark, #64748b)}.card-action:hover{background:var(--primary-color, #3b82f6);color:#fff}.card-action.warning:hover{background:#f59e0b}.card-action:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.card-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--bg-tertiary, #e2e8f0)}.dark .card-progress{background:var(--bg-tertiary-dark, #0f172a)}.card-progress .progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);transition:width .3s ease}.gap-timeline-info{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px}.dark .gap-timeline-info{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.timeline-item{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.timeline-item.overdue .timeline-value{color:#ef4444}.timeline-label{font-size:11px;font-weight:500;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.3px}.dark .timeline-label{color:var(--text-tertiary-dark, #64748b)}.timeline-value{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .timeline-value{color:var(--text-primary-dark, #f1f5f9)}.timeline-connector{flex:1;height:2px;max-width:80px;background:linear-gradient(90deg,var(--border-color, #e2e8f0) 0%,var(--border-color, #cbd5e1) 50%,var(--border-color, #e2e8f0) 100%);border-radius:1px}.dark .timeline-connector{background:linear-gradient(90deg,var(--border-color-dark, #475569) 0%,var(--border-color-dark, #64748b) 50%,var(--border-color-dark, #475569) 100%)}@media (max-width: 768px){.gap-overview-view{gap:16px}.gap-overview-header{flex-direction:column;align-items:flex-start;gap:12px}.gap-overview-title{flex-wrap:wrap}.gap-summary-cards{grid-template-columns:repeat(2,1fr)}.gap-summary-card{padding:12px}.card-value{font-size:20px}.card-icon{width:36px;height:36px}.gap-timeline-info{flex-direction:column;gap:16px}.timeline-connector{width:2px;height:24px;max-width:none;background:linear-gradient(180deg,var(--border-color, #e2e8f0) 0%,var(--border-color, #cbd5e1) 50%,var(--border-color, #e2e8f0) 100%)}.dark .timeline-connector{background:linear-gradient(180deg,var(--border-color-dark, #475569) 0%,var(--border-color-dark, #64748b) 50%,var(--border-color-dark, #475569) 100%)}}@media (max-width: 480px){.gap-summary-cards{grid-template-columns:1fr}.gap-overview-title h3{font-size:16px}}.stage-header-card{display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-left-width:4px;border-radius:12px}.dark .stage-header-card{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.stage-header-title-section{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.stage-header-badge{display:flex;align-items:center;gap:10px}.stage-header-name{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .stage-header-name{color:var(--text-primary-dark, #f1f5f9)}.stage-site-status{font-size:13px;color:var(--text-secondary, #64748b);padding:4px 10px;background:var(--bg-tertiary, #f8fafc);border-radius:6px}.dark .stage-site-status{color:var(--text-secondary-dark, #94a3b8);background:var(--bg-tertiary-dark, #0f172a)}.stage-site-status strong{color:var(--text-primary, #1e293b)}.dark .stage-site-status strong{color:var(--text-primary-dark, #f1f5f9)}.stage-header-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stage-metric{display:flex;align-items:center;gap:10px;padding:12px;background:var(--bg-tertiary, #f8fafc);border-radius:8px;transition:background .15s ease}.dark .stage-metric{background:var(--bg-tertiary-dark, #0f172a)}.stage-metric.variance{border-radius:8px}.stage-metric-icon{width:20px;height:20px;color:var(--text-tertiary, #94a3b8);flex-shrink:0}.dark .stage-metric-icon{color:var(--text-tertiary-dark, #64748b)}.stage-metric-icon.actual{color:var(--primary-color, #3b82f6)}.variance-icon{width:20px;height:20px;flex-shrink:0}.variance-icon.ahead{color:#10b981}.variance-icon.at-risk{color:#f59e0b}.variance-icon.on-track{color:#6b7280}.stage-metric-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.stage-metric-value{font-size:16px;font-weight:700;color:var(--text-primary, #1e293b);line-height:1.2}.dark .stage-metric-value{color:var(--text-primary-dark, #f1f5f9)}.stage-metric-unit{font-size:12px;font-weight:500;color:var(--text-tertiary, #94a3b8)}.dark .stage-metric-unit{color:var(--text-tertiary-dark, #64748b)}.stage-metric-label{font-size:11px;font-weight:500;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.3px}.dark .stage-metric-label{color:var(--text-tertiary-dark, #64748b)}.stage-metric-action{padding:4px 10px;font-size:11px;font-weight:600;color:var(--primary-color, #3b82f6);background:transparent;border:1px solid var(--primary-color, #3b82f6);border-radius:6px;cursor:pointer;transition:all .15s ease}.stage-metric-action:hover{background:var(--primary-color, #3b82f6);color:#fff}.stage-metric-action:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.stage-header-progress{display:flex;flex-direction:column;gap:8px}.progress-header{display:flex;justify-content:space-between;align-items:center}.progress-bar-container{height:8px;background:var(--bg-tertiary, #e2e8f0);border-radius:4px;overflow:hidden}.dark .progress-bar-container{background:var(--bg-tertiary-dark, #0f172a)}.progress-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.progress-breakdown{display:flex;flex-wrap:wrap;gap:12px}.progress-segment{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary, #64748b)}.dark .progress-segment{color:var(--text-secondary-dark, #94a3b8)}.progress-segment.met{color:#16a34a}.progress-segment.pending{color:#d97706}.progress-segment.missing{color:#dc2626}.stage-header-warning{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;font-size:13px;color:var(--text-secondary, #64748b)}.dark .stage-header-warning{background:#f59e0b26;border-color:#f59e0b66;color:var(--text-secondary-dark, #94a3b8)}.warning-icon{width:18px;height:18px;color:#f59e0b;flex-shrink:0}.stage-header-warning .critical{color:#dc2626}.stage-header-warning .at-risk{color:#f59e0b}@media (max-width: 640px){.stage-header-card{padding:16px;gap:12px}.stage-header-metrics{grid-template-columns:repeat(2,1fr)}.stage-metric{padding:10px}.stage-metric-value{font-size:14px}.stage-header-name{font-size:16px}}@media (max-width: 480px){.stage-header-metrics{grid-template-columns:1fr}.stage-header-title-section{flex-direction:column;align-items:flex-start}}.requirement-row{background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;overflow:hidden;transition:all .15s ease}.dark .requirement-row{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.requirement-row:hover{border-color:var(--primary-color, #3b82f6);box-shadow:0 2px 8px #3b82f61a}.dark .requirement-row:hover{box-shadow:0 2px 8px #3b82f626}.requirement-row.expanded{border-color:var(--primary-color, #3b82f6)}.requirement-row-main{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .1s ease}.requirement-row-main:hover{background:var(--bg-tertiary, #f8fafc)}.dark .requirement-row-main:hover{background:var(--bg-tertiary-dark, #0f172a)}.requirement-row-main:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:-2px}.requirement-expand-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--text-tertiary, #94a3b8);flex-shrink:0}.dark .requirement-expand-toggle{color:var(--text-tertiary-dark, #64748b)}.requirement-status{display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-icon{width:18px;height:18px}.requirement-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.requirement-name-row{display:flex;align-items:center;gap:8px}.requirement-name{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .requirement-name{color:var(--text-primary-dark, #f1f5f9)}.gate-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:10px;font-weight:600;text-transform:uppercase;color:#9333ea;background:#9333ea1a;border-radius:4px;flex-shrink:0}.dark .gate-badge{background:#9333ea33}.requirement-meta{display:flex;align-items:center;gap:8px}.category-badge{padding:2px 8px;font-size:10px;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.type-label{font-size:11px;color:var(--text-tertiary, #94a3b8);text-transform:capitalize}.dark .type-label{color:var(--text-tertiary-dark, #64748b)}.requirement-completion{display:flex;align-items:center;gap:8px;width:100px;flex-shrink:0}.completion-bar{flex:1;height:6px;background:var(--bg-tertiary, #e2e8f0);border-radius:3px;overflow:hidden}.dark .completion-bar{background:var(--bg-tertiary-dark, #0f172a)}.completion-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.completion-text{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);white-space:nowrap}.dark .completion-text{color:var(--text-secondary-dark, #94a3b8)}.requirement-breakdown{display:flex;align-items:center;gap:8px;flex-shrink:0}.breakdown-item{display:flex;align-items:center;gap:3px;font-size:12px;font-weight:600}.breakdown-item.met{color:#16a34a}.breakdown-item.pending{color:#d97706}.breakdown-item.missing,.breakdown-item.blocked{color:#dc2626}.requirement-priority{padding:4px 10px;font-size:11px;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.requirement-date{flex-shrink:0}.date-button{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);background:var(--bg-tertiary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.dark .date-button{color:var(--text-secondary-dark, #94a3b8);background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.date-button:hover{border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.date-button.empty{border-style:dashed;color:var(--text-tertiary, #94a3b8)}.dark .date-button.empty{color:var(--text-tertiary-dark, #64748b)}.date-button:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.requirement-row-expanded{padding:0 16px 16px;border-top:1px solid var(--border-color, #e2e8f0);margin-top:8px}.dark .requirement-row-expanded{border-top-color:var(--border-color-dark, #475569)}.requirement-description{margin:0 0 12px;font-size:13px;color:var(--text-secondary, #64748b);line-height:1.5}.dark .requirement-description{color:var(--text-secondary-dark, #94a3b8)}.requirement-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:12px}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-label{font-size:11px;font-weight:500;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.3px}.dark .detail-label{color:var(--text-tertiary-dark, #64748b)}.detail-value{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b)}.dark .detail-value{color:var(--text-primary-dark, #f1f5f9)}.view-sites-button{width:100%;padding:10px 16px;font-size:13px;font-weight:500;color:var(--primary-color, #3b82f6);background:transparent;border:1px solid var(--primary-color, #3b82f6);border-radius:6px;cursor:pointer;transition:all .15s ease}.view-sites-button:hover{background:var(--primary-color, #3b82f6);color:#fff}.view-sites-button:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}@media (max-width: 900px){.requirement-row-main{flex-wrap:wrap;gap:8px}.requirement-completion{width:80px}.requirement-breakdown{display:none}}@media (max-width: 640px){.requirement-row-main{padding:10px 12px}.requirement-completion{order:10;width:100%;margin-top:4px}.requirement-priority{order:5}.requirement-date{order:6;margin-left:auto}.requirement-details-grid{grid-template-columns:1fr}}.requirements-list{display:flex;flex-direction:column;gap:12px}.requirements-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;background:var(--bg-tertiary, #f8fafc);border-radius:12px;text-align:center}.dark .requirements-list-empty{background:var(--bg-tertiary-dark, #0f172a)}.requirements-list-empty .empty-icon{width:48px;height:48px;color:var(--text-tertiary, #94a3b8)}.dark .requirements-list-empty .empty-icon{color:var(--text-tertiary-dark, #64748b)}.requirements-list-empty p{margin:0;font-size:14px;color:var(--text-secondary, #64748b)}.dark .requirements-list-empty p{color:var(--text-secondary-dark, #94a3b8)}.requirements-category{background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px;overflow:hidden}.dark .requirements-category{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.requirements-category.expanded{border-color:var(--category-color, var(--border-color, #e2e8f0))}.category-header{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .1s ease}.category-header:hover{background:var(--bg-tertiary, #f8fafc)}.dark .category-header:hover{background:var(--bg-tertiary-dark, #0f172a)}.category-header:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:-2px}.category-toggle{display:flex;align-items:center;justify-content:center;color:var(--text-tertiary, #94a3b8);flex-shrink:0}.dark .category-toggle{color:var(--text-tertiary-dark, #64748b)}.category-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.category-name{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .category-name{color:var(--text-primary-dark, #f1f5f9)}.category-count{font-size:12px;color:var(--text-tertiary, #94a3b8);margin-left:4px}.dark .category-count{color:var(--text-tertiary-dark, #64748b)}.category-completion{display:flex;align-items:center;gap:8px;margin-left:auto}.mini-progress-bar{width:60px;height:6px;background:var(--bg-tertiary, #e2e8f0);border-radius:3px;overflow:hidden}.dark .mini-progress-bar{background:var(--bg-tertiary-dark, #0f172a)}.mini-progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.completion-percent{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);min-width:32px;text-align:right}.dark .completion-percent{color:var(--text-secondary-dark, #94a3b8)}.category-content{padding:0 16px 16px;border-top:1px solid var(--border-color, #e2e8f0)}.dark .category-content{border-top-color:var(--border-color-dark, #475569)}.category-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;font-size:13px;color:var(--text-tertiary, #94a3b8)}.dark .category-empty{color:var(--text-tertiary-dark, #64748b)}.requirements-grid{display:flex;flex-direction:column;gap:8px;padding-top:12px}@media (max-width: 640px){.category-header{padding:12px 14px;flex-wrap:wrap}.category-completion{width:100%;margin-top:8px;margin-left:0;padding-left:28px}.mini-progress-bar{flex:1}.category-content{padding:0 12px 12px}}.stage-detail-view{display:flex;flex-direction:column;gap:16px}.stage-detail-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.back-btn:hover{background:var(--bg-tertiary, #f8fafc);color:var(--text-primary, #1e293b);border-color:var(--primary-color, #3b82f6)}.stage-detail-actions{display:flex;gap:8px}.action-btn.secondary:hover{background:var(--bg-tertiary, #f8fafc);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.stage-detail-pipeline{margin-bottom:4px}.stage-detail-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-toggle{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);background:var(--bg-tertiary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .15s ease}.dark .filter-toggle{color:var(--text-secondary-dark, #94a3b8);background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.filter-toggle:hover,.filter-toggle.active{background:var(--bg-secondary, #ffffff);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.dark .filter-toggle:hover,.dark .filter-toggle.active{background:var(--bg-secondary-dark, #1e293b)}.filter-badge{display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;font-size:10px;font-weight:700;color:#fff;background:var(--primary-color, #3b82f6);border-radius:9px}.filter-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:12px;font-weight:500;color:var(--text-tertiary, #94a3b8)}.dark .filter-group label{color:var(--text-tertiary-dark, #64748b)}.filter-group select{padding:6px 28px 6px 10px;font-size:13px;color:var(--text-primary, #1e293b);background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' 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}.dark .filter-group select{color:var(--text-primary-dark, #f1f5f9);background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.filter-group select:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.clear-filters-btn{padding:6px 12px;font-size:12px;font-weight:500;color:var(--text-tertiary, #94a3b8);background:transparent;border:none;cursor:pointer;text-decoration:underline}.dark .clear-filters-btn{color:var(--text-tertiary-dark, #64748b)}.clear-filters-btn:hover{color:var(--primary-color, #3b82f6)}.filter-summary{margin-left:auto;font-size:12px;color:var(--text-tertiary, #94a3b8)}.dark .filter-summary{color:var(--text-tertiary-dark, #64748b)}.stage-detail-requirements{flex:1;min-height:200px}.stage-nav-footer{display:flex;gap:4px;padding:12px;background:var(--bg-tertiary, #f8fafc);border-radius:12px;overflow-x:auto}.dark .stage-nav-footer{background:var(--bg-tertiary-dark, #0f172a)}.stage-nav-btn{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:80px;padding:10px 8px;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .15s ease}.stage-nav-btn:hover{background:var(--bg-secondary, #ffffff)}.dark .stage-nav-btn:hover{background:var(--bg-secondary-dark, #1e293b)}.stage-nav-btn.selected{background:var(--bg-secondary, #ffffff);border-color:var(--primary-color, #3b82f6);box-shadow:0 2px 8px #3b82f626}.dark .stage-nav-btn.selected{background:var(--bg-secondary-dark, #1e293b)}.stage-nav-btn:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.stage-nav-btn:disabled{opacity:.5;cursor:not-allowed}.stage-nav-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:12px;font-weight:600;color:var(--text-tertiary, #94a3b8);background:var(--bg-tertiary, #e2e8f0);border-radius:50%}.dark .stage-nav-number{color:var(--text-tertiary-dark, #64748b);background:var(--bg-tertiary-dark, #0f172a)}.stage-nav-btn.selected .stage-nav-number{color:#fff;background:var(--primary-color, #3b82f6)}.stage-nav-label{font-size:11px;font-weight:500;color:var(--text-secondary, #64748b);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dark .stage-nav-label{color:var(--text-secondary-dark, #94a3b8)}.stage-nav-btn.selected .stage-nav-label{color:var(--text-primary, #1e293b);font-weight:600}.dark .stage-nav-btn.selected .stage-nav-label{color:var(--text-primary-dark, #f1f5f9)}.stage-nav-count{font-size:10px;font-weight:700;color:var(--text-tertiary, #94a3b8)}.dark .stage-nav-count{color:var(--text-tertiary-dark, #64748b)}@media (max-width: 768px){.stage-detail-nav{flex-direction:column;align-items:flex-start}.stage-detail-actions{width:100%;justify-content:flex-end}.stage-detail-filters{flex-direction:column;align-items:flex-start}.filter-options{width:100%;flex-direction:column;align-items:flex-start}.filter-group{width:100%;justify-content:space-between}.filter-group select{flex:1;max-width:200px}.filter-summary{margin-left:0}.stage-nav-footer{padding:8px}.stage-nav-btn{min-width:60px;padding:8px 4px}.stage-nav-label{font-size:10px}}@media (max-width: 480px){.back-btn span,.action-btn span,.stage-nav-label{display:none}.stage-nav-btn{min-width:44px}}.site-breakdown-table-container{display:flex;flex-direction:column;gap:12px}.site-breakdown-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px;color:var(--text-secondary, #64748b)}.dark .site-breakdown-loading{color:var(--text-secondary-dark, #94a3b8)}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color, #e2e8f0);border-top-color:var(--primary-color, #3b82f6);border-radius:50%;animation:spin 1s linear infinite}.site-breakdown-empty{display:flex;align-items:center;justify-content:center;padding:32px;background:var(--bg-tertiary, #f8fafc);border-radius:8px}.dark .site-breakdown-empty{background:var(--bg-tertiary-dark, #0f172a)}.site-breakdown-empty p{margin:0;font-size:14px;color:var(--text-tertiary, #94a3b8)}.dark .site-breakdown-empty p{color:var(--text-tertiary-dark, #64748b)}.site-breakdown-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.site-breakdown-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .site-breakdown-header h4{color:var(--text-primary-dark, #f1f5f9)}.site-count{font-size:12px;color:var(--text-tertiary, #94a3b8)}.dark .site-count{color:var(--text-tertiary-dark, #64748b)}.site-breakdown-table{overflow-x:auto;border:1px solid var(--border-color, #e2e8f0);border-radius:8px}.dark .site-breakdown-table{border-color:var(--border-color-dark, #475569)}.site-breakdown-table table{width:100%;border-collapse:collapse;font-size:13px}.site-breakdown-table th,.site-breakdown-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .site-breakdown-table th,.dark .site-breakdown-table td{border-bottom-color:var(--border-color-dark, #475569)}.site-breakdown-table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-tertiary, #94a3b8);background:var(--bg-tertiary, #f8fafc)}.dark .site-breakdown-table th{color:var(--text-tertiary-dark, #64748b);background:var(--bg-tertiary-dark, #0f172a)}.site-breakdown-table tbody tr:last-child td{border-bottom:none}.site-breakdown-table tbody tr:hover{background:var(--bg-tertiary, #f8fafc)}.dark .site-breakdown-table tbody tr:hover{background:var(--bg-tertiary-dark, #0f172a)}.site-breakdown-table tbody tr.overdue{background:#ef44440d}.dark .site-breakdown-table tbody tr.overdue{background:#ef44441a}.site-cell{min-width:150px}.site-name-btn{display:flex;align-items:center;gap:4px;padding:0;background:none;border:none;cursor:pointer;color:var(--text-primary, #1e293b);font-weight:500;transition:color .15s ease}.dark .site-name-btn{color:var(--text-primary-dark, #f1f5f9)}.site-name-btn:hover{color:var(--primary-color, #3b82f6)}.site-name-btn .external-icon{opacity:0;transition:opacity .15s ease}.site-name-btn:hover .external-icon{opacity:1}.site-address{display:block;font-size:11px;color:var(--text-tertiary, #94a3b8);margin-top:2px}.dark .site-address{color:var(--text-tertiary-dark, #64748b)}.status-cell{width:100px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;border-radius:4px}.status-icon{flex-shrink:0}.status-icon.met{color:#16a34a}.status-icon.pending{color:#d97706}.status-icon.missing,.status-icon.blocked{color:#dc2626}.status-icon.waived{color:#64748b}.date-cell{white-space:nowrap;color:var(--text-secondary, #64748b)}.dark .date-cell{color:var(--text-secondary-dark, #94a3b8)}.date-cell.overdue{color:#dc2626;font-weight:500}.date-edit-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-size:12px;color:var(--text-secondary, #64748b);background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .15s ease}.dark .date-edit-btn{color:var(--text-secondary-dark, #94a3b8)}.date-edit-btn:hover{background:var(--bg-tertiary, #f1f5f9);border-color:var(--border-color, #e2e8f0)}.dark .date-edit-btn:hover{background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.actual-date{color:#16a34a;font-weight:500}.actions-col{width:140px;text-align:right!important}.actions-cell{text-align:right}.action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .15s ease;margin-left:4px}.action-btn.primary{background:var(--primary-color, #3b82f6);color:#fff;border:none}.action-btn.primary:hover{background:var(--primary-color-dark, #2563eb)}.action-btn.secondary{background:transparent;color:var(--text-secondary, #64748b);border:1px solid var(--border-color, #e2e8f0)}.action-btn.secondary:hover{background:var(--bg-tertiary, #f1f5f9);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.dark .action-btn.secondary:hover{background:var(--bg-tertiary-dark, #0f172a)}.action-btn:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.site-breakdown-notes{padding:12px;background:var(--bg-tertiary, #f8fafc);border-radius:8px}.dark .site-breakdown-notes{background:var(--bg-tertiary-dark, #0f172a)}.site-breakdown-notes h5{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.3px}.dark .site-breakdown-notes h5{color:var(--text-secondary-dark, #94a3b8)}.note-item{font-size:12px;color:var(--text-secondary, #64748b);margin-bottom:6px}.dark .note-item{color:var(--text-secondary-dark, #94a3b8)}.note-item:last-child{margin-bottom:0}.note-item strong{color:var(--text-primary, #1e293b)}.dark .note-item strong{color:var(--text-primary-dark, #f1f5f9)}@media (max-width: 768px){.site-breakdown-table th,.site-breakdown-table td{padding:8px 10px}.site-cell{min-width:120px}.actions-col,.actions-cell{width:auto}.action-btn span{display:none}}@media (max-width: 640px){.site-breakdown-header{flex-direction:column;align-items:flex-start}.site-breakdown-table table,.site-breakdown-table thead,.site-breakdown-table tbody,.site-breakdown-table th,.site-breakdown-table td,.site-breakdown-table tr{display:block}.site-breakdown-table thead{display:none}.site-breakdown-table tr{margin-bottom:8px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;overflow:hidden}.dark .site-breakdown-table tr{border-color:var(--border-color-dark, #475569)}.site-breakdown-table td{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color, #e2e8f0);padding:8px 12px}.dark .site-breakdown-table td{border-bottom-color:var(--border-color-dark, #475569)}.site-breakdown-table td:before{content:attr(data-label);font-size:11px;font-weight:600;color:var(--text-tertiary, #94a3b8);text-transform:uppercase}.dark .site-breakdown-table td:before{color:var(--text-tertiary-dark, #64748b)}.site-breakdown-table td:last-child{border-bottom:none}}.site-drilldown-view{display:flex;flex-direction:column;gap:16px}.site-drilldown-nav{display:flex;align-items:center}.back-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .15s ease}.back-btn:hover{background:var(--bg-tertiary, #f8fafc);color:var(--text-primary, #1e293b)}.dark .back-btn:hover{background:var(--bg-tertiary-dark, #0f172a);color:var(--text-primary-dark, #f1f5f9)}.back-btn:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.site-drilldown-header{display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px}.dark .site-drilldown-header{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.site-info-main{display:flex;align-items:center;gap:16px}.site-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--bg-tertiary, #f1f5f9);border-radius:12px;color:var(--primary-color, #3b82f6)}.dark .site-icon{background:var(--bg-tertiary-dark, #0f172a)}.site-info-content{flex:1}.site-name{margin:0;font-size:20px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .site-name{color:var(--text-primary-dark, #f1f5f9)}.site-id{font-size:13px;color:var(--text-tertiary, #94a3b8)}.dark .site-id{color:var(--text-tertiary-dark, #64748b)}.view-site-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--primary-color, #3b82f6);background:transparent;border:1px solid var(--primary-color, #3b82f6);border-radius:8px;cursor:pointer;transition:all .15s ease}.view-site-btn:hover{background:var(--primary-color, #3b82f6);color:#fff}.view-site-btn:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.site-meta-grid{display:flex;flex-wrap:wrap;gap:16px}.site-meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary, #64748b)}.dark .site-meta-item{color:var(--text-secondary-dark, #94a3b8)}.site-completion-summary{display:flex;gap:24px;padding-top:16px;border-top:1px solid var(--border-color, #e2e8f0)}.dark .site-completion-summary{border-top-color:var(--border-color-dark, #475569)}.completion-progress{flex:1;max-width:300px}.progress-header{display:flex;justify-content:space-between;margin-bottom:8px}.progress-label{font-size:12px;font-weight:500;color:var(--text-secondary, #64748b)}.dark .progress-label{color:var(--text-secondary-dark, #94a3b8)}.progress-value{font-size:14px;font-weight:700;color:var(--text-primary, #1e293b)}.dark .progress-value{color:var(--text-primary-dark, #f1f5f9)}.progress-bar{height:8px;background:var(--bg-tertiary, #e2e8f0);border-radius:4px;overflow:hidden}.dark .progress-bar{background:var(--bg-tertiary-dark, #0f172a)}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:4px;transition:width .3s ease}.completion-stats{display:flex;gap:20px}.stat-item{display:flex;align-items:center;gap:6px}.stat-item.met{color:#16a34a}.stat-item.pending{color:#d97706}.stat-item.missing,.stat-item.blocked{color:#dc2626}.stat-value{font-size:18px;font-weight:700}.stat-label{font-size:12px;font-weight:500}.stage-filter-tabs{display:flex;gap:4px;padding:4px;background:var(--bg-tertiary, #f8fafc);border-radius:10px;overflow-x:auto}.dark .stage-filter-tabs{background:var(--bg-tertiary-dark, #0f172a)}.stage-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:none;border-radius:8px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.dark .stage-tab{color:var(--text-secondary-dark, #94a3b8)}.stage-tab:hover{background:var(--bg-secondary, #ffffff)}.dark .stage-tab:hover{background:var(--bg-secondary-dark, #1e293b)}.stage-tab.active{background:var(--bg-secondary, #ffffff);color:var(--text-primary, #1e293b);box-shadow:0 1px 3px #00000014}.dark .stage-tab.active{background:var(--bg-secondary-dark, #1e293b);color:var(--text-primary-dark, #f1f5f9)}.stage-tab:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:-2px}.stage-indicator{width:8px;height:8px;border-radius:50%}.tab-count{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;background:var(--bg-tertiary, #e2e8f0);border-radius:10px}.dark .tab-count{background:var(--bg-tertiary-dark, #0f172a)}.stage-tab.active .tab-count{background:var(--primary-color, #3b82f6);color:#fff}.site-requirements-section{flex:1}@media (max-width: 768px){.site-drilldown-header{padding:16px}.site-info-main{flex-wrap:wrap}.view-site-btn{width:100%;justify-content:center}.site-completion-summary{flex-direction:column;gap:16px}.completion-progress{max-width:none}.completion-stats{flex-wrap:wrap}.stage-filter-tabs{padding:4px}.stage-tab{padding:6px 10px;font-size:12px}}@media (max-width: 480px){.site-info-main{flex-direction:column;align-items:flex-start}.site-icon{width:40px;height:40px}.site-name{font-size:18px}.completion-stats{gap:12px}.stat-value{font-size:16px}}.config-view{display:flex;flex-direction:column;gap:16px}.config-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.back-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .15s ease}.dark .back-btn{color:var(--text-secondary-dark, #94a3b8);border-color:var(--border-color-dark, #475569)}.back-btn:hover{background:var(--bg-tertiary, #f8fafc)}.dark .back-btn:hover{background:var(--bg-tertiary-dark, #0f172a)}.config-title{display:flex;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #1e293b);flex:1}.dark .config-title{color:var(--text-primary-dark, #f1f5f9)}.config-actions{display:flex;gap:8px}.action-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s ease}.action-btn.secondary{color:var(--text-secondary, #64748b);background:transparent;border:1px solid var(--border-color, #e2e8f0)}.dark .action-btn.secondary{color:var(--text-secondary-dark, #94a3b8);border-color:var(--border-color-dark, #475569)}.action-btn.secondary:hover:not(:disabled){background:var(--bg-tertiary, #f8fafc)}.dark .action-btn.secondary:hover:not(:disabled){background:var(--bg-tertiary-dark, #0f172a)}.action-btn.primary{color:#fff;background:var(--primary-color, #3b82f6);border:none}.action-btn.primary:hover:not(:disabled){background:var(--primary-color-dark, #2563eb)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.config-tabs{display:flex;gap:4px;padding:4px;background:var(--bg-tertiary, #f8fafc);border-radius:10px}.dark .config-tabs{background:var(--bg-tertiary-dark, #0f172a)}.config-tab{display:flex;align-items:center;gap:6px;flex:1;padding:10px 16px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;justify-content:center}.dark .config-tab{color:var(--text-secondary-dark, #94a3b8)}.config-tab:hover{background:var(--bg-secondary, #ffffff)}.dark .config-tab:hover{background:var(--bg-secondary-dark, #1e293b)}.config-tab.active{background:var(--bg-secondary, #ffffff);color:var(--primary-color, #3b82f6);box-shadow:0 1px 3px #00000014}.dark .config-tab.active{background:var(--bg-secondary-dark, #1e293b)}.config-content{flex:1;min-height:300px}.config-section{display:flex;flex-direction:column;gap:16px}.section-header{padding-bottom:12px;border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .section-header{border-bottom-color:var(--border-color-dark, #475569)}.section-header h4{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .section-header h4{color:var(--text-primary-dark, #f1f5f9)}.section-header p{margin:0;font-size:13px;color:var(--text-secondary, #64748b)}.dark .section-header p{color:var(--text-secondary-dark, #94a3b8)}.target-days-list{display:flex;flex-direction:column;gap:8px}.target-days-row{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px;transition:all .15s ease}.dark .target-days-row{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.target-days-row.overridden{border-color:var(--primary-color, #3b82f6);background:linear-gradient(135deg,var(--bg-secondary, #ffffff) 0%,rgba(59,130,246,.05) 100%)}.dark .target-days-row.overridden{background:linear-gradient(135deg,var(--bg-secondary-dark, #1e293b) 0%,rgba(59,130,246,.1) 100%)}.stage-info{display:flex;align-items:center;gap:10px;flex:1;min-width:200px}.stage-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:12px;font-weight:600;color:var(--text-tertiary, #94a3b8);background:var(--bg-tertiary, #f1f5f9);border-radius:50%}.dark .stage-number{color:var(--text-tertiary-dark, #64748b);background:var(--bg-tertiary-dark, #0f172a)}.stage-indicator{width:10px;height:10px;border-radius:50%}.stage-name{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b)}.dark .stage-name{color:var(--text-primary-dark, #f1f5f9)}.override-badge{padding:2px 8px;font-size:10px;font-weight:600;color:var(--primary-color, #3b82f6);background:#3b82f61a;border-radius:4px}.target-inputs{display:flex;gap:12px}.input-group{display:flex;flex-direction:column;gap:4px}.input-group label{font-size:10px;font-weight:500;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.3px}.dark .input-group label{color:var(--text-tertiary-dark, #64748b)}.input-group input{width:70px;padding:6px 10px;font-size:13px;font-weight:500;text-align:center;color:var(--text-primary, #1e293b);background:var(--bg-tertiary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:6px}.dark .input-group input{color:var(--text-primary-dark, #f1f5f9);background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.input-group input:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.target-source{min-width:80px;text-align:right}.source-badge{padding:4px 8px;font-size:10px;font-weight:600;text-transform:uppercase;border-radius:4px}.source-badge.global{color:#6b7280;background:#6b72801a}.source-badge.project{color:#3b82f6;background:#3b82f61a}.source-badge.jurisdiction{color:#10b981;background:#10b9811a}.threshold-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.threshold-card{padding:16px;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px}.dark .threshold-card{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.threshold-card.warning{border-left:3px solid #f59e0b}.threshold-card.critical{border-left:3px solid #ef4444}.threshold-card.ahead{border-left:3px solid #10b981}.threshold-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .threshold-header{color:var(--text-primary-dark, #f1f5f9)}.threshold-card.warning .threshold-header .icon{color:#f59e0b}.threshold-card.critical .threshold-header .icon{color:#ef4444}.threshold-card.ahead .threshold-header .icon{color:#10b981}.threshold-input{display:flex;align-items:center;gap:8px;margin-bottom:8px}.threshold-input input{width:70px;padding:8px 12px;font-size:18px;font-weight:700;text-align:center;color:var(--text-primary, #1e293b);background:var(--bg-tertiary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px}.dark .threshold-input input{color:var(--text-primary-dark, #f1f5f9);background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.input-suffix{font-size:14px;font-weight:500;color:var(--text-tertiary, #94a3b8)}.dark .input-suffix{color:var(--text-tertiary-dark, #64748b)}.threshold-desc{margin:0;font-size:12px;color:var(--text-tertiary, #94a3b8);line-height:1.4}.dark .threshold-desc{color:var(--text-tertiary-dark, #64748b)}.threshold-preview{padding:16px;background:var(--bg-tertiary, #f8fafc);border-radius:10px;margin-top:8px}.dark .threshold-preview{background:var(--bg-tertiary-dark, #0f172a)}.threshold-preview h5{margin:0 0 12px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b)}.dark .threshold-preview h5{color:var(--text-secondary-dark, #94a3b8)}.preview-timeline{display:flex;height:32px;border-radius:6px;overflow:hidden}.preview-segment{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;padding:0 8px;white-space:nowrap;overflow:hidden}.preview-segment.ahead{background:#10b981;min-width:80px}.preview-segment.warning{background:#f59e0b;min-width:60px}.preview-segment.critical{background:#ef4444;flex:1;min-width:60px}.preview-markers{display:flex;justify-content:space-between;margin-top:8px;font-size:11px;color:var(--text-tertiary, #94a3b8)}.dark .preview-markers{color:var(--text-tertiary-dark, #64748b)}.mappings-list{display:flex;flex-direction:column;gap:8px}.mapping-stage{background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px;overflow:hidden}.dark .mapping-stage{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.mapping-stage-header{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);background:transparent;border:none;cursor:pointer;text-align:left;transition:background .1s ease}.dark .mapping-stage-header{color:var(--text-primary-dark, #f1f5f9)}.mapping-stage-header:hover{background:var(--bg-tertiary, #f8fafc)}.dark .mapping-stage-header:hover{background:var(--bg-tertiary-dark, #0f172a)}.mapping-count{margin-left:auto;font-size:12px;color:var(--text-tertiary, #94a3b8)}.dark .mapping-count{color:var(--text-tertiary-dark, #64748b)}.mapping-stage-content{padding:12px 16px;border-top:1px solid var(--border-color, #e2e8f0)}.dark .mapping-stage-content{border-top-color:var(--border-color-dark, #475569)}.no-mappings{margin:0;font-size:13px;color:var(--text-tertiary, #94a3b8);font-style:italic}.dark .no-mappings{color:var(--text-tertiary-dark, #64748b)}.mapping-items{display:flex;flex-direction:column;gap:8px}.mapping-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-tertiary, #f8fafc);border-radius:6px}.dark .mapping-item{background:var(--bg-tertiary-dark, #0f172a)}.mapping-order{display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:11px;font-weight:600;color:var(--text-tertiary, #94a3b8);background:var(--bg-secondary, #ffffff);border-radius:50%}.dark .mapping-order{color:var(--text-tertiary-dark, #64748b);background:var(--bg-secondary-dark, #1e293b)}.mapping-name{flex:1;font-size:13px;color:var(--text-primary, #1e293b)}.dark .mapping-name{color:var(--text-primary-dark, #f1f5f9)}.gate-badge{padding:2px 8px;font-size:10px;font-weight:600;color:#9333ea;background:#9333ea1a;border-radius:4px;text-transform:uppercase}.mapping-offset{font-size:12px;font-weight:500;color:var(--text-tertiary, #94a3b8)}.dark .mapping-offset{color:var(--text-tertiary-dark, #64748b)}.unsaved-warning{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;font-size:13px;font-weight:500;color:#d97706}@media (max-width: 768px){.config-header{flex-direction:column;align-items:flex-start}.config-title{order:-1}.config-actions{width:100%;justify-content:flex-end}.config-tabs{flex-direction:column}.target-days-row{flex-direction:column;align-items:flex-start;gap:12px}.target-inputs{width:100%;justify-content:space-between}.target-source{align-self:flex-end}.threshold-grid{grid-template-columns:1fr}}.gap-analysis-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gap-analysis-modal{position:relative;display:flex;flex-direction:column;width:100%;max-width:1200px;max-height:calc(100vh - 48px);background:var(--bg-primary, #ffffff);border-radius:16px;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease;overflow:hidden}.dark .gap-analysis-modal{background:var(--bg-primary-dark, #0f172a)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.gap-analysis-modal.fullscreen{max-width:none;max-height:none;width:100%;height:100%;border-radius:0}.gap-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.dark .gap-modal-header{border-bottom-color:var(--border-color-dark, #334155);background:var(--bg-secondary-dark, #1e293b)}.gap-modal-title{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .gap-modal-title{color:var(--text-primary-dark, #f1f5f9)}.gap-modal-actions{display:flex;align-items:center;gap:8px}.gap-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;color:var(--text-secondary, #64748b);background:transparent;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .15s ease}.dark .gap-action-btn{color:var(--text-secondary-dark, #94a3b8);border-color:var(--border-color-dark, #475569)}.gap-action-btn:hover{background:var(--bg-tertiary, #f1f5f9);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.dark .gap-action-btn:hover{background:var(--bg-tertiary-dark, #0f172a)}.gap-action-btn:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.gap-action-btn:disabled{opacity:.5;cursor:not-allowed}.gap-action-btn .spinning{animation:spin 1s linear infinite}.gap-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;color:var(--text-secondary, #64748b);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.dark .gap-close-btn{color:var(--text-secondary-dark, #94a3b8)}.gap-close-btn:hover{background:var(--error-bg, #fef2f2);color:var(--error-color, #dc2626)}.dark .gap-close-btn:hover{background:#dc262626;color:#f87171}.gap-close-btn:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.gap-modal-content{flex:1;padding:20px;overflow-y:auto;overflow-x:hidden}.gap-modal-content::-webkit-scrollbar{width:8px}.gap-modal-content::-webkit-scrollbar-track{background:var(--bg-tertiary, #f1f5f9);border-radius:4px}.dark .gap-modal-content::-webkit-scrollbar-track{background:var(--bg-tertiary-dark, #0f172a)}.gap-modal-content::-webkit-scrollbar-thumb{background:var(--border-color, #cbd5e1);border-radius:4px}.dark .gap-modal-content::-webkit-scrollbar-thumb{background:var(--border-color-dark, #475569)}.gap-modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary, #94a3b8)}.gap-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#fffc;z-index:10}.dark .gap-loading-overlay{background:#0f172acc}.gap-loading-spinner{width:40px;height:40px;border:3px solid var(--border-color, #e2e8f0);border-top-color:var(--primary-color, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.dark .gap-loading-spinner{border-color:var(--border-color-dark, #475569);border-top-color:var(--primary-color, #3b82f6)}.gap-loading-overlay span{font-size:14px;font-weight:500;color:var(--text-secondary, #64748b)}.dark .gap-loading-overlay span{color:var(--text-secondary-dark, #94a3b8)}@media (max-width: 768px){.gap-analysis-modal-overlay{padding:16px}.gap-analysis-modal{max-height:calc(100vh - 32px);border-radius:12px}.gap-modal-header{padding:12px 16px}.gap-modal-title{font-size:16px}.gap-modal-content{padding:16px}.gap-action-btn,.gap-close-btn{width:32px;height:32px}.gap-action-btn svg,.gap-close-btn svg{width:16px;height:16px}}@media (max-width: 480px){.gap-analysis-modal-overlay{padding:0}.gap-analysis-modal{max-height:100vh;border-radius:0}.gap-modal-header{flex-wrap:wrap;gap:8px}.gap-modal-title{width:100%;order:1}.gap-modal-actions{width:100%;order:2;justify-content:flex-end}.gap-modal-content{padding:12px}}.gap-modal-content>*{animation:fadeInView .2s ease}@keyframes fadeInView{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.gap-analysis-modal-overlay,.gap-analysis-modal,.gap-action-btn .spinning,.gap-loading-spinner,.gap-modal-content>*{animation:none}.gap-action-btn,.gap-close-btn{transition:none}}.gap-action-btn:focus-visible,.gap-close-btn:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.date-editor{display:flex;flex-direction:column;width:280px;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;box-shadow:0 4px 16px #0000001a;overflow:hidden}.dark .date-editor{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);box-shadow:0 4px 16px #0000004d}.date-editor-header{display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--bg-tertiary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .date-editor-header{background:var(--bg-tertiary-dark, #0f172a);border-bottom-color:var(--border-color-dark, #475569)}.date-editor-icon{width:18px;height:18px;color:var(--primary-color, #3b82f6)}.date-editor-label{flex:1;font-size:13px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .date-editor-label{color:var(--text-primary-dark, #f1f5f9)}.date-editor-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--text-tertiary, #94a3b8);cursor:pointer;transition:all .15s ease}.dark .date-editor-close{color:var(--text-tertiary-dark, #64748b)}.date-editor-close:hover{background:var(--bg-secondary, #ffffff);color:var(--text-primary, #1e293b)}.dark .date-editor-close:hover{background:var(--bg-secondary-dark, #1e293b);color:var(--text-primary-dark, #f1f5f9)}.date-editor-body{display:flex;flex-direction:column;gap:12px;padding:14px}.date-input-group{display:flex;flex-direction:column;gap:4px}.date-input{width:100%;padding:10px 12px;font-size:14px;color:var(--text-primary, #1e293b);background:var(--bg-tertiary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;outline:none;transition:all .15s ease}.dark .date-input{color:var(--text-primary-dark, #f1f5f9);background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.date-input:focus{border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.date-input:disabled{opacity:.6;cursor:not-allowed}.date-quick-options{display:flex;flex-wrap:wrap;gap:6px}.quick-option-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;font-size:11px;font-weight:500;color:var(--text-secondary, #64748b);background:var(--bg-tertiary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.dark .quick-option-btn{color:var(--text-secondary-dark, #94a3b8);background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.quick-option-btn:hover{background:var(--bg-secondary, #ffffff);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.dark .quick-option-btn:hover{background:var(--bg-secondary-dark, #1e293b)}.quick-option-btn:disabled{opacity:.5;cursor:not-allowed}.quick-option-btn:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.date-notes-group{display:flex;flex-direction:column;gap:6px}.date-notes-group label{font-size:11px;font-weight:500;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.3px}.dark .date-notes-group label{color:var(--text-tertiary-dark, #64748b)}.date-notes-group textarea{width:100%;padding:10px 12px;font-size:13px;font-family:inherit;color:var(--text-primary, #1e293b);background:var(--bg-tertiary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;resize:vertical;min-height:60px;outline:none;transition:all .15s ease}.dark .date-notes-group textarea{color:var(--text-primary-dark, #f1f5f9);background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.date-notes-group textarea::placeholder{color:var(--text-tertiary, #94a3b8)}.dark .date-notes-group textarea::placeholder{color:var(--text-tertiary-dark, #64748b)}.date-notes-group textarea:focus{border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.date-notes-group textarea:disabled{opacity:.6;cursor:not-allowed}.date-editor-actions{display:flex;gap:8px;padding:12px 14px;background:var(--bg-tertiary, #f8fafc);border-top:1px solid var(--border-color, #e2e8f0)}.dark .date-editor-actions{background:var(--bg-tertiary-dark, #0f172a);border-top-color:var(--border-color-dark, #475569)}.date-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s ease}.date-action-btn.cancel{color:var(--text-secondary, #64748b);background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0)}.dark .date-action-btn.cancel{color:var(--text-secondary-dark, #94a3b8);background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.date-action-btn.cancel:hover{background:var(--bg-tertiary, #f1f5f9);border-color:var(--border-color, #cbd5e1)}.dark .date-action-btn.cancel:hover{background:var(--bg-tertiary-dark, #0f172a)}.date-action-btn.save{color:#fff;background:var(--primary-color, #3b82f6);border:none}.date-action-btn.save:hover{background:var(--primary-color-dark, #2563eb)}.date-action-btn.save:disabled{background:var(--text-tertiary, #94a3b8);cursor:not-allowed}.date-action-btn:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.loading-spinner-small{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.pm-tile-settings-content{display:flex;flex-direction:column;gap:20px;max-height:60vh;overflow-y:auto;padding-right:4px}.pm-tile-settings-content::-webkit-scrollbar{width:6px}.pm-tile-settings-content::-webkit-scrollbar-track{background:transparent}.pm-tile-settings-content::-webkit-scrollbar-thumb{background-color:var(--border-color, #e2e8f0);border-radius:3px}.dark .pm-tile-settings-content::-webkit-scrollbar-thumb{background-color:var(--border-color-dark, #475569)}.pm-settings-section{display:flex;flex-direction:column;gap:12px}.pm-settings-section-header{border-bottom:1px solid var(--border-color, #e2e8f0);padding-bottom:8px}.dark .pm-settings-section-header{border-color:var(--border-color-dark, #475569)}.pm-settings-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary, #64748b);margin:0}.dark .pm-settings-section-title{color:var(--text-tertiary-dark, #94a3b8)}.pm-settings-section-description{font-size:12px;color:var(--text-tertiary, #94a3b8);margin:4px 0 0}.dark .pm-settings-section-description{color:var(--text-tertiary-dark, #64748b)}.pm-settings-section-content{display:flex;flex-direction:column;gap:12px}.pm-settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px}.pm-settings-row-label{flex:1;min-width:0}.pm-settings-label{display:block;font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);cursor:pointer}.dark .pm-settings-label{color:var(--text-primary-dark, #f1f5f9)}.pm-settings-hint{display:block;font-size:12px;color:var(--text-tertiary, #94a3b8);margin-top:2px}.dark .pm-settings-hint{color:var(--text-tertiary-dark, #64748b)}.pm-settings-row-control{flex-shrink:0;display:flex;align-items:center;gap:8px}.pm-tile-settings-footer{display:flex;align-items:center;justify-content:space-between;width:100%}.pm-tile-settings-footer-left{display:flex;align-items:center}.pm-tile-settings-footer-right{display:flex;align-items:center;gap:8px}.pm-reset-btn:disabled{opacity:.5;cursor:not-allowed}.pm-reset-confirm{display:flex;align-items:center;gap:8px}.pm-reset-confirm-text{font-size:13px;color:var(--text-secondary, #475569)}.dark .pm-reset-confirm-text{color:var(--text-secondary-dark, #94a3b8)}.pm-slider-container{display:flex;align-items:center;gap:12px;min-width:180px}.pm-slider-value{min-width:40px;text-align:right;font-size:13px;font-weight:500;color:var(--text-primary, #1e293b)}.dark .pm-slider-value{color:var(--text-primary-dark, #f1f5f9)}.pm-settings-select{min-width:140px}.pm-settings-number{width:70px}.pm-settings-hint-block{font-size:12px;color:var(--text-tertiary, #64748b);background:var(--bg-secondary, #f1f5f9);padding:8px 12px;border-radius:6px;margin:-4px 0 4px}.dark .pm-settings-hint-block{color:var(--text-tertiary-dark, #94a3b8);background:var(--bg-secondary-dark, #1e293b)}.pm-settings-density-selector,.pm-settings-refresh-selector,.pm-settings-color-selector{display:flex;align-items:center;gap:8px}.pm-settings-icon{width:16px;height:16px;color:var(--text-tertiary, #64748b);flex-shrink:0}.dark .pm-settings-icon{color:var(--text-tertiary-dark, #94a3b8)}.pm-settings-refresh-selector .pm-settings-icon.spinning{animation:pm-spin 1s linear infinite}@keyframes pm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pm-settings-advanced-config{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--bg-secondary, #f8fafc);border-radius:8px;border:1px solid var(--border-color, #e2e8f0)}.dark .pm-settings-advanced-config{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155)}.pm-settings-config-info{display:flex;flex-direction:column;gap:4px}.pm-settings-config-info h4{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);margin:0}.dark .pm-settings-config-info h4{color:var(--text-primary-dark, #f1f5f9)}.pm-settings-config-info p{font-size:12px;color:var(--text-tertiary, #64748b);margin:0;line-height:1.5}.dark .pm-settings-config-info p{color:var(--text-tertiary-dark, #94a3b8)}.pm-settings-config-button{align-self:flex-start}:root{--mc-success: #15803d;--mc-success-light: rgba(21, 128, 61, .15);--mc-warning: #b45309;--mc-warning-light: rgba(180, 83, 9, .15);--mc-error: #b91c1c;--mc-error-light: rgba(185, 28, 28, .15);--mc-info: #1d4ed8;--mc-info-light: rgba(29, 78, 216, .15);--mc-critical-path: #6d28d9;--mc-critical-path-light: rgba(109, 40, 217, .15);--mc-stage-candidate: #64748b;--mc-stage-rta: #0ea5e9;--mc-stage-ntp-kickoff: #8b5cf6;--mc-stage-design: #f59e0b;--mc-stage-permit-ready: #f97316;--mc-stage-permitting: #06b6d4;--mc-stage-ntp-complete: #10b981;--mc-chart-pv: #94a3b8;--mc-chart-ev: var(--mc-info);--mc-chart-ac: var(--mc-error);--mc-health-healthy: #10b981;--mc-health-warning: #f59e0b;--mc-health-critical: #ef4444}.dark{--mc-chart-pv: #cbd5e1;--mc-chart-ev: #60a5fa;--mc-chart-ac: #f87171;--mc-success: #22c55e;--mc-success-light: rgba(34, 197, 94, .2);--mc-warning: #fbbf24;--mc-warning-light: rgba(251, 191, 36, .2);--mc-error: #f87171;--mc-error-light: rgba(248, 113, 113, .2);--mc-info: #60a5fa;--mc-info-light: rgba(96, 165, 250, .2);--mc-critical-path: #a78bfa;--mc-critical-path-light: rgba(167, 139, 250, .2);--mc-stage-candidate: #94a3b8;--mc-stage-rta: #38bdf8;--mc-stage-ntp-kickoff: #a78bfa;--mc-stage-design: #fbbf24;--mc-stage-permit-ready: #fb923c;--mc-stage-permitting: #22d3ee;--mc-stage-ntp-complete: #34d399;--mc-health-healthy: #34d399;--mc-health-warning: #fbbf24;--mc-health-critical: #f87171}.mc-modal-content{padding:24px;max-height:calc(80vh - 140px);overflow-y:auto;display:flex;flex-direction:column}.mc-modal-content-compact{padding:16px;max-height:calc(80vh - 140px);overflow-y:auto}.mc-chart-section{flex:0 0 auto;max-height:40vh;overflow:hidden}.mc-scrollable-section{flex:1 1 auto;overflow-y:auto;min-height:100px}.mc-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media (max-width: 768px){.mc-summary-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media (max-width: 480px){.mc-summary-grid{grid-template-columns:1fr}}.mc-summary-card{display:flex;flex-direction:column;align-items:center;padding:16px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;transition:all .2s ease}.dark .mc-summary-card{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155)}.mc-summary-card:hover{border-color:var(--primary-color, #3b82f6)}.mc-summary-card-icon{color:var(--text-tertiary, #64748b);margin-bottom:8px}.mc-summary-card-value{font-size:24px;font-weight:700;color:var(--text-primary, #0f172a);line-height:1.2}.dark .mc-summary-card-value{color:var(--text-primary-dark, #f1f5f9)}.mc-summary-card-label{font-size:12px;color:var(--text-tertiary, #64748b);margin-top:4px;text-align:center}.dark .mc-summary-card-label{color:var(--text-tertiary-dark, #94a3b8)}.mc-summary-card-value.success{color:var(--mc-success)}.mc-summary-card-value.warning{color:var(--mc-warning)}.mc-summary-card-value.error{color:var(--mc-error)}.mc-summary-card-value.info{color:var(--mc-info)}.mc-section-header{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);margin-bottom:12px;display:flex;align-items:center;gap:8px}.dark .mc-section-header{color:var(--text-primary-dark, #f1f5f9)}.mc-section-subheader{font-size:12px;font-weight:600;color:var(--text-secondary, #475569);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.dark .mc-section-subheader{color:var(--text-secondary-dark, #94a3b8)}.mc-data-section{background:var(--bg-secondary, #f8fafc);border-radius:8px;padding:16px;margin-bottom:16px}.dark .mc-data-section{background:var(--bg-secondary-dark, #1e293b)}.mc-data-section-bordered{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:16px;margin-bottom:16px}.dark .mc-data-section-bordered{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155)}.mc-stacked-bar{display:flex;height:32px;border-radius:6px;overflow:hidden;background:var(--bg-tertiary, #e2e8f0);cursor:pointer}.dark .mc-stacked-bar{background:var(--bg-tertiary-dark, #334155)}.mc-stacked-bar-segment{height:100%;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:24px}.mc-stacked-bar-segment:hover{filter:brightness(1.1)}.mc-stacked-bar-segment-label{color:#fff;font-size:11px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3)}.mc-stacked-bar-segment.selected{box-shadow:inset 0 0 0 2px #fff}.mc-progress-bar{position:relative;width:100%;height:8px;background:var(--bg-tertiary, #e2e8f0);border-radius:4px;overflow:visible}.dark .mc-progress-bar{background:var(--bg-tertiary-dark, #334155)}.mc-progress-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.mc-progress-bar-fill.success{background:var(--mc-success)}.mc-progress-bar-fill.warning{background:var(--mc-warning)}.mc-progress-bar-fill.error{background:var(--mc-error)}.mc-progress-bar-fill.info{background:var(--mc-info)}.mc-expandable-item{border:1px solid var(--border-color, #e2e8f0);border-radius:8px;overflow:hidden;margin-bottom:8px;background:var(--bg-primary, #ffffff)}.dark .mc-expandable-item{border-color:var(--border-color-dark, #334155);background:var(--bg-primary-dark, #0f172a)}.mc-expandable-item-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;background:var(--bg-secondary, #f8fafc);border:none;width:100%;text-align:left;transition:background-color .2s ease}.dark .mc-expandable-item-header{background:var(--bg-secondary-dark, #1e293b)}.mc-expandable-item-header:hover{background:var(--bg-tertiary, #f1f5f9)}.dark .mc-expandable-item-header:hover{background:var(--bg-tertiary-dark, #334155)}.mc-expandable-item-header:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:-2px}.mc-expandable-item-content{padding:16px;border-top:1px solid var(--border-color, #e2e8f0);background:var(--bg-primary, #ffffff)}.dark .mc-expandable-item-content{border-top-color:var(--border-color-dark, #334155);background:var(--bg-primary-dark, #0f172a)}.mc-filter-bar{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-color, #e2e8f0);margin-bottom:16px}.dark .mc-filter-bar{border-bottom-color:var(--border-color-dark, #334155)}.mc-filter-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary, #475569)}.dark .mc-filter-label{color:var(--text-secondary-dark, #94a3b8)}.mc-filter-select{font-size:13px;padding:6px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #0f172a);cursor:pointer;transition:border-color .2s ease}.dark .mc-filter-select{border-color:var(--border-color-dark, #334155);background:var(--bg-secondary-dark, #1e293b);color:var(--text-primary-dark, #f1f5f9)}.mc-filter-select:hover{border-color:var(--primary-color, #3b82f6)}.mc-filter-select:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.mc-view-tabs{display:flex;gap:4px;background:var(--bg-secondary, #f8fafc);padding:4px;border-radius:8px;margin-bottom:16px}.dark .mc-view-tabs{background:var(--bg-secondary-dark, #1e293b)}.mc-view-tab{flex:1;padding:8px 16px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary, #475569);font-size:13px;font-weight:400;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.dark .mc-view-tab{color:var(--text-secondary-dark, #94a3b8)}.mc-view-tab:hover{background:var(--bg-tertiary, #f1f5f9)}.dark .mc-view-tab:hover{background:var(--bg-tertiary-dark, #334155)}.mc-view-tab.active{background:var(--bg-primary, #ffffff);color:var(--text-primary, #0f172a);font-weight:600;box-shadow:0 1px 3px #0000001a}.dark .mc-view-tab.active{background:var(--bg-tertiary-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}.mc-view-tab:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.mc-view-tab-active{background:var(--bg-primary, #ffffff);color:var(--text-primary, #0f172a);font-weight:600;box-shadow:0 1px 3px #0000001a}.dark .mc-view-tab-active{background:var(--bg-tertiary-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}.mc-data-table{width:100%;border-collapse:collapse;font-size:13px}.mc-data-table th{text-align:left;padding:10px 12px;background:var(--bg-secondary, #f8fafc);color:var(--text-secondary, #475569);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color, #e2e8f0)}.dark .mc-data-table th{background:var(--bg-secondary-dark, #1e293b);color:var(--text-secondary-dark, #94a3b8);border-bottom-color:var(--border-color-dark, #334155)}.mc-data-table td{padding:10px 12px;border-bottom:1px solid var(--border-color, #e2e8f0);color:var(--text-primary, #0f172a)}.dark .mc-data-table td{border-bottom-color:var(--border-color-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}.mc-data-table tr:hover td{background:var(--bg-secondary, #f8fafc)}.dark .mc-data-table tr:hover td{background:var(--bg-secondary-dark, #1e293b)}.mc-data-table tr:last-child td{border-bottom:none}.mc-site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;max-height:300px;overflow-y:auto}.mc-site-card{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-tertiary, #f1f5f9);border-radius:6px;cursor:pointer;transition:all .2s ease}.dark .mc-site-card{background:var(--bg-tertiary-dark, #334155)}.mc-site-card:hover{background:var(--bg-secondary, #f8fafc);box-shadow:0 2px 4px #0000000d}.dark .mc-site-card:hover{background:var(--bg-secondary-dark, #1e293b)}.mc-site-card-info{display:flex;align-items:center;gap:8px;overflow:hidden}.mc-site-card-name{font-size:13px;font-weight:500;color:var(--text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .mc-site-card-name{color:var(--text-primary-dark, #f1f5f9)}.mc-site-card-icons{display:flex;align-items:center;gap:4px;flex-shrink:0}.mc-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;border-radius:9999px}.mc-badge.success{background:var(--mc-success-light);color:var(--mc-success)}.mc-badge.warning{background:var(--mc-warning-light);color:var(--mc-warning)}.mc-badge.error{background:var(--mc-error-light);color:var(--mc-error)}.mc-badge.info{background:var(--mc-info-light);color:var(--mc-info)}.mc-badge.neutral{background:#64748b26;color:#64748b}.mc-badge-success{background:var(--mc-success-light);color:var(--mc-success)}.mc-badge-warning{background:var(--mc-warning-light);color:var(--mc-warning)}.mc-badge-error{background:var(--mc-error-light);color:var(--mc-error)}.mc-badge-info{background:var(--mc-info-light);color:var(--mc-info)}.mc-badge-neutral{background:#64748b26;color:var(--text-secondary, #64748b)}.dark .mc-badge-neutral{background:#94a3b833;color:var(--text-secondary, #94a3b8)}.mc-stage-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;border-radius:9999px}.mc-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mc-status-dot.success{background:var(--mc-success)}.mc-status-dot.warning{background:var(--mc-warning)}.mc-status-dot.error{background:var(--mc-error)}.mc-status-dot.info{background:var(--mc-info)}.mc-status-dot.neutral{background:var(--text-tertiary, #64748b)}.mc-color-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.mc-alert{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:8px;margin-top:16px}.mc-alert.warning{background:#d977061a;border:1px solid rgba(217,119,6,.3)}.mc-alert.info{background:#2563eb1a;border:1px solid rgba(37,99,235,.3)}.mc-alert.success{background:#16a34a1a;border:1px solid rgba(22,163,74,.3)}.mc-alert-warning{background:#d977061a;border:1px solid rgba(217,119,6,.3)}.mc-alert-info{background:#2563eb1a;border:1px solid rgba(37,99,235,.3)}.mc-alert-success{background:#16a34a1a;border:1px solid rgba(22,163,74,.3)}.mc-alert-error{background:#dc26261a;border:1px solid rgba(220,38,38,.3)}.mc-alert-icon{flex-shrink:0;margin-top:2px}.mc-alert-content{flex:1}.mc-alert-title{font-size:14px;font-weight:600;margin-bottom:2px}.mc-alert.warning .mc-alert-title{color:var(--mc-warning)}.mc-alert.info .mc-alert-title{color:var(--mc-info)}.mc-alert.success .mc-alert-title{color:var(--mc-success)}.mc-alert-text{font-size:13px;color:var(--text-secondary, #475569)}.dark .mc-alert-text{color:var(--text-secondary-dark, #94a3b8)}.mc-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.mc-empty-state-icon{color:var(--text-tertiary, #94a3b8);opacity:.5;margin-bottom:12px}.mc-empty-state-text{font-size:14px;color:var(--text-secondary, #475569)}.dark .mc-empty-state-text{color:var(--text-secondary-dark, #94a3b8)}.mc-empty-state-subtext{font-size:12px;color:var(--text-tertiary, #64748b);margin-top:4px}.mc-loading{display:flex;align-items:center;justify-content:center;padding:40px;gap:12px}.mc-loading-text{font-size:14px;color:var(--text-secondary, #475569)}.dark .mc-loading-text{color:var(--text-secondary-dark, #94a3b8)}.mc-chart-container{background:var(--bg-secondary, #f8fafc);border-radius:8px;padding:16px;margin-bottom:16px}.dark .mc-chart-container{background:var(--bg-secondary-dark, #1e293b)}.mc-chart-legend{display:flex;justify-content:center;gap:24px;margin-top:16px;flex-wrap:wrap;max-height:80px;overflow-y:auto}.mc-chart-legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary, #475569)}.dark .mc-chart-legend-item{color:var(--text-secondary-dark, #94a3b8)}.mc-chart-legend-color{width:16px;height:3px;border-radius:2px}.mc-funnel{display:flex;flex-direction:column;gap:4px;padding:16px 0}.mc-funnel-stage{display:flex;align-items:center;gap:12px;padding:8px 16px;cursor:pointer;transition:background-color .2s ease;border-radius:6px}.mc-funnel-stage:hover{background:var(--bg-tertiary, #f1f5f9)}.dark .mc-funnel-stage:hover{background:var(--bg-tertiary-dark, #334155)}.mc-funnel-bar-container{flex:1;display:flex;justify-content:flex-start}.mc-funnel-bar{height:24px;border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding:0 8px;min-width:40px;transition:width .3s ease}.mc-funnel-bar-label{color:#fff;font-size:11px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3)}.mc-funnel-stage-label{width:100px;font-size:12px;font-weight:500;color:var(--text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .mc-funnel-stage-label{color:var(--text-primary-dark, #f1f5f9)}.mc-funnel-count{width:40px;text-align:right;font-size:13px;font-weight:600;color:var(--text-primary, #0f172a)}.dark .mc-funnel-count{color:var(--text-primary-dark, #f1f5f9)}.mc-map-container{height:400px;border-radius:8px;overflow:hidden;border:1px solid var(--border-color, #e2e8f0)}.dark .mc-map-container{border-color:var(--border-color-dark, #334155)}.mc-map-controls{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .mc-map-controls{background:var(--bg-secondary-dark, #1e293b);border-bottom-color:var(--border-color-dark, #334155)}.mc-side-panel{width:320px;border-left:1px solid var(--border-color, #e2e8f0);display:flex;flex-direction:column;background:var(--bg-primary, #ffffff)}.dark .mc-side-panel{border-left-color:var(--border-color-dark, #334155);background:var(--bg-primary-dark, #0f172a)}.mc-side-panel-header{padding:16px;border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .mc-side-panel-header{border-bottom-color:var(--border-color-dark, #334155)}.mc-side-panel-content{flex:1;overflow-y:auto;padding:12px}.mc-export-button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;color:var(--text-secondary, #475569);background:transparent;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .2s ease}.dark .mc-export-button{color:var(--text-secondary-dark, #94a3b8);border-color:var(--border-color-dark, #334155)}.mc-export-button:hover{background:var(--bg-secondary, #f8fafc);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.dark .mc-export-button:hover{background:var(--bg-secondary-dark, #1e293b)}.mc-close-button{padding:8px 16px;font-size:13px;font-weight:500;background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;color:var(--text-primary, #1e293b);cursor:pointer;transition:all .2s ease}.mc-close-button:hover{background-color:var(--bg-secondary, #e2e8f0)}.dark .mc-close-button{background-color:var(--bg-tertiary-dark, #334155);border-color:var(--border-color-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.dark .mc-close-button:hover{background-color:var(--bg-secondary-dark, #475569)}.mc-scrollable{max-height:400px;overflow-y:auto}.mc-scrollable::-webkit-scrollbar{width:6px}.mc-scrollable::-webkit-scrollbar-track{background:transparent}.mc-scrollable::-webkit-scrollbar-thumb{background:var(--border-color, #e2e8f0);border-radius:3px}.dark .mc-scrollable::-webkit-scrollbar-thumb{background:var(--border-color-dark, #334155)}.mc-scrollable::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary, #94a3b8)}.mc-modal-content::-webkit-scrollbar,.mc-modal-content-compact::-webkit-scrollbar,.mc-scrollable-section::-webkit-scrollbar{width:8px}.mc-modal-content::-webkit-scrollbar-track,.mc-modal-content-compact::-webkit-scrollbar-track,.mc-scrollable-section::-webkit-scrollbar-track{background:var(--bg-secondary, #f8fafc);border-radius:4px}.dark .mc-modal-content::-webkit-scrollbar-track,.dark .mc-modal-content-compact::-webkit-scrollbar-track,.dark .mc-scrollable-section::-webkit-scrollbar-track{background:var(--bg-secondary-dark, #1e293b)}.mc-modal-content::-webkit-scrollbar-thumb,.mc-modal-content-compact::-webkit-scrollbar-thumb,.mc-scrollable-section::-webkit-scrollbar-thumb{background:var(--border-color, #e2e8f0);border-radius:4px}.dark .mc-modal-content::-webkit-scrollbar-thumb,.dark .mc-modal-content-compact::-webkit-scrollbar-thumb,.dark .mc-scrollable-section::-webkit-scrollbar-thumb{background:var(--border-color-dark, #334155)}.mc-modal-content::-webkit-scrollbar-thumb:hover,.mc-modal-content-compact::-webkit-scrollbar-thumb:hover,.mc-scrollable-section::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary, #94a3b8)}@media print{.mc-modal-content{padding:0}.mc-filter-bar,.mc-export-button,.mc-view-tabs{display:none}.mc-scrollable{max-height:none;overflow:visible}}.gantt-row-hover{transition:background-color .15s ease}.gantt-row-hover:hover{background-color:var(--bg-secondary, #f8fafc)}.dark .gantt-row-hover:hover{background-color:var(--bg-secondary-dark, #1e293b)}.gantt-row-hover:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:-2px}.mc-today-marker{position:absolute;width:2px;background:var(--mc-info, #3b82f6);z-index:5;pointer-events:none}.mc-today-label{position:absolute;top:-8px;left:4px;font-size:10px;font-weight:600;color:#fff;background:var(--mc-info, #3b82f6);padding:2px 6px;border-radius:3px;white-space:nowrap;box-shadow:0 1px 3px #0003}.mc-timeline-date-badge{transition:transform .15s ease,box-shadow .15s ease}.mc-timeline-date-badge:hover{transform:scale(1.02);box-shadow:0 2px 8px #0003}.mc-milestone-detail-panel{position:fixed;width:300px;max-width:calc(100vw - 40px);background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;box-shadow:0 10px 40px #00000026;z-index:1000;overflow:hidden}.dark .mc-milestone-detail-panel{background:var(--bg-primary-dark, #0f172a);border-color:var(--border-color-dark, #334155)}.mc-milestone-detail-header{padding:12px 16px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0);display:flex;align-items:center;justify-content:space-between;gap:8px}.dark .mc-milestone-detail-header{background:var(--bg-secondary-dark, #1e293b);border-bottom-color:var(--border-color-dark, #334155)}.mc-milestone-detail-site-id{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-milestone-detail-content{padding:16px;display:flex;flex-direction:column;gap:12px}.mc-milestone-detail-row{display:flex;align-items:center;gap:8px}.mc-milestone-detail-label{font-size:11px;color:var(--text-tertiary, #64748b)}.dark .mc-milestone-detail-label{color:var(--text-tertiary-dark, #94a3b8)}.mc-milestone-detail-value{font-size:13px;font-weight:500;color:var(--text-primary, #0f172a)}.dark .mc-milestone-detail-value{color:var(--text-primary-dark, #f1f5f9)}.mc-milestone-detail-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999;background:#0000000d}.dark .mc-milestone-detail-backdrop{background:#0003}.mc-critical-path-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-size:11px;font-weight:600;border-radius:9999px;background:#7c3aed26;color:#7c3aed;flex-shrink:0}.mc-alert.error{background:#dc26261a;border:1px solid rgba(220,38,38,.3)}.mc-alert.error .mc-alert-title{color:var(--mc-error)}.mc-action-button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease}.mc-action-button:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.mc-action-button:active{transform:translateY(0)}.mc-action-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.mc-action-button-small{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:500;border-radius:4px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, #f8fafc);color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s ease}.mc-action-button-small:hover{background:var(--bg-tertiary, #f1f5f9);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.mc-action-button-small:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.dark .mc-action-button-small{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155);color:var(--text-secondary-dark, #94a3b8)}.dark .mc-action-button-small:hover{background:var(--bg-tertiary-dark, #334155);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.mc-bulk-selection-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--primary-color-alpha, rgba(59, 130, 246, .1));border:1px solid var(--primary-color, #3b82f6);border-radius:8px;margin-bottom:16px}.mc-bulk-selection-bar-count{font-size:13px;font-weight:600;color:var(--text-primary)}.dark .mc-bulk-selection-bar-count{color:var(--text-primary-dark)}.mc-data-table tr.selected td{background:var(--primary-color-alpha, rgba(59, 130, 246, .1))}.dark .mc-data-table tr.selected td{background:#3b82f633}.mc-data-table tr:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:-2px}.mc-data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.mc-data-table th.sortable:hover{background:var(--bg-tertiary, #f1f5f9)}.dark .mc-data-table th.sortable:hover{background:var(--bg-tertiary-dark, #334155)}.mc-data-table th.sorted{background:var(--bg-tertiary, #f1f5f9);color:var(--primary-color, #3b82f6)}.dark .mc-data-table th.sorted{background:var(--bg-tertiary-dark, #334155)}.mc-insights-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color, #e2e8f0)}.dark .mc-insights-section{border-top-color:var(--border-color-dark, #334155)}.mc-learn-intro{padding:16px;background:var(--bg-secondary, #f8fafc);border-radius:8px;margin-bottom:16px}.dark .mc-learn-intro{background:var(--bg-secondary-dark, #1e293b)}.mc-action-button:focus-visible,.mc-export-button:focus-visible,.mc-close-button:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px;box-shadow:0 0 0 4px #3b82f633}.mc-view-tab:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px;box-shadow:0 0 0 4px #3b82f633;z-index:1}.mc-site-card:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px;box-shadow:0 0 0 4px #3b82f633}.mc-funnel-stage:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}@media (max-width: 768px){.mc-view-tabs{flex-wrap:wrap;gap:6px}.mc-view-tab{flex:0 0 auto;min-width:fit-content;padding:8px 12px;font-size:11px}}@media (max-width: 480px){.mc-view-tabs{gap:4px}.mc-view-tab{padding:6px 10px;font-size:10px}.mc-filter-bar{flex-direction:column;align-items:stretch;gap:8px}.mc-summary-card{padding:12px}.mc-summary-card-value{font-size:20px}.mc-summary-card-label{font-size:11px}}.mc-inline-edit{display:inline-flex;align-items:center;gap:4px;max-width:100%}.mc-inline-edit-value{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .15s ease}.mc-inline-edit-value:hover{background:var(--bg-secondary, #f8fafc)}.dark .mc-inline-edit-value:hover{background:var(--bg-secondary-dark, #1e293b)}.mc-inline-edit-value:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.mc-inline-edit-icon{color:var(--text-tertiary, #94a3b8);opacity:0;transition:opacity .15s ease}.mc-inline-edit-value:hover .mc-inline-edit-icon{opacity:1}.mc-inline-edit-input{flex:1;min-width:120px;padding:6px 10px;font-size:13px;border:1px solid var(--primary-color, #3b82f6);border-radius:4px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #0f172a);outline:none}.dark .mc-inline-edit-input{background:var(--bg-primary-dark, #0f172a);color:var(--text-primary-dark, #f1f5f9);border-color:var(--primary-color, #3b82f6)}.mc-inline-edit-input:focus{box-shadow:0 0 0 3px #3b82f633}.mc-inline-edit-select{flex:1;min-width:140px;padding:6px 10px;font-size:13px;border:1px solid var(--primary-color, #3b82f6);border-radius:4px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #0f172a);cursor:pointer;outline:none}.dark .mc-inline-edit-select{background:var(--bg-primary-dark, #0f172a);color:var(--text-primary-dark, #f1f5f9);border-color:var(--primary-color, #3b82f6)}.mc-inline-edit-select:focus{box-shadow:0 0 0 3px #3b82f633}.mc-inline-edit-actions{display:flex;gap:4px;margin-left:4px}.mc-inline-edit-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.mc-inline-edit-btn.save{background:var(--mc-success);color:#fff}.mc-inline-edit-btn.save:hover{background:#166534}.mc-inline-edit-btn.cancel{background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary, #64748b)}.dark .mc-inline-edit-btn.cancel{background:var(--bg-tertiary-dark, #334155);color:var(--text-secondary-dark, #94a3b8)}.mc-inline-edit-btn.cancel:hover{background:var(--bg-secondary, #e2e8f0)}.dark .mc-inline-edit-btn.cancel:hover{background:var(--bg-secondary-dark, #475569)}.mc-inline-edit-btn:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.mc-inline-edit-btn:disabled{opacity:.5;cursor:not-allowed}.mc-confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.dark .mc-confirmation-overlay{background:#000000b3}.mc-confirmation-dialog{width:100%;max-width:400px;margin:16px;background:var(--bg-primary, #ffffff);border-radius:12px;box-shadow:0 20px 50px #0003;overflow:hidden}.dark .mc-confirmation-dialog{background:var(--bg-primary-dark, #0f172a);box-shadow:0 20px 50px #00000080}.mc-confirmation-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .mc-confirmation-header{border-bottom-color:var(--border-color-dark, #334155)}.mc-confirmation-icon{flex-shrink:0}.mc-confirmation-icon.warning{color:var(--mc-warning)}.mc-confirmation-icon.error{color:var(--mc-error)}.mc-confirmation-icon.info{color:var(--mc-info)}.mc-confirmation-title{font-size:16px;font-weight:600;color:var(--text-primary, #0f172a)}.dark .mc-confirmation-title{color:var(--text-primary-dark, #f1f5f9)}.mc-confirmation-body{padding:16px 20px}.mc-confirmation-text{font-size:14px;color:var(--text-secondary, #475569);line-height:1.6}.dark .mc-confirmation-text{color:var(--text-secondary-dark, #94a3b8)}.mc-confirmation-list{margin-top:12px;padding-left:20px}.mc-confirmation-list li{font-size:13px;color:var(--text-primary, #0f172a);margin-bottom:4px}.dark .mc-confirmation-list li{color:var(--text-primary-dark, #f1f5f9)}.mc-confirmation-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;background:var(--bg-secondary, #f8fafc);border-top:1px solid var(--border-color, #e2e8f0)}.dark .mc-confirmation-footer{background:var(--bg-secondary-dark, #1e293b);border-top-color:var(--border-color-dark, #334155)}.mc-confirmation-btn{padding:8px 16px;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.mc-confirmation-btn.secondary{background:transparent;border:1px solid var(--border-color, #e2e8f0);color:var(--text-secondary, #475569)}.dark .mc-confirmation-btn.secondary{border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.mc-confirmation-btn.secondary:hover{background:var(--bg-tertiary, #f1f5f9)}.dark .mc-confirmation-btn.secondary:hover{background:var(--bg-tertiary-dark, #334155)}.mc-confirmation-btn.primary{background:var(--primary-color, #3b82f6);border:1px solid var(--primary-color, #3b82f6);color:#fff}.mc-confirmation-btn.primary:hover{background:var(--primary-color-dark, #2563eb)}.mc-confirmation-btn.danger{background:var(--mc-error);border:1px solid var(--mc-error);color:#fff}.mc-confirmation-btn.danger:hover{background:#991b1b}.mc-confirmation-btn:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.mc-confirmation-btn:disabled{opacity:.5;cursor:not-allowed}.mc-confirmation-btn .mc-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:mc-spin .6s linear infinite;margin-right:6px}@keyframes mc-spin{to{transform:rotate(360deg)}}.dark .mc-badge.success,.dark .mc-badge-success{background:#15803d40;color:#4ade80}.dark .mc-badge.warning,.dark .mc-badge-warning{background:#b4530940;color:#fbbf24}.dark .mc-badge.error,.dark .mc-badge-error{background:#b91c1c40;color:#f87171}.dark .mc-badge.info,.dark .mc-badge-info{background:#1d4ed840;color:#60a5fa}.dark .mc-status-dot.success{background:#4ade80}.dark .mc-status-dot.warning{background:#fbbf24}.dark .mc-status-dot.error{background:#f87171}.dark .mc-status-dot.info{background:#60a5fa}.pm-mission-control-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pm-mission-control-tile{min-height:100px}.pm-tile{position:relative;display:flex;flex-direction:column;height:100%;padding:12px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px;transition:all .2s ease;cursor:pointer}.pm-tile:hover{border-color:var(--primary-color, #3b82f6);box-shadow:0 4px 12px #3b82f61a}.dark .pm-tile{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);box-shadow:0 1px 3px #0000004d}.dark .pm-tile:hover{border-color:var(--primary-color, #3b82f6);box-shadow:0 4px 12px #3b82f626}.pm-tile-clickable{cursor:pointer;outline:none}.pm-tile-clickable:hover{transform:translateY(-1px)}.pm-tile-clickable:focus-visible{border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 2px #3b82f64d}.pm-tile-clickable:active{transform:translateY(0)}.pm-tile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pm-tile-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-tertiary, #64748b);text-transform:uppercase;letter-spacing:.5px}.dark .pm-tile-title{color:var(--text-tertiary-dark, #94a3b8)}.pm-tile-icon{color:var(--text-tertiary, #64748b)}.dark .pm-tile-icon{color:var(--text-tertiary-dark, #94a3b8)}.pm-tile-content{flex:1;display:flex;flex-direction:column;justify-content:center}.pm-tile-value{font-size:24px;font-weight:700;color:var(--text-primary, #1e293b);line-height:1.2}.dark .pm-tile-value{color:var(--text-primary-dark, #f1f5f9)}.pm-tile-subtitle{font-size:12px;color:var(--text-tertiary, #64748b);margin-top:2px}.dark .pm-tile-subtitle{color:var(--text-tertiary-dark, #94a3b8)}.pm-progress-ring{position:relative;width:64px;height:64px}.pm-progress-ring svg{transform:rotate(-90deg)}.pm-progress-ring-bg{fill:none;stroke:var(--border-color, #e2e8f0);stroke-width:8}.dark .pm-progress-ring-bg{stroke:var(--border-color-dark, #475569)}.pm-progress-ring-fill{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.pm-progress-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .pm-progress-ring-text{color:var(--text-primary-dark, #f1f5f9)}.pm-status-healthy{color:var(--mc-success, #10b981)}.pm-status-warning{color:var(--mc-warning, #f59e0b)}.pm-status-critical{color:var(--mc-error, #ef4444)}.pm-stacked-bar{display:flex;height:24px;border-radius:4px;overflow:hidden;background-color:var(--bg-tertiary, #f1f5f9)}.dark .pm-stacked-bar{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-stacked-bar-segment{height:100%;transition:width .3s ease}.pm-stage-indicator{display:flex;align-items:center;gap:2px}.pm-stage-dot{width:8px;height:8px;border-radius:50%;background-color:var(--border-color, #e2e8f0)}.dark .pm-stage-dot{background-color:var(--border-color-dark, #475569)}.pm-stage-dot.completed{background-color:var(--success-color, #10b981)}.pm-stage-dot.current{background-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f64d}.pm-stage-connector{width:12px;height:2px;background-color:var(--border-color, #e2e8f0)}.dark .pm-stage-connector{background-color:var(--border-color-dark, #475569)}.pm-stage-connector.completed{background-color:var(--success-color, #10b981)}.pm-timeline{display:flex;flex-direction:column;gap:4px}.pm-timeline-item{display:flex;align-items:center;gap:6px;font-size:11px}.pm-timeline-marker{width:6px;height:6px;border-radius:50%}.pm-timeline-marker.overdue{background-color:#ef4444}.pm-timeline-marker.warning{background-color:#f59e0b}.pm-timeline-marker.healthy{background-color:#10b981}.pm-timeline-label{flex:1;color:var(--text-secondary, #475569);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .pm-timeline-label{color:var(--text-secondary-dark, #94a3b8)}.pm-timeline-date{color:var(--text-tertiary, #94a3b8)}.pm-risk-item{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:11px}.pm-risk-severity{width:4px;height:20px;border-radius:2px}.pm-risk-severity.critical{background-color:#ef4444}.pm-risk-severity.high{background-color:#f97316}.pm-risk-severity.medium{background-color:#f59e0b}.pm-risk-severity.low{background-color:#84cc16}.pm-risk-text{flex:1;color:var(--text-secondary, #475569);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .pm-risk-text{color:var(--text-secondary-dark, #94a3b8)}.pm-sparkline{width:100%;height:32px}.pm-sparkline-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pm-sparkline-area{opacity:.1}.pm-mini-map{width:100%;height:60px;background-color:var(--bg-tertiary, #f1f5f9);border-radius:6px;overflow:hidden;position:relative}.dark .pm-mini-map{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-mini-map-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary, #94a3b8);font-size:11px}.pm-tile-avatar{display:flex;align-items:center;gap:8px}.pm-avatar{width:28px;height:28px;border-radius:50%;background-color:var(--primary-color, #3b82f6);display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600}.pm-tile-badges{display:flex;gap:4px}.pm-tile-badge{padding:2px 6px;font-size:10px;font-weight:600;border-radius:10px}.pm-tile-badge.warning{background-color:#f59e0b26;color:#f59e0b}.pm-tile-badge.error{background-color:#ef444426;color:#ef4444}@media (max-width: 1200px){.pm-mission-control-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.pm-mission-control-grid{grid-template-columns:repeat(2,1fr);gap:8px}.pm-tile{padding:10px}}@media (max-width: 640px){.pm-mission-control-grid{grid-template-columns:1fr}}.pm-tile-settings-btn{position:absolute;bottom:8px;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .2s ease,background-color .15s ease;color:var(--text-tertiary, #94a3b8);z-index:10}.pm-tile:hover .pm-tile-settings-btn{opacity:.6}.pm-tile-settings-btn:hover{opacity:1!important;background-color:var(--bg-tertiary, #f1f5f9)}.pm-tile-settings-btn:focus-visible{opacity:1;outline:2px solid var(--primary-color, #3b82f6);outline-offset:1px}.pm-tile-settings-btn:active{transform:scale(.95)}.dark .pm-tile-settings-btn{color:var(--text-tertiary-dark, #64748b)}.dark .pm-tile-settings-btn:hover{background-color:var(--bg-tertiary-dark, #334155);color:var(--text-secondary-dark, #94a3b8)}.pm-stage-gate-content{gap:8px}.pm-stage-aggregate-section{display:flex;flex-direction:column;gap:6px}.pm-stage-aggregate-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pm-stage-header-stat{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--text-secondary, #64748b)}.dark .pm-stage-header-stat{color:var(--text-secondary-dark, #94a3b8)}.pm-stage-header-stat.warning{color:var(--mc-warning, #f59e0b)}.pm-stage-header-stat.at-risk{color:var(--mc-error, #ef4444)}.pm-stage-header-stat.clickable,.pm-tile-badge.clickable{cursor:pointer;transition:background-color .15s ease,filter .15s ease,transform .15s ease;padding:2px 6px;border-radius:4px}.pm-stage-header-stat.clickable:hover{background-color:#0000000d;filter:brightness(1.1);transform:translateY(-1px)}.dark .pm-stage-header-stat.clickable:hover{background-color:#ffffff1a}.pm-tile-badge.clickable:hover{filter:brightness(1.1);transform:translateY(-1px)}.pm-stage-header-stat.clickable:focus,.pm-tile-badge.clickable:focus{outline:2px solid var(--mc-primary, #3b82f6);outline-offset:2px}.pm-stage-header-stat.clickable:active,.pm-tile-badge.clickable:active{transform:translateY(0)}.pm-stage-aggregate-bar{display:flex;height:28px;border-radius:6px;overflow:hidden;background-color:var(--bg-tertiary, #f1f5f9);gap:1px}.dark .pm-stage-aggregate-bar{background-color:var(--bg-tertiary-dark, #1e293b)}.pm-stage-bar-segment{position:relative;display:flex;align-items:center;justify-content:center;min-width:20px;transition:all .3s ease}.pm-stage-bar-segment:first-child{border-radius:6px 0 0 6px}.pm-stage-bar-segment:last-child{border-radius:0 6px 6px 0}.pm-stage-bar-segment:only-child{border-radius:6px}.pm-stage-bar-segment:hover{filter:brightness(1.1);transform:scaleY(1.05)}.pm-stage-bar-count{font-size:10px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.pm-stage-bar-segment.bottleneck{animation:bottleneckPulse 2s ease-in-out infinite}.pm-stage-bottleneck-indicator{position:absolute;top:-4px;right:-4px;width:14px;height:14px;background-color:var(--mc-error, #ef4444);color:#fff;border-radius:50%;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #ef444466;z-index:1}@keyframes bottleneckPulse{0%,to{box-shadow:inset 0 0 0 2px #fff3}50%{box-shadow:inset 0 0 0 2px #ffffff80}}.pm-stage-labels-row{display:flex;justify-content:space-around}.pm-stage-label{font-size:9px;font-weight:600;text-transform:uppercase;cursor:help}.pm-stage-label.empty{visibility:hidden}.pm-stage-divider{height:1px;background-color:var(--border-color, #e2e8f0);margin:4px 0}.dark .pm-stage-divider{background-color:var(--border-color-dark, #475569)}.pm-stage-site-context{display:flex;flex-direction:column;gap:6px;padding:8px;background-color:var(--bg-tertiary, #f8fafc);border-radius:6px;border-left:3px solid var(--primary-color, #3b82f6)}.dark .pm-stage-site-context{background-color:var(--bg-tertiary-dark, #1e293b)}.pm-stage-site-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.pm-stage-site-id{font-size:12px;font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.dark .pm-stage-site-id{color:var(--text-primary-dark, #f1f5f9)}.pm-stage-badge{padding:2px 6px;font-size:10px;font-weight:600;border-radius:4px;white-space:nowrap}.pm-stage-metrics-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pm-stage-metric{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500;color:var(--text-secondary, #64748b)}.dark .pm-stage-metric{color:var(--text-secondary-dark, #94a3b8)}.pm-stage-metric.warning{color:var(--mc-warning, #f59e0b)}.pm-stage-metric.critical,.pm-stage-metric.overdue{color:var(--mc-error, #ef4444)}.pm-stage-metric.safe{color:var(--mc-success, #10b981)}.pm-stage-metric.variance{text-transform:capitalize}.pm-stage-progress-dots{display:flex;align-items:center;justify-content:center;gap:2px;margin-top:4px}.pm-stage-dot-mini{width:6px;height:6px;border-radius:50%;border:1.5px solid;background-color:transparent;transition:all .2s ease}.pm-stage-dot-mini.completed{background-color:currentColor}.pm-stage-dot-mini.current{width:8px;height:8px;box-shadow:0 0 0 2px #3b82f633}.pm-stage-dot-mini.blocked{animation:blockedPulse 1.5s ease-in-out infinite}@keyframes blockedPulse{0%,to{box-shadow:0 0 0 2px #ef444433}50%{box-shadow:0 0 0 4px #ef44444d}}.pm-stage-connector-mini{width:8px;height:1.5px;background-color:var(--border-color, #e2e8f0)}.dark .pm-stage-connector-mini{background-color:var(--border-color-dark, #475569)}.pm-stage-connector-mini.completed{background-color:var(--mc-success, #10b981)}.pm-stage-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--text-tertiary, #94a3b8);font-size:12px}.dark .pm-stage-empty-state{color:var(--text-tertiary-dark, #64748b)}.pm-stage-no-selection{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;color:var(--text-tertiary, #94a3b8);font-size:11px;font-style:italic}.dark .pm-stage-no-selection{color:var(--text-tertiary-dark, #64748b)}.pm-stage-help-banner{margin-top:auto;padding:6px 8px;background-color:var(--bg-tertiary, #f1f5f9);border-radius:4px;font-size:9px;color:var(--text-tertiary, #94a3b8);line-height:1.4}.dark .pm-stage-help-banner{background-color:var(--bg-tertiary-dark, #1e293b);color:var(--text-tertiary-dark, #64748b)}@media (max-width: 768px){.pm-tile-settings-btn{width:44px;height:44px;min-width:44px;min-height:44px;bottom:4px;right:4px;opacity:.6}.pm-tile .pm-tile-settings-btn{opacity:.6}.pm-tile{padding:12px 12px 52px}.pm-tile-header{min-height:44px;padding:8px 0}.pm-mission-control-grid{gap:12px}.pm-tile-action,.pm-tile-link,.pm-tile-btn{min-height:44px;min-width:44px;padding:10px 12px}.pm-stage-bar-segment{min-height:32px}.pm-stage-bar{min-height:24px}.pm-stage-header-stat.clickable,.pm-tile-badge.clickable{min-height:44px;min-width:44px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;margin:2px}.pm-mission-control-container{padding-bottom:env(safe-area-inset-bottom)}}@media (max-width: 375px){.pm-mission-control-grid{gap:8px}.pm-tile{padding:10px 10px 52px}.pm-tile-title{font-size:12px}.pm-tile-value{font-size:18px}.pm-tile-settings-btn{width:44px;height:44px;min-width:44px;min-height:44px}}.site-detail-panel{background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;overflow:hidden}.dark .site-detail-panel{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);box-shadow:0 2px 8px #0000004d}.site-detail-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--bg-tertiary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .site-detail-panel-header{background-color:var(--bg-tertiary-dark, #0f172a);border-bottom-color:var(--border-color-dark, #475569)}.site-detail-panel-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .site-detail-panel-title{color:var(--text-primary-dark, #f1f5f9)}.site-detail-panel-title svg{color:var(--primary-color, #3b82f6)}.site-detail-panel-actions{display:flex;align-items:center;gap:8px}.site-detail-panel-content{padding:16px}.site-detail-panel-loading{display:flex;align-items:center;justify-content:center;padding:32px;color:var(--text-tertiary, #64748b)}.dark .site-detail-panel-loading{color:var(--text-tertiary-dark, #94a3b8)}.site-detail-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;color:var(--text-tertiary, #64748b)}.dark .site-detail-panel-empty{color:var(--text-tertiary-dark, #94a3b8)}.site-detail-panel-empty svg{margin-bottom:8px;opacity:.5}.site-detail-panel-empty-text{font-size:14px}.site-detail-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin-bottom:16px}.site-detail-stat-card{display:flex;flex-direction:column;align-items:center;padding:12px;background-color:var(--bg-tertiary, #f8fafc);border-radius:8px;text-align:center}.dark .site-detail-stat-card{background-color:var(--bg-tertiary-dark, #0f172a);border:1px solid var(--border-color-dark, #475569)}.site-detail-stat-value{font-size:24px;font-weight:700;color:var(--text-primary, #1e293b);line-height:1}.dark .site-detail-stat-value{color:var(--text-primary-dark, #f1f5f9)}.site-detail-stat-value.success{color:#10b981}.site-detail-stat-value.warning{color:#f59e0b}.site-detail-stat-value.error{color:#ef4444}.site-detail-stat-value.info{color:#3b82f6}.site-detail-stat-label{font-size:11px;font-weight:500;color:var(--text-tertiary, #64748b);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.dark .site-detail-stat-label{color:var(--text-tertiary-dark, #94a3b8)}.site-detail-item-list{display:flex;flex-direction:column;gap:8px}.site-detail-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background-color:var(--bg-tertiary, #f8fafc);border-radius:8px;transition:background-color .15s ease}.site-detail-item:hover{background-color:var(--bg-hover, #f1f5f9)}.dark .site-detail-item{background-color:var(--bg-tertiary-dark, #0f172a);border:1px solid var(--border-color-dark, #475569)}.dark .site-detail-item:hover{background-color:var(--bg-hover-dark, #334155)}.site-detail-item-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;flex-shrink:0}.site-detail-item-icon.low{background-color:#22c55e1a;color:#22c55e}.site-detail-item-icon.medium{background-color:#3b82f61a;color:#3b82f6}.site-detail-item-icon.high{background-color:#f59e0b1a;color:#f59e0b}.site-detail-item-icon.critical{background-color:#ef44441a;color:#ef4444}.site-detail-item-icon.success{background-color:#10b9811a;color:#10b981}.site-detail-item-icon.warning{background-color:#f59e0b1a;color:#f59e0b}.site-detail-item-icon.error{background-color:#ef44441a;color:#ef4444}.site-detail-item-icon.info{background-color:#3b82f61a;color:#3b82f6}.site-detail-item-icon.neutral{background-color:var(--bg-hover, #e2e8f0);color:var(--text-secondary, #475569)}.dark .site-detail-item-icon.low{background-color:#34d39926;color:#34d399}.dark .site-detail-item-icon.medium{background-color:#60a5fa26;color:#60a5fa}.dark .site-detail-item-icon.high{background-color:#fbbf2426;color:#fbbf24}.dark .site-detail-item-icon.critical{background-color:#f8717126;color:#f87171}.dark .site-detail-item-icon.success{background-color:#34d39926;color:#34d399}.dark .site-detail-item-icon.warning{background-color:#fbbf2426;color:#fbbf24}.dark .site-detail-item-icon.error{background-color:#f8717126;color:#f87171}.dark .site-detail-item-icon.info{background-color:#60a5fa26;color:#60a5fa}.dark .site-detail-item-icon.neutral{background-color:var(--bg-hover-dark, #334155);color:var(--text-secondary-dark, #94a3b8)}.site-detail-item-content{flex:1;min-width:0}.site-detail-item-title{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);margin-bottom:2px}.dark .site-detail-item-title{color:var(--text-primary-dark, #f1f5f9)}.site-detail-item-subtitle{font-size:12px;color:var(--text-tertiary, #64748b)}.dark .site-detail-item-subtitle{color:var(--text-tertiary-dark, #94a3b8)}.site-detail-item-meta{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.site-detail-item-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.site-detail-item-badge.active{background-color:#3b82f61a;color:#3b82f6}.site-detail-item-badge.resolved{background-color:#10b9811a;color:#10b981}.site-detail-item-badge.waived{background-color:#8b5cf61a;color:#8b5cf6}.site-detail-item-badge.escalated{background-color:#ef44441a;color:#ef4444}.site-detail-item-badge.running{background-color:#10b9811a;color:#10b981}.site-detail-item-badge.paused{background-color:#f59e0b1a;color:#f59e0b}.site-detail-item-badge.tolled{background-color:#8b5cf61a;color:#8b5cf6}.site-detail-item-badge.completed{background-color:#6b72801a;color:#6b7280}.site-detail-item-badge.expired,.site-detail-item-badge.blocking{background-color:#ef44441a;color:#ef4444}.dark .site-detail-item-badge.active{background-color:#60a5fa26;color:#60a5fa}.dark .site-detail-item-badge.resolved{background-color:#34d39926;color:#34d399}.dark .site-detail-item-badge.waived{background-color:#a78bfa26;color:#a78bfa}.dark .site-detail-item-badge.escalated{background-color:#f8717126;color:#f87171}.dark .site-detail-item-badge.running{background-color:#34d39926;color:#34d399}.dark .site-detail-item-badge.paused{background-color:#fbbf2426;color:#fbbf24}.dark .site-detail-item-badge.tolled{background-color:#a78bfa26;color:#a78bfa}.dark .site-detail-item-badge.completed{background-color:#9ca3af26;color:#9ca3af}.dark .site-detail-item-badge.expired,.dark .site-detail-item-badge.blocking{background-color:#f8717126;color:#f87171}.site-detail-item-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.site-detail-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:6px;color:var(--text-tertiary, #64748b);cursor:pointer;transition:all .15s ease}.site-detail-action-btn:hover{background-color:var(--bg-hover, #e2e8f0);color:var(--text-primary, #1e293b)}.dark .site-detail-action-btn{color:var(--text-tertiary-dark, #94a3b8)}.dark .site-detail-action-btn:hover{background-color:var(--bg-hover-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.site-detail-primary-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;color:#fff;background-color:var(--primary-color, #3b82f6);border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.site-detail-primary-btn:hover{background-color:var(--primary-hover, #2563eb)}.site-detail-primary-btn:disabled{opacity:.5;cursor:not-allowed}.site-detail-secondary-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;color:var(--text-secondary, #475569);background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.site-detail-secondary-btn:hover{background-color:var(--bg-hover, #e2e8f0);color:var(--text-primary, #1e293b)}.dark .site-detail-secondary-btn{color:var(--text-secondary-dark, #94a3b8);background-color:var(--bg-tertiary-dark, #334155);border-color:var(--border-color-dark, #475569)}.dark .site-detail-secondary-btn:hover{background-color:var(--bg-hover-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.site-detail-timeline{position:relative;padding-left:24px}.site-detail-timeline:before{content:"";position:absolute;left:8px;top:4px;bottom:4px;width:2px;background-color:var(--border-color, #e2e8f0);border-radius:1px}.dark .site-detail-timeline:before{background-color:var(--border-color-dark, #475569)}.site-detail-timeline-item{position:relative;padding-bottom:16px}.site-detail-timeline-item:last-child{padding-bottom:0}.site-detail-timeline-dot{position:absolute;left:-20px;top:4px;width:12px;height:12px;border-radius:50%;background-color:var(--bg-secondary, #ffffff);border:2px solid var(--border-color, #e2e8f0)}.dark .site-detail-timeline-dot{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.site-detail-timeline-dot.current{border-color:var(--primary-color, #3b82f6);background-color:var(--primary-color, #3b82f6)}.site-detail-timeline-dot.completed{border-color:#10b981;background-color:#10b981}.site-detail-timeline-content{font-size:13px}.site-detail-timeline-title{font-weight:500;color:var(--text-primary, #1e293b)}.dark .site-detail-timeline-title{color:var(--text-primary-dark, #f1f5f9)}.site-detail-timeline-date{font-size:12px;color:var(--text-tertiary, #64748b);margin-top:2px}.dark .site-detail-timeline-date{color:var(--text-tertiary-dark, #94a3b8)}.site-detail-progress{height:8px;background-color:var(--bg-tertiary, #e2e8f0);border-radius:4px;overflow:hidden}.dark .site-detail-progress{background-color:var(--bg-tertiary-dark, #475569)}.site-detail-progress-bar{height:100%;border-radius:4px;transition:width .3s ease}.site-detail-progress-bar.success{background-color:#10b981}.site-detail-progress-bar.warning{background-color:#f59e0b}.site-detail-progress-bar.error{background-color:#ef4444}.site-detail-progress-bar.info{background-color:#3b82f6}.site-detail-section{margin-bottom:16px}.site-detail-section:last-child{margin-bottom:0}.site-detail-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.site-detail-section-title{font-size:12px;font-weight:600;color:var(--text-tertiary, #64748b);text-transform:uppercase;letter-spacing:.5px}.dark .site-detail-section-title{color:var(--text-tertiary-dark, #94a3b8)}.site-detail-clock-display{display:flex;flex-direction:column;align-items:center;padding:16px;background-color:var(--bg-tertiary, #f8fafc);border-radius:8px;text-align:center}.dark .site-detail-clock-display{background-color:var(--bg-tertiary-dark, #0f172a);border:1px solid var(--border-color-dark, #475569)}.site-detail-clock-value{font-size:32px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.site-detail-clock-value.success{color:#10b981}.site-detail-clock-value.warning{color:#f59e0b}.site-detail-clock-value.error{color:#ef4444}.site-detail-clock-label{font-size:12px;color:var(--text-tertiary, #64748b);margin-top:4px}.dark .site-detail-clock-label{color:var(--text-tertiary-dark, #94a3b8)}.site-detail-panel-tabs{display:flex;gap:4px;padding:0 16px;border-bottom:1px solid var(--border-color, #e2e8f0);background-color:var(--bg-tertiary, #f8fafc)}.dark .site-detail-panel-tabs{background-color:var(--bg-tertiary-dark, #0f172a);border-bottom-color:var(--border-color-dark, #475569)}.site-detail-panel-tab{padding:10px 16px;font-size:13px;font-weight:500;color:var(--text-secondary, #475569);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease;margin-bottom:-1px}.site-detail-panel-tab:hover{color:var(--text-primary, #1e293b)}.site-detail-panel-tab.active{color:var(--primary-color, #3b82f6);border-bottom-color:var(--primary-color, #3b82f6)}.dark .site-detail-panel-tab{color:var(--text-secondary-dark, #94a3b8)}.dark .site-detail-panel-tab:hover{color:var(--text-primary-dark, #f1f5f9)}.dark .site-detail-panel-tab.active{color:var(--primary-color, #60a5fa);border-bottom-color:var(--primary-color, #60a5fa)}.site-detail-panel-tab:disabled{opacity:.5;cursor:not-allowed}.site-detail-panel-tab:disabled:hover{color:var(--text-secondary, #475569)}.dark .site-detail-panel-tab:disabled:hover{color:var(--text-secondary-dark, #94a3b8)}.site-detail-file-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.site-detail-file-category{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background-color:var(--bg-tertiary, #f8fafc);border-radius:8px;text-align:center;transition:all .15s ease}.site-detail-file-category:hover{background-color:var(--bg-hover, #f1f5f9)}.dark .site-detail-file-category{background-color:var(--bg-tertiary-dark, #0f172a);border:1px solid var(--border-color-dark, #475569)}.dark .site-detail-file-category:hover{background-color:var(--bg-hover-dark, #334155)}.site-detail-location-container{border-radius:8px;overflow:hidden;margin-bottom:12px}.site-detail-map-view,.site-detail-street-view{width:100%;height:180px;background-color:var(--bg-tertiary, #f8fafc)}.dark .site-detail-map-view,.dark .site-detail-street-view{background-color:var(--bg-tertiary-dark, #0f172a)}.site-detail-location-info{margin-top:12px;padding:12px;background-color:var(--bg-tertiary, #f8fafc);border-radius:8px}.dark .site-detail-location-info{background-color:var(--bg-tertiary-dark, #0f172a);border:1px solid var(--border-color-dark, #475569)}.site-detail-field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.site-detail-field-card{padding:12px;background-color:var(--bg-tertiary, #f8fafc);border-radius:8px}.dark .site-detail-field-card{background-color:var(--bg-tertiary-dark, #0f172a);border:1px solid var(--border-color-dark, #475569)}.site-detail-field-label{font-size:11px;font-weight:500;color:var(--text-tertiary, #64748b);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.dark .site-detail-field-label{color:var(--text-tertiary-dark, #94a3b8)}.site-detail-field-value{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);word-break:break-word}.dark .site-detail-field-value{color:var(--text-primary-dark, #f1f5f9)}.site-detail-field-value.empty{color:var(--text-tertiary, #64748b);font-style:italic;font-weight:400}.dark .site-detail-field-value.empty{color:var(--text-tertiary-dark, #94a3b8)}.site-detail-config-panel{margin-top:16px;padding:16px;background-color:var(--bg-tertiary, #f8fafc);border-radius:8px;border:1px solid var(--border-color, #e2e8f0)}.dark .site-detail-config-panel{background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.site-detail-config-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.site-detail-config-title{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .site-detail-config-title{color:var(--text-primary-dark, #f1f5f9)}.site-detail-config-field-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.site-detail-config-field{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:13px}.dark .site-detail-config-field{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.site-detail-config-field-label{display:flex;align-items:center;gap:8px;color:var(--text-primary, #1e293b)}.dark .site-detail-config-field-label{color:var(--text-primary-dark, #f1f5f9)}.site-detail-config-field-group{font-size:10px;color:var(--text-tertiary, #64748b);padding:2px 6px;background-color:var(--bg-tertiary, #f8fafc);border-radius:4px;text-transform:capitalize}.dark .site-detail-config-field-group{color:var(--text-tertiary-dark, #94a3b8);background-color:var(--bg-tertiary-dark, #0f172a)}.site-detail-toggle{position:relative;width:40px;height:22px;background-color:var(--bg-tertiary, #e2e8f0);border-radius:11px;cursor:pointer;transition:background-color .2s ease}.site-detail-toggle.active{background-color:var(--primary-color, #3b82f6)}.dark .site-detail-toggle{background-color:var(--bg-tertiary-dark, #475569)}.dark .site-detail-toggle.active{background-color:var(--primary-color, #3b82f6)}.site-detail-toggle:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background-color:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.site-detail-toggle.active:after{transform:translate(18px)}.site-detail-config-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color, #e2e8f0)}.dark .site-detail-config-actions{border-top-color:var(--border-color-dark, #475569)}@media (max-width: 768px){.site-detail-file-categories,.site-detail-field-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.site-detail-file-categories{grid-template-columns:repeat(2,1fr)}.site-detail-field-grid{grid-template-columns:1fr}}.pm-column-config-modal{display:flex;flex-direction:column;gap:16px}.pm-column-config-description{margin:0;font-size:.875rem;color:var(--text-secondary, #64748b)}.dark .pm-column-config-description{color:var(--text-secondary-dark, #94a3b8)}.pm-column-groups{display:flex;flex-direction:column;gap:16px;max-height:400px;overflow-y:auto;padding-right:4px}.pm-column-group{display:flex;flex-direction:column;gap:8px}.pm-column-group-label{margin:0;font-size:.75rem;font-weight:600;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.5px}.dark .pm-column-group-label{color:var(--text-tertiary-dark, #64748b)}.pm-column-list{display:flex;flex-direction:column;gap:4px}.pm-column-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:grab;transition:all .15s ease}.dark .pm-column-item{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.pm-column-item:hover{background:var(--bg-hover, #f1f5f9);border-color:var(--border-color-hover, #cbd5e1)}.dark .pm-column-item:hover{background:var(--bg-hover-dark, #334155);border-color:var(--border-color-dark, #64748b)}.pm-column-item.dragging{opacity:.5;cursor:grabbing;transform:scale(.98)}.pm-column-item.drag-over{background:var(--primary-light, #eff6ff);border-color:var(--primary, #3b82f6);border-style:dashed}.dark .pm-column-item.drag-over{background:#3b82f626;border-color:#60a5fa}.pm-column-item.hidden-column{opacity:.6}.pm-column-item.hidden-column .pm-column-label{text-decoration:line-through;color:var(--text-tertiary, #94a3b8)}.dark .pm-column-item.hidden-column .pm-column-label{color:var(--text-tertiary-dark, #64748b)}.pm-drag-handle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text-tertiary, #94a3b8);cursor:grab;flex-shrink:0;transition:color .15s ease}.dark .pm-drag-handle{color:var(--text-tertiary-dark, #64748b)}.pm-drag-handle:hover{color:var(--text-secondary, #64748b)}.dark .pm-drag-handle:hover{color:var(--text-secondary-dark, #94a3b8)}.pm-drag-handle.disabled{cursor:not-allowed;opacity:.3}.pm-column-info{flex:1;display:flex;align-items:center;min-width:0}.pm-column-label{font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark .pm-column-label{color:var(--text-primary-dark, #f1f5f9)}.pm-visibility-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary, #64748b);transition:all .15s ease;flex-shrink:0}.dark .pm-visibility-toggle{color:var(--text-secondary-dark, #94a3b8)}.pm-visibility-toggle:hover:not(:disabled){background:var(--bg-hover, #e2e8f0);color:var(--text-primary, #1e293b)}.dark .pm-visibility-toggle:hover:not(:disabled){background:var(--bg-hover-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.pm-visibility-toggle.hidden{color:var(--text-tertiary, #94a3b8)}.dark .pm-visibility-toggle.hidden{color:var(--text-tertiary-dark, #64748b)}.pm-visibility-toggle.hidden:hover:not(:disabled){color:var(--success, #10b981)}.pm-visibility-toggle:disabled,.pm-visibility-toggle.disabled{cursor:not-allowed;opacity:.4}.pm-column-config-note{margin:0;padding:10px 12px;font-size:.75rem;color:var(--text-tertiary, #94a3b8);background:var(--bg-tertiary, #f1f5f9);border-radius:6px;border:1px dashed var(--border-color, #e2e8f0)}.dark .pm-column-config-note{color:var(--text-tertiary-dark, #64748b);background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.pm-reset-btn{display:flex;align-items:center;gap:6px}.pm-column-groups::-webkit-scrollbar{width:6px}.pm-column-groups::-webkit-scrollbar-track{background:transparent}.pm-column-groups::-webkit-scrollbar-thumb{background:var(--border-color, #e2e8f0);border-radius:3px}.dark .pm-column-groups::-webkit-scrollbar-thumb{background:var(--border-color-dark, #475569)}.pm-column-groups::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary, #94a3b8)}@media (max-width: 480px){.pm-column-item{padding:8px 10px;gap:8px}.pm-column-groups{max-height:300px}}.inline-edit-cell{display:flex;align-items:center;min-height:32px;padding:4px 8px;border-radius:4px;cursor:pointer;transition:all .15s ease;position:relative}.inline-edit-cell:not(.editing):not(.disabled):hover{background-color:var(--bg-hover, #f1f5f9)}.dark .inline-edit-cell:not(.editing):not(.disabled):hover{background-color:var(--bg-hover-dark, #334155)}.inline-edit-cell:not(.editing):not(.disabled):focus{outline:2px solid var(--primary, #3b82f6);outline-offset:-2px}.inline-edit-cell.disabled{cursor:not-allowed;opacity:.6}.inline-edit-display{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-edit-placeholder{color:var(--text-tertiary, #94a3b8);font-style:italic}.dark .inline-edit-placeholder{color:var(--text-tertiary-dark, #64748b)}.inline-edit-hint{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--text-tertiary, #94a3b8);opacity:0;transition:opacity .15s ease;pointer-events:none;white-space:nowrap}.dark .inline-edit-hint{color:var(--text-tertiary-dark, #64748b)}.inline-edit-cell:not(.editing):not(.disabled):hover .inline-edit-hint{opacity:1}.inline-edit-cell.editing{padding:2px;background-color:var(--bg-primary, #ffffff);border:2px solid var(--primary, #3b82f6);border-radius:6px;cursor:default}.dark .inline-edit-cell.editing{background-color:var(--bg-primary-dark, #1e293b);border-color:var(--primary-dark, #60a5fa)}.inline-edit-input-wrapper{display:flex;align-items:center;gap:4px;width:100%}.inline-edit-input{flex:1;min-width:0;padding:6px 8px;font-size:13px;font-family:inherit;color:var(--text-primary, #1e293b);background-color:transparent;border:none;border-radius:4px;outline:none}.dark .inline-edit-input{color:var(--text-primary-dark, #f1f5f9)}.inline-edit-input::placeholder{color:var(--text-tertiary, #94a3b8)}.dark .inline-edit-input::placeholder{color:var(--text-tertiary-dark, #64748b)}.inline-edit-input:disabled{opacity:.6;cursor:not-allowed}.inline-edit-input.has-error{color:var(--error, #ef4444)}select.inline-edit-input{padding-right:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.dark select.inline-edit-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}input[type=date].inline-edit-input{padding-right:4px}input[type=date].inline-edit-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;filter:invert(0)}.dark input[type=date].inline-edit-input::-webkit-calendar-picker-indicator{filter:invert(1)}input[type=number].inline-edit-input::-webkit-inner-spin-button,input[type=number].inline-edit-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number].inline-edit-input{-moz-appearance:textfield}.inline-edit-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.inline-edit-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.inline-edit-btn.save{color:var(--success, #10b981);background-color:#10b9811a}.inline-edit-btn.save:hover{background-color:#10b98133}.inline-edit-btn.cancel{color:var(--text-secondary, #64748b);background-color:transparent}.dark .inline-edit-btn.cancel{color:var(--text-secondary-dark, #94a3b8)}.inline-edit-btn.cancel:hover{background-color:var(--bg-hover, #f1f5f9);color:var(--error, #ef4444)}.dark .inline-edit-btn.cancel:hover{background-color:var(--bg-hover-dark, #334155)}.inline-edit-icon.saving{color:var(--primary, #3b82f6);animation:spin 1s linear infinite;flex-shrink:0}.inline-edit-error{position:absolute;bottom:-18px;left:0;right:0;font-size:11px;color:var(--error, #ef4444);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1}.pm-table-view td .inline-edit-cell{margin:-4px -8px;padding:4px 8px;min-height:28px}.pm-table-view td .inline-edit-cell.editing{margin:-6px -10px;padding:2px}.pm-table-view td .inline-edit-cell{width:calc(100% + 16px)}.inline-edit-cell .date-value{font-variant-numeric:tabular-nums}@media (max-width: 768px){.inline-edit-hint{display:none}.inline-edit-cell{padding:6px}.inline-edit-btn{width:28px;height:28px}}.cell-context-menu{position:fixed;z-index:10000;min-width:240px;max-width:320px;background-color:var(--bg-primary, #ffffff);border:1px solid var(--border-primary, #e2e8f0);border-radius:8px;box-shadow:0 10px 25px -5px #00000026,0 8px 10px -6px #0000001a;padding:4px 0;opacity:0;transform:scale(.95);transition:opacity .1s ease,transform .1s ease;pointer-events:none}.cell-context-menu.visible{opacity:1;transform:scale(1);pointer-events:auto}.dark .cell-context-menu{background-color:var(--bg-primary-dark, #1e293b);border-color:var(--border-primary-dark, #334155);box-shadow:0 10px 25px -5px #0006,0 8px 10px -6px #0000004d}.cell-context-menu-header{display:flex;flex-direction:column;gap:2px;padding:8px 12px}.cell-context-menu-field{font-size:11px;font-weight:500;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.05em}.dark .cell-context-menu-field{color:var(--text-tertiary-dark, #64748b)}.cell-context-menu-value{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.dark .cell-context-menu-value{color:var(--text-primary-dark, #f1f5f9)}.cell-context-menu-divider{height:1px;background-color:var(--border-primary, #e2e8f0);margin:4px 0}.dark .cell-context-menu-divider{background-color:var(--border-primary-dark, #334155)}.cell-context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:none;border:none;font-size:13px;color:var(--text-primary, #1e293b);cursor:pointer;transition:background-color .1s ease;text-align:left}.dark .cell-context-menu-item{color:var(--text-primary-dark, #f1f5f9)}.cell-context-menu-item:hover:not(.disabled){background-color:var(--bg-hover, #f1f5f9)}.dark .cell-context-menu-item:hover:not(.disabled){background-color:var(--bg-hover-dark, #334155)}.cell-context-menu-item:focus{outline:none;background-color:var(--bg-hover, #f1f5f9)}.dark .cell-context-menu-item:focus{background-color:var(--bg-hover-dark, #334155)}.cell-context-menu-item.disabled{opacity:.5;cursor:not-allowed}.cell-context-menu-item svg{flex-shrink:0;color:var(--text-secondary, #64748b)}.dark .cell-context-menu-item svg{color:var(--text-secondary-dark, #94a3b8)}.cell-context-menu-item span:first-of-type{flex:1}.cell-context-menu-shortcut{font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--text-tertiary, #94a3b8);background-color:var(--bg-secondary, #f8fafc);padding:2px 6px;border-radius:4px;white-space:nowrap}.dark .cell-context-menu-shortcut{color:var(--text-tertiary-dark, #64748b);background-color:var(--bg-secondary-dark, #0f172a)}.cell-context-menu-item-danger{color:var(--error, #ef4444)}.cell-context-menu-item-danger:hover:not(.disabled){background-color:#ef44441a}.dark .cell-context-menu-item-danger:hover:not(.disabled){background-color:#ef444426}.cell-context-menu-item-danger svg{color:var(--error, #ef4444)}.cell-context-menu-footer{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:11px;color:var(--text-tertiary, #94a3b8);border-top:1px solid var(--border-primary, #e2e8f0);margin-top:4px}.dark .cell-context-menu-footer{color:var(--text-tertiary-dark, #64748b);border-top-color:var(--border-primary-dark, #334155)}@keyframes contextMenuIn{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.cell-context-menu.visible{animation:contextMenuIn .1s ease-out forwards}.cell-context-menu-item:focus-visible{box-shadow:inset 0 0 0 2px var(--primary, #3b82f6)}.cell-context-menu-item .count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;font-size:11px;font-weight:600;border-radius:9px;background-color:var(--primary, #3b82f6);color:#fff}.cell-context-menu-item.disabled .count-badge{background-color:var(--text-tertiary, #94a3b8)}@media (max-width: 768px){.cell-context-menu{min-width:200px}.cell-context-menu-shortcut{display:none}.cell-context-menu-item{padding:10px 12px}}.bulk-copy-modal{display:flex;flex-direction:column;gap:24px}.bulk-copy-steps{display:flex;align-items:center;justify-content:center;gap:0;padding:16px 0}.bulk-copy-step-indicator{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:12px;font-weight:600;background-color:var(--bg-tertiary, #f1f5f9);color:var(--text-tertiary, #94a3b8);transition:all .2s ease}.dark .bulk-copy-step-indicator{background-color:var(--bg-tertiary-dark, #0f172a);color:var(--text-tertiary-dark, #64748b)}.bulk-copy-step-indicator.active{background-color:var(--primary, #3b82f6);color:#fff}.bulk-copy-step-indicator.completed{background-color:var(--success, #10b981);color:#fff}.bulk-copy-step-connector{width:48px;height:2px;background-color:var(--border-color, #e2e8f0)}.dark .bulk-copy-step-connector{background-color:var(--border-color-dark, #475569)}.bulk-copy-content{min-height:300px}.bulk-copy-step{display:flex;flex-direction:column;gap:20px}.bulk-copy-step-header{display:flex;align-items:flex-start;gap:12px}.bulk-copy-step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;font-size:14px;font-weight:600;background-color:var(--primary-light, #eff6ff);color:var(--primary, #3b82f6);flex-shrink:0}.dark .bulk-copy-step-number{background-color:#3b82f633;color:var(--primary-light, #93c5fd)}.bulk-copy-step-number.completed{background-color:var(--success, #10b981);color:#fff}.bulk-copy-step-title h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .bulk-copy-step-title h3{color:var(--text-primary-dark, #f1f5f9)}.bulk-copy-step-title p{margin:4px 0 0;font-size:13px;color:var(--text-secondary, #64748b)}.dark .bulk-copy-step-title p{color:var(--text-secondary-dark, #94a3b8)}.bulk-copy-site-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;padding-right:4px}.bulk-copy-site-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .15s ease}.dark .bulk-copy-site-option{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.bulk-copy-site-option:hover{border-color:var(--primary, #3b82f6)}.bulk-copy-site-option.selected{background-color:var(--primary-light, #eff6ff);border-color:var(--primary, #3b82f6)}.dark .bulk-copy-site-option.selected{background-color:#3b82f626;border-color:var(--primary, #3b82f6)}.bulk-copy-site-option input[type=radio]{flex-shrink:0}.bulk-copy-site-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.bulk-copy-site-id{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .bulk-copy-site-id{color:var(--text-primary-dark, #f1f5f9)}.bulk-copy-site-address{font-size:12px;color:var(--text-secondary, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .bulk-copy-site-address{color:var(--text-secondary-dark, #94a3b8)}.bulk-copy-site-stage{font-size:11px;font-weight:500;color:var(--text-tertiary, #94a3b8);padding:4px 8px;background-color:var(--bg-tertiary, #f1f5f9);border-radius:4px;flex-shrink:0}.dark .bulk-copy-site-stage{color:var(--text-tertiary-dark, #64748b);background-color:var(--bg-tertiary-dark, #0f172a)}.bulk-copy-target-info{display:flex;align-items:center;gap:8px;padding:12px;background-color:var(--info-bg, #eff6ff);border-radius:8px;font-size:13px;color:var(--info-text, #1e40af)}.dark .bulk-copy-target-info{background-color:#3b82f626;color:var(--info-text-dark, #93c5fd)}.bulk-copy-field-categories{display:flex;flex-direction:column;gap:16px}.bulk-copy-field-category{border:1px solid var(--border-color, #e2e8f0);border-radius:8px;overflow:hidden}.dark .bulk-copy-field-category{border-color:var(--border-color-dark, #475569)}.bulk-copy-category-header{padding:10px 12px;background-color:var(--bg-tertiary, #f1f5f9);border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .bulk-copy-category-header{background-color:var(--bg-tertiary-dark, #0f172a);border-bottom-color:var(--border-color-dark, #475569)}.bulk-copy-category-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .bulk-copy-category-checkbox{color:var(--text-primary-dark, #f1f5f9)}.bulk-copy-category-count{font-weight:400;color:var(--text-tertiary, #94a3b8)}.dark .bulk-copy-category-count{color:var(--text-tertiary-dark, #64748b)}.bulk-copy-field-list{display:flex;flex-direction:column}.bulk-copy-field-option{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;transition:background-color .15s ease;border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .bulk-copy-field-option{border-bottom-color:var(--border-color-dark, #475569)}.bulk-copy-field-option:last-child{border-bottom:none}.bulk-copy-field-option:hover{background-color:var(--bg-hover, #f8fafc)}.dark .bulk-copy-field-option:hover{background-color:var(--bg-hover-dark, #334155)}.bulk-copy-field-option.selected{background-color:var(--primary-light, #eff6ff)}.dark .bulk-copy-field-option.selected{background-color:#3b82f61a}.bulk-copy-field-info{flex:1;display:flex;justify-content:space-between;align-items:center;gap:12px}.bulk-copy-field-name{font-size:13px;color:var(--text-primary, #1e293b)}.dark .bulk-copy-field-name{color:var(--text-primary-dark, #f1f5f9)}.bulk-copy-field-value{font-size:12px;color:var(--text-secondary, #64748b);font-family:monospace;background-color:var(--bg-tertiary, #f1f5f9);padding:2px 8px;border-radius:4px}.dark .bulk-copy-field-value{color:var(--text-secondary-dark, #94a3b8);background-color:var(--bg-tertiary-dark, #0f172a)}.bulk-copy-preview{padding:12px;background-color:var(--bg-tertiary, #f1f5f9);border-radius:8px}.dark .bulk-copy-preview{background-color:var(--bg-tertiary-dark, #0f172a)}.bulk-copy-preview h4{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.5px}.dark .bulk-copy-preview h4{color:var(--text-tertiary-dark, #64748b)}.bulk-copy-preview-summary{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;color:var(--text-primary, #1e293b)}.dark .bulk-copy-preview-summary{color:var(--text-primary-dark, #f1f5f9)}.bulk-copy-preview-summary span{display:flex;align-items:center;gap:4px}.bulk-copy-results{display:flex;flex-direction:column;gap:12px}.bulk-copy-result-item{display:flex;align-items:center;gap:12px;padding:16px;border-radius:8px;background-color:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0)}.dark .bulk-copy-result-item{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.bulk-copy-result-item.success{background-color:#10b9811a;border-color:var(--success, #10b981);color:var(--success, #10b981)}.dark .bulk-copy-result-item.success{background-color:#10b98126}.bulk-copy-result-item.error{background-color:#ef44441a;border-color:var(--error, #ef4444);color:var(--error, #ef4444)}.dark .bulk-copy-result-item.error{background-color:#ef444426}.bulk-copy-result-number{font-size:24px;font-weight:700}.bulk-copy-result-label{font-size:14px;font-weight:500}.bulk-copy-result-details{padding:16px;background-color:var(--bg-tertiary, #f1f5f9);border-radius:8px;font-size:13px;color:var(--text-secondary, #64748b)}.dark .bulk-copy-result-details{background-color:var(--bg-tertiary-dark, #0f172a);color:var(--text-secondary-dark, #94a3b8)}.bulk-copy-result-details p{margin:0}.bulk-copy-result-details strong{color:var(--text-primary, #1e293b)}.dark .bulk-copy-result-details strong{color:var(--text-primary-dark, #f1f5f9)}.bulk-copy-site-list::-webkit-scrollbar{width:6px}.bulk-copy-site-list::-webkit-scrollbar-track{background:transparent}.bulk-copy-site-list::-webkit-scrollbar-thumb{background:var(--border-color, #e2e8f0);border-radius:3px}.dark .bulk-copy-site-list::-webkit-scrollbar-thumb{background:var(--border-color-dark, #475569)}@media (max-width: 640px){.bulk-copy-site-option{flex-wrap:wrap}.bulk-copy-site-stage{width:100%;text-align:center;margin-top:8px}.bulk-copy-field-info{flex-direction:column;align-items:flex-start;gap:4px}}.bulk-copy-confirm-modal{display:flex;flex-direction:column;gap:16px;padding:8px 0}.bulk-copy-confirm-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 8px;border-radius:50%;background-color:#f59e0b1a;color:var(--warning, #f59e0b)}.dark .bulk-copy-confirm-icon{background-color:#f59e0b26}.bulk-copy-confirm-details{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background-color:var(--bg-secondary, #f8fafc);border-radius:8px}.dark .bulk-copy-confirm-details{background-color:var(--bg-secondary-dark, #0f172a)}.bulk-copy-confirm-field{display:flex;align-items:center;gap:8px}.bulk-copy-confirm-label{font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);min-width:50px}.dark .bulk-copy-confirm-label{color:var(--text-secondary-dark, #94a3b8)}.bulk-copy-confirm-value{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .bulk-copy-confirm-value{color:var(--text-primary-dark, #f1f5f9)}.bulk-copy-confirm-value.highlight{padding:2px 8px;background-color:var(--primary-bg, rgba(59, 130, 246, .1));border-radius:4px;color:var(--primary, #3b82f6)}.dark .bulk-copy-confirm-value.highlight{background-color:#3b82f626;color:var(--primary-dark, #60a5fa)}.bulk-copy-confirm-value em{font-style:italic;color:var(--text-tertiary, #94a3b8)}.bulk-copy-confirm-info,.bulk-copy-confirm-undo{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:8px;font-size:13px;line-height:1.5}.bulk-copy-confirm-info{background-color:var(--bg-secondary, #f8fafc);border:1px solid var(--border-primary, #e2e8f0)}.dark .bulk-copy-confirm-info{background-color:var(--bg-secondary-dark, #0f172a);border-color:var(--border-primary-dark, #334155)}.bulk-copy-confirm-info svg{flex-shrink:0;margin-top:2px;color:var(--primary, #3b82f6)}.bulk-copy-confirm-info p{margin:0;color:var(--text-primary, #1e293b)}.dark .bulk-copy-confirm-info p{color:var(--text-primary-dark, #f1f5f9)}.bulk-copy-confirm-undo{background-color:#10b9810d;border:1px solid rgba(16,185,129,.2)}.dark .bulk-copy-confirm-undo{background-color:#10b9811a;border-color:#10b98140}.bulk-copy-confirm-undo svg{flex-shrink:0;margin-top:2px;color:var(--success, #10b981)}.bulk-copy-confirm-undo p{margin:0;color:var(--text-secondary, #64748b)}.dark .bulk-copy-confirm-undo p{color:var(--text-secondary-dark, #94a3b8)}.bulk-copy-confirm-undo strong{color:var(--success, #10b981)}.pm-table-view{display:flex;flex-direction:column;height:100%;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;overflow:hidden}.dark .pm-table-view{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);box-shadow:0 1px 3px #0000004d}.pm-table-container{flex:1;overflow:auto}.pm-table{width:100%;border-collapse:collapse;font-size:13px}.pm-table thead{position:sticky;top:0;z-index:10}.pm-table-th{padding:12px 16px;font-size:11px;font-weight:600;color:var(--text-tertiary, #64748b);text-transform:uppercase;letter-spacing:.5px;text-align:left;background-color:var(--bg-tertiary, #f1f5f9);border-bottom:1px solid var(--border-color, #e2e8f0);white-space:nowrap}.dark .pm-table-th{color:var(--text-tertiary-dark, #94a3b8);background-color:var(--bg-tertiary-dark, #0f172a);border-bottom-color:var(--border-color-dark, #475569)}.pm-table-th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.pm-table-th.sortable:hover{background-color:var(--bg-hover, #e2e8f0)}.dark .pm-table-th.sortable:hover{background-color:var(--bg-hover-dark, #1e293b)}.pm-table-th span{display:inline-flex;align-items:center;gap:4px}.pm-table-th-checkbox{width:40px;padding:12px;text-align:center;background-color:var(--bg-tertiary, #f1f5f9);border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-table-th-checkbox{background-color:var(--bg-tertiary-dark, #0f172a);border-bottom-color:var(--border-color-dark, #475569)}.pm-table-row{transition:background-color .15s ease;cursor:pointer}.pm-table-row:hover{background-color:var(--bg-hover, #f8fafc)}.pm-table-row.selected{background-color:var(--primary-light, #eff6ff)}.dark .pm-table-row:hover{background-color:var(--bg-hover-dark, #1e293b)}.dark .pm-table-row.selected{background-color:#3b82f626}.pm-table-td{padding:10px 16px;color:var(--text-primary, #1e293b);border-bottom:1px solid var(--border-color, #e2e8f0);vertical-align:middle}.dark .pm-table-td{color:var(--text-primary-dark, #f1f5f9);border-bottom-color:var(--border-color-dark, #475569)}.pm-table-td-checkbox{width:40px;padding:10px 12px;text-align:center;border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-table-td-checkbox{border-bottom-color:var(--border-color-dark, #475569)}.pm-table-td-address{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-table-td-editable{padding:4px 8px;position:relative}.pm-table-td-editable .inline-edit-cell{margin:-4px -8px;min-height:28px}.pm-table-td-editable .inline-edit-cell:not(.editing){padding:4px 8px}.pm-table-td-editable .inline-edit-cell.editing{margin:-6px -10px;z-index:5}.pm-table-site-id{display:flex;align-items:center;gap:6px;font-weight:500}.pm-table-jurisdiction{display:flex;align-items:center;gap:6px}.pm-table-stage-badge{display:inline-block;padding:3px 8px;font-size:11px;font-weight:600;border-radius:4px;white-space:nowrap}.pm-table-health{display:flex;align-items:center;gap:6px;font-weight:500}.pm-table-days{font-weight:500}.pm-table-days.warning{color:#f59e0b}.pm-table-days.critical{color:#ef4444}.pm-table-constraints{display:flex;align-items:center;gap:4px;color:#f59e0b;font-weight:500}.pm-table-assignment{display:flex;align-items:center;gap:6px}.pm-table-date{display:flex;align-items:center;gap:6px;font-size:12px}.pm-table-empty{padding:48px 24px;text-align:center;color:var(--text-tertiary, #64748b);font-size:14px}.dark .pm-table-empty{color:var(--text-tertiary-dark, #94a3b8)}.pm-table-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;font-size:12px;color:var(--text-tertiary, #64748b);background-color:var(--bg-tertiary, #f1f5f9);border-top:1px solid var(--border-color, #e2e8f0)}.dark .pm-table-footer{color:var(--text-tertiary-dark, #94a3b8);background-color:var(--bg-tertiary-dark, #0f172a);border-top-color:var(--border-color-dark, #475569)}.pm-table input[type=checkbox]{width:16px;height:16px;cursor:pointer}@media (max-width: 1024px){.pm-table-td,.pm-table-th{padding:8px 12px}}@media (max-width: 768px){.pm-table{font-size:12px}.pm-table-td,.pm-table-th{padding:6px 10px}.pm-table-stage-badge{font-size:10px;padding:2px 6px}}.pm-table-toolbar{display:flex;align-items:center;gap:16px;padding:12px 16px;background-color:var(--bg-tertiary, #f1f5f9);border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-table-toolbar{background-color:var(--bg-tertiary-dark, #0f172a);border-bottom-color:var(--border-color-dark, #475569)}.pm-table-gap-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;color:var(--text-secondary, #475569);background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.pm-table-gap-toggle:hover{background-color:var(--bg-hover, #f8fafc);border-color:var(--text-tertiary, #94a3b8)}.pm-table-gap-toggle.active{color:#3b82f6;background-color:#3b82f61a;border-color:#3b82f6}.dark .pm-table-gap-toggle{color:var(--text-secondary-dark, #94a3b8);background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.dark .pm-table-gap-toggle:hover{background-color:var(--bg-hover-dark, #334155)}.dark .pm-table-gap-toggle.active{color:#60a5fa;background-color:#3b82f633;border-color:#60a5fa}.pm-table-column-config-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;color:var(--text-secondary, #475569);background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.pm-table-column-config-btn:hover{background-color:var(--bg-hover, #f8fafc);border-color:var(--text-tertiary, #94a3b8)}.dark .pm-table-column-config-btn{color:var(--text-secondary-dark, #94a3b8);background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.dark .pm-table-column-config-btn:hover{background-color:var(--bg-hover-dark, #334155)}.pm-table-export-btn{display:flex;align-items:center;justify-content:center;padding:6px 10px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease;color:var(--text-secondary, #475569)}.pm-table-export-btn:hover:not(:disabled){background-color:var(--bg-hover, #f8fafc);border-color:var(--text-tertiary, #94a3b8);color:var(--text-primary, #1e293b)}.pm-table-export-btn:disabled{opacity:.6;cursor:not-allowed}.dark .pm-table-export-btn{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.dark .pm-table-export-btn:hover:not(:disabled){background-color:var(--bg-hover-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}.pm-table-export-container{position:relative}.pm-table-export-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 10px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease;color:var(--text-secondary, #475569)}.pm-table-export-btn.export-success{background-color:#10b9811a;border-color:#10b981;color:#10b981}.pm-table-export-btn.export-error{background-color:#ef44441a;border-color:#ef4444;color:#ef4444}.dark .pm-table-export-btn.export-success{background-color:#10b98126;border-color:#34d399;color:#34d399}.dark .pm-table-export-btn.export-error{background-color:#ef444426;border-color:#f87171;color:#f87171}.pm-table-export-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:280px;background-color:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;box-shadow:0 10px 25px #0000001a;z-index:100;animation:exportDropdownIn .15s ease-out}@keyframes exportDropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dark .pm-table-export-dropdown{background-color:var(--bg-primary-dark, #0f172a);border-color:var(--border-color-dark, #334155);box-shadow:0 10px 25px #0006}.pm-table-export-dropdown-header{padding:12px 16px;border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-table-export-dropdown-header{border-bottom-color:var(--border-color-dark, #334155)}.pm-table-export-dropdown-title{display:block;font-weight:600;font-size:14px;color:var(--text-primary, #1e293b)}.dark .pm-table-export-dropdown-title{color:var(--text-primary-dark, #f1f5f9)}.pm-table-export-dropdown-subtitle{font-size:12px;color:var(--text-secondary, #64748b)}.dark .pm-table-export-dropdown-subtitle{color:var(--text-secondary-dark, #94a3b8)}.pm-table-export-options{padding:8px}.pm-table-export-option{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:background-color .15s}.pm-table-export-option:hover{background-color:var(--bg-hover, #f8fafc)}.dark .pm-table-export-option:hover{background-color:var(--bg-hover-dark, #1e293b)}.pm-table-export-option-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background-color:var(--bg-tertiary, #f1f5f9)}.dark .pm-table-export-option-icon{background-color:var(--bg-tertiary-dark, #1e293b)}.pm-table-export-option.excel .pm-table-export-option-icon{background-color:#10b9811a;color:#10b981}.pm-table-export-option.csv .pm-table-export-option-icon{background-color:#3b82f61a;color:#3b82f6}.pm-table-export-option.pdf .pm-table-export-option-icon{background-color:#ef44441a;color:#ef4444}.dark .pm-table-export-option.excel .pm-table-export-option-icon{background-color:#10b98126;color:#34d399}.dark .pm-table-export-option.csv .pm-table-export-option-icon{background-color:#3b82f626;color:#60a5fa}.dark .pm-table-export-option.pdf .pm-table-export-option-icon{background-color:#ef444426;color:#f87171}.pm-table-export-option-content{display:flex;flex-direction:column}.pm-table-export-option-label{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b)}.dark .pm-table-export-option-label{color:var(--text-primary-dark, #f1f5f9)}.pm-table-export-option-desc{font-size:11px;color:var(--text-secondary, #64748b)}.dark .pm-table-export-option-desc{color:var(--text-secondary-dark, #94a3b8)}.pm-table-export-divider{height:1px;margin:4px 12px;background-color:var(--border-color, #e2e8f0)}.dark .pm-table-export-divider{background-color:var(--border-color-dark, #334155)}.pm-table-export-settings-btn{display:flex;align-items:center;gap:10px;width:calc(100% - 16px);margin:8px;padding:10px 12px;background:none;border:1px dashed var(--primary, #3b82f6);border-radius:8px;color:var(--primary, #3b82f6);font-size:13px;cursor:pointer;transition:all .15s}.pm-table-export-settings-btn:hover{background-color:#3b82f60d}.dark .pm-table-export-settings-btn{border-color:var(--primary-light, #60a5fa);color:var(--primary-light, #60a5fa)}.dark .pm-table-export-settings-btn:hover{background-color:#3b82f61a}.pm-export-settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.pm-export-settings-modal{width:480px;max-height:80vh;background-color:var(--bg-primary, #ffffff);border-radius:12px;box-shadow:0 20px 50px #0003;overflow:hidden;display:flex;flex-direction:column}.dark .pm-export-settings-modal{background-color:var(--bg-primary-dark, #0f172a);box-shadow:0 20px 50px #00000080}.pm-export-settings-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-export-settings-header{border-bottom-color:var(--border-color-dark, #334155)}.pm-export-settings-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .pm-export-settings-header h3{color:var(--text-primary-dark, #f1f5f9)}.pm-export-settings-header button{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary, #64748b);padding:4px 8px;border-radius:4px;transition:all .15s}.pm-export-settings-header button:hover{background-color:var(--bg-hover, #f1f5f9);color:var(--text-primary, #1e293b)}.dark .pm-export-settings-header button{color:var(--text-secondary-dark, #94a3b8)}.dark .pm-export-settings-header button:hover{background-color:var(--bg-hover-dark, #1e293b);color:var(--text-primary-dark, #f1f5f9)}.pm-export-settings-content{padding:20px;overflow-y:auto}.pm-export-settings-section{margin-bottom:24px}.pm-export-settings-section:last-child{margin-bottom:0}.pm-export-settings-section h4{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .pm-export-settings-section h4{color:var(--text-primary-dark, #f1f5f9)}.pm-export-settings-hint{margin:0 0 12px;font-size:12px;color:var(--text-secondary, #64748b)}.dark .pm-export-settings-hint{color:var(--text-secondary-dark, #94a3b8)}.pm-export-settings-checkboxes{display:flex;flex-direction:column;gap:10px}.pm-export-settings-checkboxes label{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-primary, #1e293b);cursor:pointer}.dark .pm-export-settings-checkboxes label{color:var(--text-primary-dark, #f1f5f9)}.pm-export-settings-checkboxes input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary, #3b82f6);cursor:pointer}.pm-export-settings-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--border-color, #e2e8f0)}.dark .pm-export-settings-footer{border-top-color:var(--border-color-dark, #334155)}.pm-export-settings-reset{padding:8px 16px;background:none;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:13px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s}.pm-export-settings-reset:hover{background-color:var(--bg-hover, #f8fafc);border-color:var(--text-tertiary, #94a3b8);color:var(--text-primary, #1e293b)}.dark .pm-export-settings-reset{border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.dark .pm-export-settings-reset:hover{background-color:var(--bg-hover-dark, #1e293b);color:var(--text-primary-dark, #f1f5f9)}.pm-export-settings-done{padding:8px 20px;background-color:var(--primary, #3b82f6);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.pm-export-settings-done:hover{background-color:var(--primary-hover, #2563eb)}@media (max-width: 768px){.pm-table-export-dropdown{width:260px;right:-8px}.pm-export-settings-modal{width:calc(100% - 32px);margin:16px}}.pm-table-bulk-copy-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;color:var(--text-on-primary, #ffffff);background-color:var(--primary, #3b82f6);border:1px solid var(--primary, #3b82f6);border-radius:6px;cursor:pointer;transition:all .15s ease}.pm-table-bulk-copy-btn:hover{background-color:var(--primary-hover, #2563eb);border-color:var(--primary-hover, #2563eb)}.dark .pm-table-bulk-copy-btn{background-color:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6)}.dark .pm-table-bulk-copy-btn:hover{background-color:var(--primary-hover, #2563eb);border-color:var(--primary-hover, #2563eb)}.pm-table-init-pm-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;color:var(--text-on-primary, #ffffff);background-color:#10b981;border:1px solid #10b981;border-radius:6px;cursor:pointer;transition:all .15s ease}.pm-table-init-pm-btn:hover{background-color:#059669;border-color:#059669}.dark .pm-table-init-pm-btn{background-color:#10b981;border-color:#10b981}.dark .pm-table-init-pm-btn:hover{background-color:#059669;border-color:#059669}.pm-table-detect-utilities-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;color:var(--text-on-primary, #ffffff);background-color:#8b5cf6;border:1px solid #8b5cf6;border-radius:6px;cursor:pointer;transition:all .15s ease}.pm-table-detect-utilities-btn:hover{background-color:#7c3aed;border-color:#7c3aed}.pm-table-detect-utilities-btn:disabled{opacity:.6;cursor:not-allowed}.dark .pm-table-detect-utilities-btn{background-color:#8b5cf6;border-color:#8b5cf6}.dark .pm-table-detect-utilities-btn:hover{background-color:#7c3aed;border-color:#7c3aed}.pm-table-utility-progress{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;font-size:11px;font-weight:500;color:#8b5cf6;background-color:#8b5cf61a;border:1px solid rgba(139,92,246,.3);border-radius:6px}.pm-table-utility-progress-bar{width:80px;height:4px;background-color:#8b5cf626;border-radius:2px;overflow:hidden}.pm-table-utility-progress-fill{height:100%;background-color:#8b5cf6;border-radius:2px;transition:width .3s ease}.pm-table-utility-progress-text{font-variant-numeric:tabular-nums;min-width:50px;text-align:right}.dark .pm-table-utility-progress{color:#a78bfa;background-color:#8b5cf626;border-color:#8b5cf64d}.dark .pm-table-utility-progress-bar{background-color:#8b5cf633}.dark .pm-table-utility-progress-fill{background-color:#a78bfa}.pm-table-gap-summary{display:flex;align-items:center;gap:8px;margin-left:auto}.gap-stat-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;font-size:11px;font-weight:600;border-radius:9999px;border:2px solid transparent;cursor:pointer;transition:all .15s ease;outline:none}.gap-stat-btn:focus-visible{box-shadow:0 0 0 2px #3b82f680}.gap-stat-btn.ahead{color:#10b981;background-color:#10b9811f}.gap-stat-btn.ahead:hover{background-color:#10b98133}.gap-stat-btn.ahead.active{background-color:#10b98140;border-color:#10b981;box-shadow:0 0 0 1px #10b9814d}.gap-stat-btn.on-track{color:#6b7280;background-color:#6b72801f}.gap-stat-btn.on-track:hover{background-color:#6b728033}.gap-stat-btn.on-track.active{background-color:#6b728040;border-color:#6b7280;box-shadow:0 0 0 1px #6b72804d}.gap-stat-btn.at-risk{color:#f59e0b;background-color:#f59e0b1f}.gap-stat-btn.at-risk:hover{background-color:#f59e0b33}.gap-stat-btn.at-risk.active{background-color:#f59e0b40;border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b4d}.gap-stat-btn.critical{color:#ef4444;background-color:#ef44441f}.gap-stat-btn.critical:hover{background-color:#ef444433}.gap-stat-btn.critical.active{background-color:#ef444440;border-color:#ef4444;box-shadow:0 0 0 1px #ef44444d}.gap-stat-clear{display:inline-flex;align-items:center;padding:4px 10px;font-size:10px;font-weight:500;color:var(--text-tertiary, #64748b);background-color:transparent;border:1px solid var(--border-color, #e2e8f0);border-radius:9999px;cursor:pointer;transition:all .15s ease;margin-left:4px}.gap-stat-clear:hover{color:var(--text-secondary, #475569);background-color:var(--bg-hover, #f8fafc);border-color:var(--text-tertiary, #94a3b8)}.dark .gap-stat-clear{color:var(--text-tertiary-dark, #94a3b8);border-color:var(--border-color-dark, #475569)}.dark .gap-stat-clear:hover{color:var(--text-secondary-dark, #cbd5e1);background-color:var(--bg-hover-dark, #334155)}.dark .gap-stat-btn.ahead{color:#34d399;background-color:#34d39926}.dark .gap-stat-btn.ahead:hover{background-color:#34d39940}.dark .gap-stat-btn.ahead.active{background-color:#34d3994d;border-color:#34d399}.dark .gap-stat-btn.on-track{color:#9ca3af;background-color:#9ca3af26}.dark .gap-stat-btn.on-track:hover{background-color:#9ca3af40}.dark .gap-stat-btn.on-track.active{background-color:#9ca3af4d;border-color:#9ca3af}.dark .gap-stat-btn.at-risk{color:#fbbf24;background-color:#fbbf2426}.dark .gap-stat-btn.at-risk:hover{background-color:#fbbf2440}.dark .gap-stat-btn.at-risk.active{background-color:#fbbf244d;border-color:#fbbf24}.dark .gap-stat-btn.critical{color:#f87171;background-color:#f8717126}.dark .gap-stat-btn.critical:hover{background-color:#f8717140}.dark .gap-stat-btn.critical.active{background-color:#f871714d;border-color:#f87171}.pm-table-variance{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600}@media (max-width: 1024px){.pm-table-toolbar{flex-wrap:wrap;gap:8px}.pm-table-gap-summary{width:100%;margin-left:0;flex-wrap:wrap;justify-content:flex-start}}@media (max-width: 768px){.pm-table-gap-toggle{font-size:11px;padding:5px 10px}.gap-stat-btn{font-size:10px;padding:3px 8px}.gap-stat-clear{font-size:9px;padding:3px 6px}}.pm-table-th-expand{width:32px;padding:12px 8px;background-color:var(--bg-tertiary, #f1f5f9);border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-table-th-expand{background-color:var(--bg-tertiary-dark, #0f172a);border-bottom-color:var(--border-color-dark, #475569)}.pm-table-td-expand{width:32px;padding:8px;border-bottom:1px solid var(--border-color, #e2e8f0);vertical-align:middle}.dark .pm-table-td-expand{border-bottom-color:var(--border-color-dark, #475569)}.pm-table-expand-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-tertiary, #64748b);transition:all .2s ease}.pm-table-expand-btn:hover{background-color:var(--bg-hover, #f1f5f9);color:var(--text-secondary, #475569)}.pm-table-expand-btn.expanded{transform:rotate(90deg);color:var(--primary, #3b82f6)}.dark .pm-table-expand-btn{color:var(--text-tertiary-dark, #94a3b8)}.dark .pm-table-expand-btn:hover{background-color:var(--bg-hover-dark, #334155);color:var(--text-secondary-dark, #cbd5e1)}.dark .pm-table-expand-btn.expanded{color:var(--primary-light, #60a5fa)}.pm-table-row.expanded{background-color:var(--bg-hover, #f8fafc)}.dark .pm-table-row.expanded{background-color:var(--bg-hover-dark, #1e293b)}.pm-table-detail-row{background-color:var(--bg-tertiary, #f8fafc)}.pm-table-detail-row>td{padding:0;border-bottom:2px solid var(--border-color, #e2e8f0)}.dark .pm-table-detail-row{background-color:var(--bg-tertiary-dark, #0f172a)}.dark .pm-table-detail-row>td{border-bottom-color:var(--border-color-dark, #475569)}.pm-table-detail-panel{display:flex;flex-direction:column;background-color:var(--bg-secondary, #ffffff);border-left:3px solid var(--primary, #3b82f6);margin:0}.dark .pm-table-detail-panel{background-color:var(--bg-secondary-dark, #1e293b)}.pm-table-detail-tabs{display:flex;gap:2px;padding:12px 16px;background-color:var(--bg-tertiary, #f1f5f9);border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-table-detail-tabs{background-color:var(--bg-tertiary-dark, #0f172a);border-bottom-color:var(--border-color-dark, #475569)}.pm-table-detail-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;color:var(--text-secondary, #475569);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.pm-table-detail-tab:hover{background-color:var(--bg-hover, #e2e8f0);color:var(--text-primary, #1e293b)}.pm-table-detail-tab.active{background-color:var(--bg-secondary, #ffffff);color:var(--primary, #3b82f6);box-shadow:0 1px 2px #0000000d}.dark .pm-table-detail-tab{color:var(--text-secondary-dark, #94a3b8)}.dark .pm-table-detail-tab:hover{background-color:var(--bg-hover-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}.dark .pm-table-detail-tab.active{background-color:var(--bg-secondary-dark, #1e293b);color:var(--primary-light, #60a5fa);box-shadow:0 1px 2px #0000004d}.pm-table-detail-content{padding:0;min-height:200px;max-height:400px;overflow-y:auto}@media (max-width: 1024px){.pm-table-detail-tabs{padding:8px 12px;overflow-x:auto}.pm-table-detail-tab{padding:6px 10px;font-size:11px;white-space:nowrap}}@media (max-width: 768px){.pm-table-detail-content{max-height:300px}.pm-table-detail-tabs{gap:4px}.pm-table-detail-tab span{display:none}.pm-table-detail-tab{padding:8px}}.pm-table-carrier-code{display:inline-flex;align-items:center;padding:2px 8px;background-color:#8b5cf61a;color:#8b5cf6;border-radius:4px;font-size:12px;font-weight:500}.dark .pm-table-carrier-code{background-color:#8b5cf633;color:#a78bfa}.pm-table-progress{display:flex;align-items:center;gap:8px;width:100%;min-width:80px}.pm-table-progress-bar{position:relative;height:6px;flex:1;background-color:var(--bg-tertiary, #e2e8f0);border-radius:3px;overflow:hidden}.dark .pm-table-progress-bar{background-color:var(--bg-tertiary-dark, #334155)}.pm-table-progress-label{font-size:11px;font-weight:500;color:var(--text-secondary, #64748b);min-width:32px;text-align:right}.dark .pm-table-progress-label{color:var(--text-secondary-dark, #94a3b8)}.pm-table-link-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 6px;border-radius:11px;font-size:11px;font-weight:600}.pm-table-link-deliverables{background-color:#3b82f61a;color:#3b82f6}.dark .pm-table-link-deliverables{background-color:#3b82f633;color:#60a5fa}.pm-table-link-costs{background-color:#10b9811a;color:#10b981}.dark .pm-table-link-costs{background-color:#10b98133;color:#34d399}.pm-table-currency{font-family:SF Mono,Menlo,monospace;font-size:12px;font-weight:500;color:#10b981}.dark .pm-table-currency{color:#34d399}.pm-table-budget{display:flex;align-items:center;gap:6px}.pm-table-budget-indicator{width:8px;height:8px;border-radius:50%}.pm-table-budget-indicator.ok{background-color:#10b981}.pm-table-budget-indicator.warning{background-color:#f59e0b}.pm-table-budget-indicator.over-budget{background-color:#ef4444}.pm-table-settings-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;font-size:12px;color:var(--text-secondary, #475569);background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.pm-table-settings-btn:hover{background-color:var(--bg-hover, #f8fafc);border-color:var(--text-tertiary, #94a3b8);color:var(--text-primary, #1e293b)}.dark .pm-table-settings-btn{color:var(--text-secondary-dark, #94a3b8);background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.dark .pm-table-settings-btn:hover{background-color:var(--bg-hover-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}.pm-table-undo-toast{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-left:4px solid var(--success, #10b981);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:9999;animation:slideInUp .3s ease}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dark .pm-table-undo-toast{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);box-shadow:0 4px 12px #0006}.pm-table-undo-toast-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:#10b9811a;color:var(--success, #10b981);flex-shrink:0}.dark .pm-table-undo-toast-icon{background-color:#10b98133}.pm-table-undo-toast-content{flex:1;display:flex;flex-direction:column;gap:2px}.pm-table-undo-toast-title{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .pm-table-undo-toast-title{color:var(--text-primary-dark, #f1f5f9)}.pm-table-undo-toast-desc{font-size:13px;color:var(--text-secondary, #64748b)}.dark .pm-table-undo-toast-desc{color:var(--text-secondary-dark, #94a3b8)}.pm-table-undo-toast-desc strong{color:var(--primary, #3b82f6)}.dark .pm-table-undo-toast-desc strong{color:var(--primary-dark, #60a5fa)}.pm-table-undo-toast-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pm-table-undo-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;color:var(--primary, #3b82f6);background-color:#3b82f61a;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.pm-table-undo-btn:hover{background-color:#3b82f633}.dark .pm-table-undo-btn{color:var(--primary-dark, #60a5fa);background-color:#3b82f626}.dark .pm-table-undo-btn:hover{background-color:#3b82f640}.pm-table-undo-timer{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 6px;font-size:12px;font-weight:600;color:var(--text-tertiary, #94a3b8);background-color:var(--bg-tertiary, #f1f5f9);border-radius:4px}.dark .pm-table-undo-timer{color:var(--text-tertiary-dark, #94a3b8);background-color:var(--bg-tertiary-dark, #0f172a)}.pm-table-undo-dismiss{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;color:var(--text-tertiary, #94a3b8);background:none;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.pm-table-undo-dismiss:hover{color:var(--text-secondary, #64748b);background-color:var(--bg-hover, #f8fafc)}.dark .pm-table-undo-dismiss{color:var(--text-tertiary-dark, #64748b)}.dark .pm-table-undo-dismiss:hover{color:var(--text-secondary-dark, #94a3b8);background-color:var(--bg-hover-dark, #334155)}.pm-kanban-view{height:100%;overflow:hidden}.pm-kanban-board{display:flex;gap:12px;height:100%;padding:4px;overflow-x:auto}.pm-kanban-column{flex:0 0 260px;display:flex;flex-direction:column;background-color:var(--bg-tertiary, #f1f5f9);border-radius:10px;overflow:hidden}.dark .pm-kanban-column{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:12px;background-color:var(--bg-secondary, #ffffff);border-top:3px solid;border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-kanban-column-header{background-color:var(--bg-secondary-dark, #1e293b);border-bottom-color:var(--border-color-dark, #475569)}.pm-kanban-column-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .pm-kanban-column-title{color:var(--text-primary-dark, #f1f5f9)}.pm-kanban-column-dot{width:8px;height:8px;border-radius:50%}.pm-kanban-column-count{display:flex;align-items:center;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b)}.dark .pm-kanban-column-count{color:var(--text-secondary-dark, #94a3b8)}.pm-kanban-column-count .at-limit{color:#f59e0b}.pm-kanban-column-count .over-limit{color:#ef4444}.pm-kanban-wip-limit{color:var(--text-tertiary, #94a3b8)}.pm-kanban-column-content{flex:1;padding:8px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.pm-kanban-column-empty{padding:24px 12px;text-align:center;font-size:12px;color:var(--text-tertiary, #94a3b8)}.pm-kanban-card{padding:10px 12px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s ease}.pm-kanban-card:hover{border-color:var(--primary-color, #3b82f6);box-shadow:0 2px 8px #00000014}.pm-kanban-card.selected{border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.dark .pm-kanban-card{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);box-shadow:0 1px 3px #0000004d}.dark .pm-kanban-card:hover{border-color:var(--primary-color, #3b82f6);box-shadow:0 2px 8px #0003}.pm-kanban-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.pm-kanban-card-id{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .pm-kanban-card-id{color:var(--text-primary-dark, #f1f5f9)}.pm-kanban-card-id svg{color:var(--text-tertiary, #94a3b8)}.pm-kanban-card-health{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px}.pm-kanban-card-health.healthy{background-color:#10b98126;color:#10b981}.pm-kanban-card-health.warning{background-color:#f59e0b26;color:#f59e0b}.pm-kanban-card-health.critical{background-color:#ef444426;color:#ef4444}.pm-kanban-card-address{font-size:12px;color:var(--text-secondary, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:8px}.dark .pm-kanban-card-address{color:var(--text-secondary-dark, #94a3b8)}.pm-kanban-card-meta{display:flex;align-items:center;gap:12px}.pm-kanban-card-days{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-tertiary, #64748b)}.dark .pm-kanban-card-days{color:var(--text-tertiary-dark, #94a3b8)}.pm-kanban-card-constraints{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:500;color:#f59e0b}.pm-kanban-card-assignee{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background-color:var(--primary-color, #3b82f6);color:#fff;font-size:9px;font-weight:600;letter-spacing:-.02em;flex-shrink:0;margin-left:auto}.pm-kanban-card-unassigned{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background-color:var(--bg-tertiary, #f1f5f9);color:var(--text-tertiary, #94a3b8);flex-shrink:0;margin-left:auto}.dark .pm-kanban-card-unassigned{background-color:var(--bg-tertiary-dark, #334155);color:var(--text-tertiary-dark, #64748b)}.pm-kanban-drag-handle{cursor:grab;opacity:.4;transition:opacity .2s ease}.pm-kanban-card:hover .pm-kanban-drag-handle{opacity:.8}.pm-kanban-card.dragging{opacity:.5;transform:scale(.98);box-shadow:0 4px 12px #00000026}.pm-kanban-card[draggable=true]{cursor:grab}.pm-kanban-card[draggable=true]:active{cursor:grabbing}.pm-kanban-column-content.drop-target{background-color:#3b82f61a;border:2px dashed var(--primary-color, #3b82f6);border-radius:8px}.dark .pm-kanban-column-content.drop-target{background-color:#3b82f626}.pm-kanban-column-content.invalid-drop{background-color:#ef44440d;border:2px dashed #ef4444;border-radius:8px}.dark .pm-kanban-column-content.invalid-drop{background-color:#ef44441a}.pm-kanban-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pm-kanban-modal{background-color:var(--bg-secondary, #ffffff);border-radius:12px;width:90%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #0003}.dark .pm-kanban-modal{background-color:var(--bg-secondary-dark, #1e293b)}.pm-kanban-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-kanban-modal-header{border-bottom-color:var(--border-color-dark, #475569)}.pm-kanban-modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .pm-kanban-modal-header h3{color:var(--text-primary-dark, #f1f5f9)}.pm-kanban-modal-close{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-tertiary, #94a3b8);border-radius:4px;transition:all .2s ease}.pm-kanban-modal-close:hover{background-color:var(--bg-tertiary, #f1f5f9);color:var(--text-primary, #1e293b)}.dark .pm-kanban-modal-close:hover{background-color:var(--bg-tertiary-dark, #334155);color:var(--text-primary-dark, #f1f5f9)}.pm-kanban-modal-content{flex:1;overflow-y:auto;padding:20px}.pm-kanban-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px;color:var(--text-secondary, #64748b)}.dark .pm-kanban-modal-loading{color:var(--text-secondary-dark, #94a3b8)}.pm-kanban-modal-loading svg{color:var(--primary-color, #3b82f6)}.pm-kanban-modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:12px;color:#ef4444}.pm-kanban-modal-summary{background-color:var(--bg-tertiary, #f8fafc);border-radius:8px;padding:16px;margin-bottom:16px}.dark .pm-kanban-modal-summary{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-kanban-modal-site{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--text-primary, #1e293b)}.dark .pm-kanban-modal-site{color:var(--text-primary-dark, #f1f5f9)}.pm-kanban-modal-site svg{color:var(--text-tertiary, #94a3b8)}.pm-kanban-modal-site .text-secondary{color:var(--text-secondary, #64748b);font-size:13px;margin-left:4px}.dark .pm-kanban-modal-site .text-secondary{color:var(--text-secondary-dark, #94a3b8)}.pm-kanban-modal-transition{display:flex;align-items:center;gap:12px;justify-content:center}.pm-kanban-stage-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;color:#fff}.pm-kanban-arrow{font-size:18px;color:var(--text-tertiary, #94a3b8)}.pm-kanban-modal-status{margin-bottom:16px}.pm-kanban-status-success{display:flex;align-items:center;gap:10px;padding:12px 16px;background-color:#10b9811a;border-radius:8px;color:#10b981;font-weight:500}.pm-kanban-status-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background-color:#ef44441a;border-radius:8px;color:#ef4444;font-weight:500}.pm-kanban-requirements-list{margin-bottom:16px}.pm-kanban-requirements-list h4{font-size:13px;font-weight:600;color:var(--text-secondary, #64748b);margin-bottom:12px;text-transform:uppercase;letter-spacing:.02em}.dark .pm-kanban-requirements-list h4{color:var(--text-secondary-dark, #94a3b8)}.pm-kanban-requirements-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.pm-kanban-requirement{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background-color:var(--bg-tertiary, #f8fafc);border-radius:6px}.dark .pm-kanban-requirement{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-kanban-requirement svg{flex-shrink:0;margin-top:2px}.pm-kanban-requirement .text-success{color:#10b981}.pm-kanban-requirement .text-warning{color:#f59e0b}.pm-kanban-requirement .text-error{color:#ef4444}.pm-kanban-requirement-info{flex:1;min-width:0}.pm-kanban-requirement-name{display:block;font-size:13px;font-weight:500;color:var(--text-primary, #1e293b)}.dark .pm-kanban-requirement-name{color:var(--text-primary-dark, #f1f5f9)}.pm-kanban-requirement-desc{display:block;font-size:12px;color:var(--text-secondary, #64748b);margin-top:2px}.dark .pm-kanban-requirement-desc{color:var(--text-secondary-dark, #94a3b8)}.pm-kanban-requirement-status{font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;white-space:nowrap}.pm-kanban-requirement-status.met{background-color:#10b98126;color:#10b981}.pm-kanban-requirement-status.waived{background-color:#f59e0b26;color:#f59e0b}.pm-kanban-requirement-status.not_met{background-color:#ef444426;color:#ef4444}.pm-kanban-mandatory{font-weight:700}.pm-kanban-blocking-constraints h4{font-size:13px;font-weight:600;color:#ef4444;margin-bottom:12px}.pm-kanban-blocking-constraints ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.pm-kanban-constraint{display:flex;align-items:center;gap:10px;padding:10px 12px;background-color:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:6px}.pm-kanban-constraint svg{color:#ef4444;flex-shrink:0}.pm-kanban-constraint-title{flex:1;font-size:13px;color:var(--text-primary, #1e293b)}.dark .pm-kanban-constraint-title{color:var(--text-primary-dark, #f1f5f9)}.pm-kanban-constraint-severity{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:capitalize}.pm-kanban-constraint-severity.low{background-color:#64748b26;color:#64748b}.pm-kanban-constraint-severity.medium{background-color:#f59e0b26;color:#f59e0b}.pm-kanban-constraint-severity.high{background-color:#f9731626;color:#f97316}.pm-kanban-constraint-severity.critical{background-color:#ef444426;color:#ef4444}.pm-kanban-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color, #e2e8f0)}.dark .pm-kanban-modal-footer{border-top-color:var(--border-color-dark, #475569)}.pm-kanban-btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);color:var(--text-primary, #1e293b)}.pm-kanban-btn-secondary:hover:not(:disabled){background-color:var(--bg-secondary, #e2e8f0)}.pm-kanban-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.dark .pm-kanban-btn-secondary{background-color:var(--bg-tertiary-dark, #475569);border-color:var(--border-color-dark, #64748b);color:var(--text-primary-dark, #f1f5f9)}.dark .pm-kanban-btn-secondary:hover:not(:disabled){background-color:var(--bg-secondary-dark, #475569)}.pm-kanban-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;background-color:var(--primary-color, #3b82f6);border:none;color:#fff}.pm-kanban-btn-primary:hover:not(:disabled){background-color:var(--primary-hover, #2563eb)}.pm-kanban-btn-primary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 1024px){.pm-kanban-column{flex:0 0 220px}}@media (max-width: 768px){.pm-kanban-column{flex:0 0 200px}.pm-kanban-card{padding:8px 10px}.pm-kanban-modal{width:95%;max-height:90vh}}.pm-map-context-menu{position:fixed;z-index:10001;min-width:220px;max-width:300px;background-color:var(--bg-primary, #ffffff);border:1px solid var(--border-primary, #e2e8f0);border-radius:10px;box-shadow:0 10px 30px -5px #00000026,0 8px 12px -6px #0000001a;padding:6px 0;opacity:0;transform:scale(.95);transition:opacity .12s ease,transform .12s ease;pointer-events:none;font-family:system-ui,-apple-system,sans-serif}.pm-map-context-menu.visible{opacity:1;transform:scale(1);pointer-events:auto}.dark .pm-map-context-menu{background-color:var(--bg-primary-dark, #1e293b);border-color:var(--border-primary-dark, #334155);box-shadow:0 10px 30px -5px #0006,0 8px 12px -6px #0000004d}.pm-map-context-menu-header{display:flex;flex-direction:column;gap:6px;padding:10px 14px}.pm-map-context-menu-site-id{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .pm-map-context-menu-site-id{color:var(--text-primary-dark, #f1f5f9)}.pm-map-context-menu-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pm-map-context-menu-stage{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.pm-map-context-menu-jurisdiction{font-size:11px;color:var(--text-tertiary, #94a3b8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.dark .pm-map-context-menu-jurisdiction{color:var(--text-tertiary-dark, #64748b)}.pm-map-context-menu-divider{height:1px;background-color:var(--border-primary, #e2e8f0);margin:4px 0}.dark .pm-map-context-menu-divider{background-color:var(--border-primary-dark, #334155)}.pm-map-context-menu-group{padding:2px 0}.pm-map-context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;background:none;border:none;font-size:13px;color:var(--text-primary, #1e293b);cursor:pointer;transition:background-color .1s ease;text-align:left}.dark .pm-map-context-menu-item{color:var(--text-primary-dark, #f1f5f9)}.pm-map-context-menu-item:hover:not(.disabled){background-color:var(--bg-hover, #f1f5f9)}.dark .pm-map-context-menu-item:hover:not(.disabled){background-color:var(--bg-hover-dark, #334155)}.pm-map-context-menu-item:focus{outline:none;background-color:var(--bg-hover, #f1f5f9)}.dark .pm-map-context-menu-item:focus{background-color:var(--bg-hover-dark, #334155)}.pm-map-context-menu-item:focus-visible{box-shadow:inset 0 0 0 2px var(--primary, #3b82f6)}.pm-map-context-menu-item.disabled{opacity:.4;cursor:not-allowed}.pm-map-context-menu-item svg{flex-shrink:0;color:var(--text-secondary, #64748b)}.dark .pm-map-context-menu-item svg{color:var(--text-secondary-dark, #94a3b8)}.pm-map-context-menu-item span:first-of-type{flex:1}.pm-map-context-menu-item-warning{color:var(--warning, #f59e0b)}.pm-map-context-menu-item-warning svg{color:var(--warning, #f59e0b)}.pm-map-context-menu-item-warning:hover:not(.disabled){background-color:#f59e0b1a}.dark .pm-map-context-menu-item-warning:hover:not(.disabled){background-color:#f59e0b26}.pm-map-context-menu-shortcut{font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--text-tertiary, #94a3b8);background-color:var(--bg-secondary, #f8fafc);padding:2px 6px;border-radius:4px;white-space:nowrap}.dark .pm-map-context-menu-shortcut{color:var(--text-tertiary-dark, #64748b);background-color:var(--bg-secondary-dark, #0f172a)}.pm-map-context-menu-footer{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:11px;color:var(--text-tertiary, #94a3b8);border-top:1px solid var(--border-primary, #e2e8f0);margin-top:4px}.dark .pm-map-context-menu-footer{color:var(--text-tertiary-dark, #64748b);border-top-color:var(--border-primary-dark, #334155)}@keyframes pmMapContextMenuIn{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.pm-map-context-menu.visible{animation:pmMapContextMenuIn .12s ease-out forwards}@media (max-width: 768px){.pm-map-context-menu{min-width:200px}.pm-map-context-menu-shortcut{display:none}.pm-map-context-menu-item{padding:11px 14px}}@media (prefers-contrast: high){.pm-map-context-menu{border-width:2px}.pm-map-context-menu-item:focus-visible{box-shadow:inset 0 0 0 3px var(--primary, #3b82f6)}}@media (prefers-reduced-motion: reduce){.pm-map-context-menu{transition:opacity .01s;animation:none}.pm-map-context-menu.visible{opacity:1;transform:scale(1)}}.pm-map-view{position:relative;height:100%;min-height:500px;border-radius:12px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0)}.dark .pm-map-view{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);box-shadow:0 1px 3px #0000004d}.pm-map-controls{position:absolute;top:12px;left:12px;display:flex;gap:8px;z-index:10}.pm-map-control-group{display:flex;align-items:center;gap:6px;padding:6px 10px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;box-shadow:0 2px 4px #0000001a}.dark .pm-map-control-group{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.pm-map-control-label{font-size:12px;font-weight:500;color:var(--text-tertiary, #64748b)}.dark .pm-map-control-label{color:var(--text-tertiary-dark, #94a3b8)}.pm-map-control-buttons{display:flex;gap:2px}.pm-map-control-btn{padding:4px 10px;font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.pm-map-control-btn:hover{background-color:var(--bg-hover, #f1f5f9)}.pm-map-control-btn.active{background-color:var(--primary-color, #3b82f6);color:#fff}.dark .pm-map-control-btn{color:var(--text-secondary-dark, #94a3b8)}.dark .pm-map-control-btn:hover{background-color:var(--bg-hover-dark, #334155)}.pm-map-layers-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;box-shadow:0 2px 4px #0000001a;transition:all .15s ease}.pm-map-layers-btn:hover{background-color:var(--bg-hover, #f1f5f9)}.dark .pm-map-layers-btn{color:var(--text-secondary-dark, #94a3b8);background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.pm-map-container{position:relative;width:100%;height:100%;overflow:hidden;border-radius:12px}.pm-map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:linear-gradient(135deg,var(--bg-tertiary, #f1f5f9) 0%,var(--bg-secondary, #ffffff) 100%)}.dark .pm-map-placeholder{background:linear-gradient(135deg,var(--bg-tertiary-dark, #0f172a) 0%,var(--bg-secondary-dark, #1e293b) 100%)}.pm-map-placeholder-content{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-tertiary, #94a3b8)}.dark .pm-map-placeholder-content{color:var(--text-tertiary-dark, #64748b)}.pm-map-placeholder-text{font-size:16px;font-weight:500;color:var(--text-secondary, #64748b)}.dark .pm-map-placeholder-text{color:var(--text-secondary-dark, #94a3b8)}.pm-map-placeholder-count{font-size:13px;color:var(--text-tertiary, #94a3b8)}.pm-map-preview-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:400px;margin-top:24px;padding:16px}.pm-map-preview-marker{width:16px;height:16px;border-radius:50%;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0003}.pm-map-preview-marker:hover{transform:scale(1.3)}.pm-map-preview-marker.selected{transform:scale(1.4);box-shadow:0 0 0 3px #3b82f666}.pm-map-preview-more{display:flex;align-items:center;justify-content:center;padding:4px 12px;font-size:12px;color:var(--text-tertiary, #94a3b8);background-color:var(--bg-tertiary, #e2e8f0);border-radius:16px}.dark .pm-map-preview-more{background-color:var(--bg-tertiary-dark, #334155);color:var(--text-tertiary-dark, #94a3b8)}.pm-map-legend{position:absolute;top:12px;right:60px;width:200px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px;box-shadow:0 4px 12px #0000001a;z-index:10;overflow:visible}.dark .pm-map-legend{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.pm-map-legend-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);background-color:var(--bg-tertiary, #f1f5f9);border-bottom:1px solid var(--border-color, #e2e8f0)}.pm-map-legend-header-actions{display:flex;align-items:center;gap:8px}.pm-map-legend-clear-btn{width:auto!important;height:auto!important;padding:2px 8px;font-size:11px;font-weight:500;color:var(--primary-color, #3b82f6);background:var(--primary-color-light, #dbeafe);border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.pm-map-legend-clear-btn:hover{background:var(--primary-color, #3b82f6);color:#fff}.dark .pm-map-legend-header{color:var(--text-primary-dark, #f1f5f9);background-color:var(--bg-tertiary-dark, #0f172a);border-bottom-color:var(--border-color-dark, #475569)}.pm-map-legend-header button{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--text-tertiary, #94a3b8);background:transparent;border:none;border-radius:4px;cursor:pointer}.pm-map-legend-header button:hover{background-color:var(--bg-hover, #e2e8f0)}.pm-map-legend-section{padding:10px 12px;border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-map-legend-section{border-bottom-color:var(--border-color-dark, #475569)}.pm-map-legend-section:last-child{border-bottom:none}.pm-map-legend-title{font-size:10px;font-weight:600;color:var(--text-tertiary, #64748b);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.dark .pm-map-legend-title{color:var(--text-tertiary-dark, #94a3b8)}.pm-map-legend-item{display:flex;align-items:center;gap:8px;padding:4px 6px;margin:0 -6px;font-size:12px;position:relative;cursor:pointer;border-radius:4px;transition:background-color .15s ease}.pm-map-legend-item:hover{background-color:var(--bg-hover, #f1f5f9)}.pm-map-legend-item.active{background-color:var(--primary-color-light, #dbeafe)}.dark .pm-map-legend-item:hover{background-color:var(--bg-hover-dark, #334155)}.dark .pm-map-legend-item.active{background-color:#3b82f633}.pm-map-legend-tooltip{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);padding:6px 10px;background-color:var(--bg-primary, #1e293b);color:#fff;font-size:11px;border-radius:6px;white-space:nowrap;z-index:100;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;box-shadow:0 4px 12px #00000026;pointer-events:none}.pm-map-legend-tooltip:after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:var(--bg-primary, #1e293b)}.pm-map-legend-item:hover .pm-map-legend-tooltip{opacity:1;visibility:visible}.pm-map-legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.pm-map-legend-label{flex:1;color:var(--text-secondary, #475569)}.dark .pm-map-legend-label{color:var(--text-secondary-dark, #94a3b8)}.pm-map-legend-count{font-weight:500;color:var(--text-tertiary, #94a3b8)}.pm-map-legend-layer{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:12px;color:var(--text-secondary, #475569);cursor:pointer;transition:color .15s ease}.pm-map-legend-layer:hover{color:var(--text-primary, #1e293b)}.dark .pm-map-legend-layer{color:var(--text-secondary-dark, #94a3b8)}.dark .pm-map-legend-layer:hover{color:var(--text-primary-dark, #f1f5f9)}.pm-map-site-count{position:absolute;bottom:12px;left:12px;display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);box-shadow:0 2px 4px #0000001a;z-index:10}.dark .pm-map-site-count{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}@media (max-width: 768px){.pm-map-legend{width:180px;right:50px}.pm-map-controls{flex-wrap:wrap}.pm-map-legend-tooltip{right:auto;left:50%;top:100%;transform:translate(-50%);margin-top:4px}.pm-map-legend-tooltip:after{left:50%;top:auto;bottom:100%;transform:translate(-50%);border-left-color:transparent;border-bottom-color:var(--bg-primary, #1e293b)}}.pm-gantt-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.pm-gantt-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--bg-secondary, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-gantt-toolbar{background-color:var(--bg-secondary-dark, #1e293b);border-bottom-color:var(--border-color-dark, #475569)}.pm-gantt-nav{display:flex;align-items:center;gap:8px}.pm-gantt-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s ease}.pm-gantt-nav-btn:hover{background-color:var(--bg-hover, #f1f5f9);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.dark .pm-gantt-nav-btn{border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.dark .pm-gantt-nav-btn:hover{background-color:var(--bg-hover-dark, #334155)}.pm-gantt-today-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.pm-gantt-today-btn:hover{background-color:var(--bg-hover, #f1f5f9);color:var(--primary-color, #3b82f6)}.dark .pm-gantt-today-btn{border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.dark .pm-gantt-today-btn:hover{background-color:var(--bg-hover-dark, #334155)}.pm-gantt-scale{display:flex;gap:2px;padding:4px;background-color:var(--bg-tertiary, #f1f5f9);border-radius:8px}.dark .pm-gantt-scale{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-gantt-scale-btn{padding:6px 14px;font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.pm-gantt-scale-btn:hover{color:var(--text-primary, #1e293b)}.pm-gantt-scale-btn.active{background-color:var(--bg-secondary, #ffffff);color:var(--primary-color, #3b82f6);box-shadow:0 1px 3px #0000001a}.dark .pm-gantt-scale-btn{color:var(--text-secondary-dark, #94a3b8)}.dark .pm-gantt-scale-btn:hover{color:var(--text-primary-dark, #f1f5f9)}.dark .pm-gantt-scale-btn.active{background-color:var(--bg-secondary-dark, #1e293b)}.pm-gantt-container{flex:1;overflow:auto;background-color:var(--bg-secondary, #ffffff)}.dark .pm-gantt-container{background-color:var(--bg-secondary-dark, #1e293b)}.pm-gantt-header{display:flex;position:sticky;top:0;z-index:10;background-color:var(--bg-tertiary, #f1f5f9);border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-gantt-header{background-color:var(--bg-tertiary-dark, #0f172a);border-bottom-color:var(--border-color-dark, #475569)}.pm-gantt-label-header{flex:0 0 200px;padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.5px;border-right:1px solid var(--border-color, #e2e8f0)}.dark .pm-gantt-label-header{color:var(--text-secondary-dark, #94a3b8);border-right-color:var(--border-color-dark, #475569)}.pm-gantt-dates-header{flex:1;display:flex}.pm-gantt-date-col{flex:1;padding:12px 8px;font-size:11px;font-weight:600;color:var(--text-tertiary, #94a3b8);text-align:center;border-right:1px solid var(--border-color, #e2e8f0)}.pm-gantt-date-col:last-child{border-right:none}.dark .pm-gantt-date-col{color:var(--text-tertiary-dark, #64748b);border-right-color:var(--border-color-dark, #475569)}.pm-gantt-body{min-height:300px}.pm-gantt-row{display:flex;border-bottom:1px solid var(--border-color, #e2e8f0);cursor:pointer;transition:background-color .15s ease}.pm-gantt-row:hover{background-color:var(--bg-hover, #f8fafc)}.pm-gantt-row.selected{background-color:#3b82f614}.dark .pm-gantt-row{border-bottom-color:var(--border-color-dark, #475569)}.dark .pm-gantt-row:hover{background-color:var(--bg-hover-dark, rgba(51, 65, 85, .5))}.dark .pm-gantt-row.selected{background-color:#3b82f626}.pm-gantt-label{flex:0 0 200px;display:flex;flex-direction:column;justify-content:center;padding:8px 16px;border-right:1px solid var(--border-color, #e2e8f0)}.dark .pm-gantt-label{border-right-color:var(--border-color-dark, #475569)}.pm-gantt-site-id{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:2px}.dark .pm-gantt-site-id{color:var(--text-primary-dark, #f1f5f9)}.pm-gantt-site-stage{font-size:11px;color:var(--text-tertiary, #94a3b8)}.dark .pm-gantt-site-stage{color:var(--text-tertiary-dark, #64748b)}.pm-gantt-timeline{flex:1;position:relative;display:flex;min-height:48px}.pm-gantt-grid-line{flex:1;border-right:1px solid var(--border-color, #e2e8f0)}.pm-gantt-grid-line:last-child{border-right:none}.dark .pm-gantt-grid-line{border-right-color:var(--border-color-dark, #475569)}.pm-gantt-bar{position:absolute;top:50%;transform:translateY(-50%);height:24px;min-width:60px;display:flex;align-items:center;padding:0 8px;border-radius:4px;overflow:hidden;transition:all .2s ease}.pm-gantt-bar:hover{filter:brightness(1.1);box-shadow:0 2px 6px #00000026}.pm-gantt-bar-label{font-size:10px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.2)}.pm-gantt-bar.blocked{background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(255,255,255,.1) 4px,rgba(255,255,255,.1) 8px)}.pm-gantt-blocked-icon{width:12px;height:12px;color:#ef4444;margin-left:4px;flex-shrink:0}.pm-gantt-milestone{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:5;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background-color:var(--milestone-bg, #8b5cf6);border:2px solid white;border-radius:4px;padding:0;box-shadow:0 2px 4px #0003;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.pm-gantt-milestone:hover{transform:translate(-50%,-50%) scale(1.15);z-index:10;box-shadow:0 4px 8px #00000040}.pm-gantt-milestone:focus{outline:none}.pm-gantt-milestone:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px;z-index:10}.pm-gantt-milestone:active{transform:translate(-50%,-50%) scale(1.05)}.dark .pm-gantt-milestone{border-color:var(--bg-secondary-dark, #1e293b)}.pm-gantt-today-line{position:absolute;top:0;bottom:0;width:2px;background-color:#ef4444;z-index:4;pointer-events:none}.pm-gantt-today-line:after{content:"Today";position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:9px;font-weight:600;color:#ef4444;white-space:nowrap;padding:2px 6px;background-color:var(--bg-secondary, #ffffff);border-radius:4px}.dark .pm-gantt-today-line:after{background-color:var(--bg-secondary-dark, #1e293b)}.pm-gantt-empty{display:flex;align-items:center;justify-content:center;padding:48px;font-size:14px;color:var(--text-tertiary, #94a3b8)}.dark .pm-gantt-empty{color:var(--text-tertiary-dark, #64748b)}.pm-gantt-legend{background-color:var(--bg-secondary, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);transition:max-height .2s ease}.dark .pm-gantt-legend{background-color:var(--bg-secondary-dark, #1e293b);border-bottom-color:var(--border-color-dark, #475569)}.pm-gantt-legend-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;background:transparent;border:none;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:background-color .15s ease}.pm-gantt-legend-toggle:hover{background-color:var(--bg-hover, #f1f5f9)}.dark .pm-gantt-legend-toggle{color:var(--text-secondary-dark, #94a3b8)}.dark .pm-gantt-legend-toggle:hover{background-color:var(--bg-hover-dark, #334155)}.pm-gantt-legend-chevron{margin-left:auto;transition:transform .2s ease}.pm-gantt-legend-chevron.rotated{transform:rotate(-90deg)}.pm-gantt-legend-content{display:flex;flex-wrap:wrap;gap:24px;padding:0 16px 12px;max-height:120px;overflow-y:auto}.pm-gantt-legend-section{display:flex;flex-direction:column;gap:8px}.pm-gantt-legend-section-title{font-size:11px;font-weight:600;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.5px}.dark .pm-gantt-legend-section-title{color:var(--text-tertiary-dark, #64748b)}.pm-gantt-legend-items{display:flex;flex-wrap:wrap;gap:12px}.pm-gantt-legend-item{display:flex;align-items:center;gap:6px;padding:4px 8px;background-color:var(--bg-tertiary, #f8fafc);border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .15s ease}.pm-gantt-legend-item:hover{background-color:var(--bg-hover, #f1f5f9);border-color:var(--border-color, #e2e8f0)}.pm-gantt-legend-item.active{background-color:#3b82f61a;border-color:var(--primary-color, #3b82f6)}.pm-gantt-legend-item.active:hover{background-color:#3b82f626}.pm-gantt-legend-item.status-item{cursor:default}.pm-gantt-legend-item.status-item:hover{background-color:var(--bg-tertiary, #f8fafc);border-color:transparent}.dark .pm-gantt-legend-item{background-color:var(--bg-tertiary-dark, #0f172a)}.dark .pm-gantt-legend-item:hover{background-color:var(--bg-hover-dark, #334155);border-color:var(--border-color-dark, #475569)}.dark .pm-gantt-legend-item.active{background-color:#3b82f633;border-color:var(--primary-color, #3b82f6)}.dark .pm-gantt-legend-item.status-item:hover{background-color:var(--bg-tertiary-dark, #0f172a);border-color:transparent}.pm-gantt-legend-clear{padding:4px 10px;font-size:12px;font-weight:500;color:var(--primary-color, #3b82f6);background:transparent;border:1px solid var(--primary-color, #3b82f6);border-radius:4px;cursor:pointer;transition:all .15s ease}.pm-gantt-legend-clear:hover{background-color:var(--primary-color, #3b82f6);color:#fff}.dark .pm-gantt-legend-clear{color:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6)}.dark .pm-gantt-legend-clear:hover{background-color:var(--primary-color, #3b82f6);color:#fff}.pm-gantt-legend-icon{display:flex;align-items:center;justify-content:center}.pm-gantt-legend-status-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.pm-gantt-legend-label{font-size:12px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap}.dark .pm-gantt-legend-label{color:var(--text-primary-dark, #f1f5f9)}.pm-gantt-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background-color:var(--bg-secondary, #ffffff);border-top:1px solid var(--border-color, #e2e8f0)}.dark .pm-gantt-pagination{background-color:var(--bg-secondary-dark, #1e293b);border-top-color:var(--border-color-dark, #475569)}.pm-gantt-pagination-info{display:flex;align-items:center;gap:16px}.pm-gantt-pagination-range{font-size:13px;color:var(--text-secondary, #64748b)}.dark .pm-gantt-pagination-range{color:var(--text-secondary-dark, #94a3b8)}.pm-gantt-pagination-size{display:flex;align-items:center;gap:8px}.pm-gantt-pagination-size label{font-size:12px;color:var(--text-tertiary, #94a3b8)}.dark .pm-gantt-pagination-size label{color:var(--text-tertiary-dark, #64748b)}.pm-gantt-page-size-select{padding:4px 8px;font-size:12px;color:var(--text-primary, #1e293b);background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:4px;cursor:pointer;transition:border-color .15s ease}.pm-gantt-page-size-select:hover{border-color:var(--primary-color, #3b82f6)}.pm-gantt-page-size-select:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.dark .pm-gantt-page-size-select{color:var(--text-primary-dark, #f1f5f9);background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.pm-gantt-pagination-nav{display:flex;align-items:center;gap:12px}.pm-gantt-pagination-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.pm-gantt-pagination-btn:hover:not(:disabled){background-color:var(--bg-hover, #f1f5f9);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.pm-gantt-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.dark .pm-gantt-pagination-btn{color:var(--text-secondary-dark, #94a3b8);border-color:var(--border-color-dark, #475569)}.dark .pm-gantt-pagination-btn:hover:not(:disabled){background-color:var(--bg-hover-dark, #334155)}.pm-gantt-pagination-pages{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);min-width:100px;text-align:center}.dark .pm-gantt-pagination-pages{color:var(--text-primary-dark, #f1f5f9)}.pm-gantt-pagination-hint{font-size:11px;color:var(--text-tertiary, #94a3b8)}.dark .pm-gantt-pagination-hint{color:var(--text-tertiary-dark, #64748b)}@media (max-width: 1024px){.pm-gantt-label-header,.pm-gantt-label{flex:0 0 160px}}@media (max-width: 768px){.pm-gantt-toolbar{flex-direction:column;gap:12px;align-items:flex-start}.pm-gantt-label-header,.pm-gantt-label{flex:0 0 120px}.pm-gantt-date-col{font-size:10px;padding:8px 4px}.pm-gantt-legend-content{flex-direction:column;gap:16px}.pm-gantt-legend-items{gap:8px}.pm-gantt-pagination{flex-direction:column;gap:12px;align-items:flex-start}.pm-gantt-pagination-info{flex-direction:column;gap:8px;align-items:flex-start}.pm-gantt-pagination-nav{width:100%;justify-content:center}.pm-gantt-pagination-hint{display:none}}.pm-aging-view{display:flex;flex-direction:column;height:100%;padding:16px;overflow:auto}.pm-aging-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-aging-header{border-bottom-color:var(--border-color-dark, #475569)}.pm-aging-stats{display:flex;gap:24px}.pm-aging-stat{display:flex;align-items:center;gap:8px;color:var(--text-secondary, #64748b)}.dark .pm-aging-stat{color:var(--text-secondary-dark, #94a3b8)}.pm-aging-stat.warning{color:#f59e0b}.pm-aging-stat-value{font-size:20px;font-weight:700;color:var(--text-primary, #1e293b)}.dark .pm-aging-stat-value{color:var(--text-primary-dark, #f1f5f9)}.pm-aging-stat.warning .pm-aging-stat-value{color:#f59e0b}.pm-aging-stat-label{font-size:12px;font-weight:500}.pm-aging-controls{display:flex;align-items:center;gap:12px}.pm-aging-control-label{font-size:13px;font-weight:500;color:var(--text-tertiary, #64748b)}.dark .pm-aging-control-label{color:var(--text-tertiary-dark, #94a3b8)}.pm-aging-control-buttons{display:flex;gap:2px;padding:4px;background-color:var(--bg-tertiary, #f1f5f9);border-radius:8px}.dark .pm-aging-control-buttons{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-aging-control-btn{padding:6px 14px;font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.pm-aging-control-btn:hover{color:var(--text-primary, #1e293b)}.pm-aging-control-btn.active{background-color:var(--bg-secondary, #ffffff);color:var(--primary-color, #3b82f6);box-shadow:0 1px 3px #0000001a}.dark .pm-aging-control-btn{color:var(--text-secondary-dark, #94a3b8)}.dark .pm-aging-control-btn:hover{color:var(--text-primary-dark, #f1f5f9)}.dark .pm-aging-control-btn.active{background-color:var(--bg-secondary-dark, #1e293b)}.pm-aging-legend{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:12px 16px;background-color:var(--bg-tertiary, #f8fafc);border-radius:8px}.dark .pm-aging-legend{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-aging-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary, #64748b)}.dark .pm-aging-legend-item{color:var(--text-secondary-dark, #94a3b8)}.pm-aging-legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.pm-aging-groups{display:flex;flex-direction:column;gap:16px}.pm-aging-group{padding:16px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px}.dark .pm-aging-group{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);box-shadow:0 1px 3px #0000004d}.pm-aging-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pm-aging-group-name{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .pm-aging-group-name{color:var(--text-primary-dark, #f1f5f9)}.pm-aging-group-count{font-size:12px;color:var(--text-tertiary, #94a3b8)}.dark .pm-aging-group-count{color:var(--text-tertiary-dark, #64748b)}.pm-aging-bar{display:flex;height:24px;border-radius:4px;overflow:hidden;background-color:var(--bg-tertiary, #f1f5f9)}.dark .pm-aging-bar{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-aging-bar-segment{height:100%;transition:all .2s ease;cursor:pointer;position:relative}.pm-aging-bar-segment.clickable{cursor:pointer}.pm-aging-bar-segment:hover{filter:brightness(1.15);transform:scaleY(1.1)}.pm-aging-bar-segment:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px;z-index:1}.pm-aging-bar-segment:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px;z-index:1}.pm-aging-bar-segment:active{transform:scaleY(1.05)}.pm-aging-bar-segment:not(:last-child){border-right:1px solid rgba(255,255,255,.3)}.pm-aging-bucket-counts{display:flex;gap:12px;margin-top:8px;justify-content:flex-end}.pm-aging-bucket-count{font-size:12px;font-weight:600}.pm-aging-empty{display:flex;align-items:center;justify-content:center;padding:48px;font-size:14px;color:var(--text-tertiary, #94a3b8);background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px}.dark .pm-aging-empty{color:var(--text-tertiary-dark, #64748b);background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}@media (max-width: 768px){.pm-aging-header{flex-direction:column;gap:16px;align-items:flex-start}.pm-aging-stats{flex-wrap:wrap;gap:16px}.pm-aging-legend{gap:12px}.pm-aging-legend-item{font-size:11px}}@media (max-width: 480px){.pm-aging-view{padding:12px}.pm-aging-stats{gap:12px}.pm-aging-stat-value{font-size:16px}.pm-aging-stat-label{font-size:11px}.pm-aging-group{padding:12px}}.pm-aging-legend-hint{margin-left:auto;font-size:11px;font-style:italic;color:var(--text-tertiary, #94a3b8)}.dark .pm-aging-legend-hint{color:var(--text-tertiary-dark, #64748b)}.pm-aging-bucket-count-btn{font-size:14px;font-weight:700;padding:4px 8px;background:transparent;border:none;cursor:pointer;border-radius:4px;transition:all .2s ease}.pm-aging-bucket-count-btn:hover{background:var(--bg-tertiary, #f1f5f9);transform:scale(1.1)}.dark .pm-aging-bucket-count-btn:hover{background:var(--bg-tertiary-dark, #0f172a)}.pm-aging-bucket-count-btn:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:1px}.pm-aging-modal-color-bar{height:4px;border-radius:2px;margin:16px 0}.pm-aging-sites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;max-height:calc(60vh - 100px);min-height:200px;overflow-y:auto;padding:4px}.pm-aging-sites-grid::-webkit-scrollbar{width:6px}.pm-aging-sites-grid::-webkit-scrollbar-track{background:transparent}.pm-aging-sites-grid::-webkit-scrollbar-thumb{background:var(--border-color, #e2e8f0);border-radius:3px}.dark .pm-aging-sites-grid::-webkit-scrollbar-thumb{background:var(--border-color-dark, #334155)}.pm-aging-site-card{display:flex;flex-direction:column;padding:12px;background:var(--bg-tertiary, #f8fafc);border-radius:8px;border-left:3px solid;transition:all .2s ease;gap:8px}.dark .pm-aging-site-card{background:var(--bg-tertiary-dark, #1e293b)}.pm-aging-site-card:hover{box-shadow:0 2px 8px #0000001a}.dark .pm-aging-site-card:hover{box-shadow:0 2px 8px #0000004d}.pm-aging-site-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.pm-aging-site-info{display:flex;align-items:center;gap:6px;overflow:hidden}.pm-aging-site-name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .pm-aging-site-name{color:var(--text-primary-dark, #f1f5f9)}.pm-aging-site-details{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--text-secondary, #64748b)}.dark .pm-aging-site-details{color:var(--text-secondary-dark, #94a3b8)}.pm-aging-site-detail{display:flex;align-items:center;gap:4px}.pm-aging-site-detail.warning{color:#f59e0b}.pm-aging-site-stage{font-weight:500;color:var(--text-tertiary, #64748b)}.dark .pm-aging-site-stage{color:var(--text-tertiary-dark, #94a3b8)}.pm-aging-site-actions{display:flex;gap:8px;margin-top:4px;padding-top:8px;border-top:1px solid var(--border-color, #e2e8f0)}.dark .pm-aging-site-actions{border-top-color:var(--border-color-dark, #475569)}.pm-aging-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 10px;font-size:11px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;text-decoration:none;border:none}.pm-aging-action-btn.secondary{background:var(--bg-secondary, #ffffff);color:var(--text-secondary, #475569);border:1px solid var(--border-color, #e2e8f0)}.dark .pm-aging-action-btn.secondary{background:var(--bg-secondary-dark, #0f172a);color:var(--text-secondary-dark, #94a3b8);border-color:var(--border-color-dark, #475569)}.pm-aging-action-btn.secondary:hover{background:var(--bg-tertiary, #f1f5f9);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.dark .pm-aging-action-btn.secondary:hover{background:var(--bg-tertiary-dark, #1e293b)}.pm-aging-action-btn.primary{background:var(--primary-color, #3b82f6);color:#fff}.pm-aging-action-btn.primary:hover{background:var(--primary-color-dark, #2563eb)}.pm-aging-action-btn.primary:disabled{background:var(--text-tertiary, #94a3b8);cursor:not-allowed;opacity:.6}.pm-aging-action-btn:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}@media (max-width: 640px){.pm-aging-sites-grid{grid-template-columns:1fr}.pm-aging-site-details{flex-direction:column;gap:6px}.pm-aging-site-actions{flex-direction:column}.pm-aging-action-btn{width:100%}}.pm-pivot-view{display:flex;flex-direction:column;height:100%;padding:16px;gap:16px}.pm-pivot-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.pm-pivot-presets{display:flex;align-items:center;gap:12px}.pm-pivot-label{font-size:12px;font-weight:500;color:var(--text-tertiary, #64748b)}.dark .pm-pivot-label{color:var(--text-tertiary-dark, #94a3b8)}.pm-pivot-preset-buttons{display:flex;gap:4px}.pm-pivot-preset-btn{padding:6px 12px;font-size:12px;font-weight:500;color:var(--text-secondary, #475569);background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.pm-pivot-preset-btn:hover{background-color:var(--bg-secondary, #ffffff);border-color:var(--primary-color, #3b82f6)}.pm-pivot-preset-btn.active{background-color:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6);color:#fff}.dark .pm-pivot-preset-btn{color:var(--text-secondary-dark, #94a3b8);background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.dark .pm-pivot-preset-btn:hover{background-color:var(--bg-secondary-dark, #1e293b)}.dark .pm-pivot-preset-btn.active{background-color:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6);color:#fff}.pm-pivot-actions{display:flex;gap:8px}.pm-pivot-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;color:var(--text-secondary, #475569);cursor:pointer;transition:all .15s ease}.pm-pivot-action-btn:hover{background-color:var(--bg-secondary, #ffffff);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.dark .pm-pivot-action-btn{background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.dark .pm-pivot-action-btn:hover{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.pm-pivot-config-panel{display:flex;gap:16px;padding:12px 16px;background-color:var(--bg-tertiary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px}.dark .pm-pivot-config-panel{background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.pm-pivot-config-section{display:flex;flex-direction:column;gap:4px}.pm-pivot-config-label{font-size:11px;font-weight:500;color:var(--text-tertiary, #64748b);text-transform:uppercase;letter-spacing:.5px}.dark .pm-pivot-config-label{color:var(--text-tertiary-dark, #94a3b8)}.pm-pivot-config-select{min-width:140px;padding:6px 8px;font-size:13px;color:var(--text-primary, #1e293b);background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer}.pm-pivot-config-select:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.dark .pm-pivot-config-select{color:var(--text-primary-dark, #f1f5f9);background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.pm-pivot-table-container{flex:1;overflow:auto;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;background-color:var(--bg-secondary, #ffffff)}.dark .pm-pivot-table-container{border-color:var(--border-color-dark, #475569);background-color:var(--bg-secondary-dark, #1e293b);box-shadow:0 1px 3px #0000004d}.pm-pivot-table{width:100%;border-collapse:collapse;font-size:13px}.pm-pivot-header-cell{position:sticky;top:0;padding:10px 12px;background-color:var(--bg-tertiary, #f1f5f9);border-bottom:1px solid var(--border-color, #e2e8f0);font-weight:600;color:var(--text-secondary, #475569);text-align:center;white-space:nowrap;z-index:2}.pm-pivot-header-cell.pm-pivot-corner{position:sticky;left:0;z-index:3;text-align:left;font-size:11px}.pm-pivot-header-cell.pm-pivot-total-header{background-color:var(--bg-tertiary, #e2e8f0);font-weight:700}.dark .pm-pivot-header-cell{background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.dark .pm-pivot-header-cell.pm-pivot-total-header{background-color:var(--bg-secondary-dark, #1e293b)}.pm-pivot-header-content{display:flex;align-items:center;justify-content:center;gap:6px}.pm-pivot-color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pm-pivot-row-header{position:sticky;left:0;padding:10px 12px;background-color:var(--bg-tertiary, #f1f5f9);border-right:1px solid var(--border-color, #e2e8f0);border-bottom:1px solid var(--border-color, #e2e8f0);font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;z-index:1}.pm-pivot-row-header.pm-pivot-total-header{font-weight:700;background-color:var(--bg-tertiary, #e2e8f0)}.dark .pm-pivot-row-header{background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.dark .pm-pivot-row-header.pm-pivot-total-header{background-color:var(--bg-secondary-dark, #1e293b)}.pm-pivot-row-header-content{display:flex;align-items:center;gap:8px}.pm-pivot-cell{padding:10px 12px;text-align:center;border-bottom:1px solid var(--border-color, #e2e8f0);border-right:1px solid var(--border-color, #e2e8f0);color:var(--text-primary, #1e293b);transition:background-color .15s ease}.pm-pivot-cell-clickable{cursor:pointer}.pm-pivot-cell-clickable:hover{background-color:#3b82f633!important}.pm-pivot-total-cell{font-weight:600;background-color:var(--bg-tertiary, #f8fafc)!important}.pm-pivot-grand-total{font-weight:700;background-color:var(--bg-tertiary, #e2e8f0)!important;color:var(--primary-color, #3b82f6)}.dark .pm-pivot-cell{border-color:var(--border-color-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.dark .pm-pivot-total-cell{background-color:var(--bg-tertiary-dark, #0f172a)!important}.dark .pm-pivot-grand-total{background-color:var(--bg-secondary-dark, #1e293b)!important}.pm-pivot-totals-row{font-weight:600}.pm-pivot-totals-row .pm-pivot-cell{background-color:var(--bg-tertiary, #f8fafc)}.dark .pm-pivot-totals-row .pm-pivot-cell{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-pivot-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-tertiary, #64748b);text-align:center}.dark .pm-pivot-empty{color:var(--text-tertiary-dark, #94a3b8)}.pm-pivot-summary{display:flex;gap:24px;padding:8px 0;font-size:12px;color:var(--text-tertiary, #64748b)}.dark .pm-pivot-summary{color:var(--text-tertiary-dark, #94a3b8)}.pm-pivot-summary-item strong{color:var(--text-primary, #1e293b);margin-right:4px}.dark .pm-pivot-summary-item strong{color:var(--text-primary-dark, #f1f5f9)}.pm-pivot-drilldown{max-height:400px;overflow:auto}.pm-pivot-drilldown-table{width:100%;border-collapse:collapse;font-size:13px}.pm-pivot-drilldown-table th{position:sticky;top:0;padding:10px 12px;background-color:var(--bg-tertiary, #f1f5f9);border-bottom:1px solid var(--border-color, #e2e8f0);font-weight:600;color:var(--text-secondary, #475569);text-align:left}.dark .pm-pivot-drilldown-table th{background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.pm-pivot-drilldown-table td{padding:10px 12px;border-bottom:1px solid var(--border-color, #e2e8f0);color:var(--text-primary, #1e293b)}.dark .pm-pivot-drilldown-table td{border-color:var(--border-color-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.pm-pivot-drilldown-row{cursor:pointer;transition:background-color .15s ease}.pm-pivot-drilldown-row:hover{background-color:var(--bg-tertiary, #f8fafc)}.pm-pivot-drilldown-row.selected{background-color:#3b82f61a}.dark .pm-pivot-drilldown-row:hover{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-pivot-drilldown-site-id{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;color:var(--primary-color, #3b82f6)}.pm-pivot-drilldown-address{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-pivot-stage-badge,.pm-pivot-health-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;border-radius:4px}@media (max-width: 1024px){.pm-pivot-header{flex-direction:column;align-items:flex-start}.pm-pivot-presets,.pm-pivot-config-panel{flex-wrap:wrap}}@media (max-width: 640px){.pm-pivot-preset-buttons{flex-wrap:wrap}.pm-pivot-view{padding:12px}}.pm-pivot-chart-container{flex:1;min-height:400px;padding:16px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;overflow:hidden}.dark .pm-pivot-chart-container{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.pm-pivot-chart-toggle-btn{padding:4px 12px;font-size:12px;font-weight:500;color:var(--text-secondary, #475569);background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.pm-pivot-chart-toggle-btn:hover{background-color:var(--bg-secondary, #ffffff);border-color:var(--primary-color, #3b82f6)}.pm-pivot-chart-toggle-btn.active{background-color:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6);color:#fff;font-weight:600}.dark .pm-pivot-chart-toggle-btn{color:var(--text-secondary-dark, #94a3b8);background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.dark .pm-pivot-chart-toggle-btn:hover{background-color:var(--bg-secondary-dark, #1e293b)}.dark .pm-pivot-chart-toggle-btn.active{background-color:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6);color:#fff}.pm-pivot-mode-toggle{display:flex;gap:2px;background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:2px}.dark .pm-pivot-mode-toggle{background-color:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.pm-pivot-mode-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary, #94a3b8);cursor:pointer;transition:all .15s ease}.pm-pivot-mode-btn:hover{color:var(--text-primary, #1e293b);background-color:var(--bg-secondary, #ffffff)}.pm-pivot-mode-btn.active{background-color:var(--primary-color, #3b82f6);color:#fff;box-shadow:0 1px 3px #3b82f64d}.dark .pm-pivot-mode-btn{color:var(--text-tertiary-dark, #64748b)}.dark .pm-pivot-mode-btn:hover{color:var(--text-primary-dark, #f1f5f9);background-color:var(--bg-secondary-dark, #1e293b)}.dark .pm-pivot-mode-btn.active{background-color:var(--primary-color, #3b82f6);color:#fff}@media (max-width: 640px){.pm-pivot-chart-container{min-height:300px;padding:12px}}.pm-jv-view{display:flex;flex-direction:column;height:100%;padding:16px;overflow:auto;gap:16px}.pm-jv-summary{display:flex;gap:12px;flex-wrap:wrap}.pm-jv-summary-card{flex:1;min-width:140px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px;transition:box-shadow .2s ease}.dark .pm-jv-summary-card{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.pm-jv-summary-card:hover{box-shadow:0 2px 8px #0000000f}.dark .pm-jv-summary-card:hover{box-shadow:0 2px 8px #0003}.pm-jv-summary-card-icon{color:var(--text-tertiary, #94a3b8)}.pm-jv-summary-card-value{font-size:24px;font-weight:700;color:var(--text-primary, #1e293b);line-height:1}.dark .pm-jv-summary-card-value{color:var(--text-primary-dark, #f1f5f9)}.pm-jv-summary-card-label{font-size:11px;font-weight:500;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.04em}.dark .pm-jv-summary-card-label{color:var(--text-tertiary-dark, #64748b)}.pm-jv-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.pm-jv-search{position:relative;display:flex;align-items:center;min-width:200px;max-width:300px;flex:1}.pm-jv-search-icon{position:absolute;left:10px;color:var(--text-tertiary, #94a3b8);pointer-events:none}.pm-jv-search-input{width:100%;padding:7px 30px 7px 32px;font-size:13px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;background:var(--bg-secondary, #ffffff);color:var(--text-primary, #1e293b);outline:none;transition:border-color .15s ease}.dark .pm-jv-search-input{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.pm-jv-search-input:focus{border-color:var(--primary-color, #3b82f6)}.pm-jv-search-clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--bg-tertiary, #f1f5f9);border:none;border-radius:50%;cursor:pointer;color:var(--text-tertiary, #94a3b8)}.dark .pm-jv-search-clear{background:var(--bg-tertiary-dark, #0f172a);color:var(--text-tertiary-dark, #64748b)}.pm-jv-sort-controls{display:flex;align-items:center;gap:10px}.pm-jv-sort-label{font-size:13px;font-weight:500;color:var(--text-tertiary, #64748b);white-space:nowrap}.dark .pm-jv-sort-label{color:var(--text-tertiary-dark, #94a3b8)}.pm-jv-sort-buttons{display:flex;gap:2px;padding:4px;background-color:var(--bg-tertiary, #f1f5f9);border-radius:8px;flex-wrap:wrap}.dark .pm-jv-sort-buttons{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-jv-sort-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.pm-jv-sort-btn:hover{color:var(--text-primary, #1e293b)}.pm-jv-sort-btn.active{background-color:var(--bg-secondary, #ffffff);color:var(--primary-color, #3b82f6);box-shadow:0 1px 3px #0000001a}.dark .pm-jv-sort-btn{color:var(--text-secondary-dark, #94a3b8)}.dark .pm-jv-sort-btn:hover{color:var(--text-primary-dark, #f1f5f9)}.dark .pm-jv-sort-btn.active{background-color:var(--bg-secondary-dark, #1e293b)}.pm-jv-legend{display:flex;flex-wrap:wrap;gap:14px;padding:10px 14px;background-color:var(--bg-tertiary, #f8fafc);border-radius:8px}.dark .pm-jv-legend{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-jv-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary, #64748b)}.dark .pm-jv-legend-item{color:var(--text-secondary-dark, #94a3b8)}.pm-jv-legend-color{width:10px;height:10px;border-radius:2px;flex-shrink:0}.pm-jv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}.pm-jv-card{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-left:4px solid;border-radius:10px;cursor:pointer;transition:all .2s ease}.dark .pm-jv-card{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.pm-jv-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.dark .pm-jv-card:hover{box-shadow:0 4px 12px #00000040}.pm-jv-card:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.pm-jv-card.unassigned{border-left-color:#94a3b8!important;opacity:.8}.pm-jv-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.pm-jv-card-title{display:flex;align-items:center;gap:8px;overflow:hidden}.pm-jv-card-name{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .pm-jv-card-name{color:var(--text-primary-dark, #f1f5f9)}.pm-jv-stage-bar{display:flex;height:20px;border-radius:4px;overflow:hidden;background-color:var(--bg-tertiary, #f1f5f9)}.dark .pm-jv-stage-bar{background-color:var(--bg-tertiary-dark, #0f172a)}.pm-jv-stage-bar.empty{height:20px}.pm-jv-stage-bar-segment{height:100%;transition:filter .2s ease}.pm-jv-stage-bar-segment:not(:last-child){border-right:1px solid rgba(255,255,255,.3)}.pm-jv-card:hover .pm-jv-stage-bar-segment{filter:brightness(1.08)}.pm-jv-card-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pm-jv-metric{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;background:var(--bg-tertiary, #f8fafc);border-radius:6px}.dark .pm-jv-metric{background:var(--bg-tertiary-dark, #0f172a)}.pm-jv-metric-value{font-size:14px;font-weight:700;color:var(--text-primary, #1e293b);line-height:1}.dark .pm-jv-metric-value{color:var(--text-primary-dark, #f1f5f9)}.pm-jv-metric-label{font-size:10px;font-weight:500;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.04em}.dark .pm-jv-metric-label{color:var(--text-tertiary-dark, #64748b)}.pm-jv-card-actions{display:flex;gap:8px;padding-top:8px;border-top:1px solid var(--border-color, #e2e8f0)}.dark .pm-jv-card-actions{border-top-color:var(--border-color-dark, #475569)}.pm-jv-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 10px;font-size:11px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;text-decoration:none;border:none}.pm-jv-action-btn.secondary{background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary, #475569);border:1px solid var(--border-color, #e2e8f0)}.dark .pm-jv-action-btn.secondary{background:var(--bg-tertiary-dark, #0f172a);color:var(--text-secondary-dark, #94a3b8);border-color:var(--border-color-dark, #475569)}.pm-jv-action-btn.secondary:hover{border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.pm-jv-action-btn.primary{background:var(--primary-color, #3b82f6);color:#fff}.pm-jv-action-btn.primary:hover{background:var(--primary-color-dark, #2563eb)}.pm-jv-action-btn:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.pm-jv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px;color:var(--text-tertiary, #94a3b8);background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px}.dark .pm-jv-empty{color:var(--text-tertiary-dark, #64748b);background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.pm-jv-empty-text{font-size:14px}.pm-jv-modal-sites{display:flex;flex-direction:column;gap:8px;max-height:calc(60vh - 140px);min-height:100px;overflow-y:auto;padding:4px}.pm-jv-modal-sites::-webkit-scrollbar{width:6px}.pm-jv-modal-sites::-webkit-scrollbar-track{background:transparent}.pm-jv-modal-sites::-webkit-scrollbar-thumb{background:var(--border-color, #e2e8f0);border-radius:3px}.dark .pm-jv-modal-sites::-webkit-scrollbar-thumb{background:var(--border-color-dark, #334155)}.pm-jv-modal-site-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--bg-tertiary, #f8fafc);border-radius:8px;transition:box-shadow .2s ease}.dark .pm-jv-modal-site-card{background:var(--bg-tertiary-dark, #1e293b)}.pm-jv-modal-site-card:hover{box-shadow:0 1px 4px #00000014}.dark .pm-jv-modal-site-card:hover{box-shadow:0 1px 4px #00000040}.pm-jv-modal-site-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.pm-jv-modal-site-info{display:flex;align-items:center;gap:6px;overflow:hidden}.pm-jv-modal-site-details{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--text-secondary, #64748b)}.dark .pm-jv-modal-site-details{color:var(--text-secondary-dark, #94a3b8)}.pm-jv-modal-site-stage{font-weight:600;font-size:12px}.pm-jv-modal-site-meta{display:flex;align-items:center;gap:4px;font-size:12px}.pm-jv-modal-site-meta.warning{color:#f59e0b}.pm-jv-modal-site-meta.critical{color:#ef4444}@media (max-width: 768px){.pm-jv-controls{flex-direction:column;align-items:stretch}.pm-jv-search{max-width:none}.pm-jv-sort-controls{flex-wrap:wrap}.pm-jv-grid{grid-template-columns:1fr}.pm-jv-summary{flex-wrap:wrap}.pm-jv-summary-card{min-width:120px}.pm-jv-card-metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.pm-jv-view{padding:12px;gap:12px}.pm-jv-summary-card{min-width:100px;padding:12px 8px}.pm-jv-summary-card-value{font-size:20px}.pm-jv-legend{gap:10px;padding:8px 10px}.pm-jv-card{padding:12px}.pm-jv-card-actions{flex-direction:column}}.sl-view{display:flex;flex-direction:column;height:100%;padding:16px;gap:12px;overflow:hidden}.sl-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;flex-shrink:0}.sl-toolbar-left{display:flex;align-items:center;gap:10px}.sl-toolbar-label{font-size:13px;font-weight:500;color:var(--text-tertiary, #64748b);white-space:nowrap}.dark .sl-toolbar-label{color:var(--text-tertiary-dark, #94a3b8)}.sl-toolbar-right{display:flex;align-items:center;gap:8px}.sl-toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;color:var(--text-secondary, #475569);background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.dark .sl-toolbar-btn{color:var(--text-secondary-dark, #94a3b8);background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.sl-toolbar-btn:hover{border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.sl-toolbar-btn--primary{background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6)}.sl-toolbar-btn--primary:hover{background:var(--primary-color-dark, #2563eb)}.sl-grid-container{flex:1;overflow:auto;border:1px solid var(--border-color, #e2e8f0);border-radius:10px;background:var(--bg-secondary, #ffffff)}.dark .sl-grid-container{border-color:var(--border-color-dark, #475569);background:var(--bg-secondary-dark, #1e293b)}.sl-grid-container::-webkit-scrollbar{width:8px;height:8px}.sl-grid-container::-webkit-scrollbar-track{background:transparent}.sl-grid-container::-webkit-scrollbar-thumb{background:var(--border-color, #e2e8f0);border-radius:4px}.dark .sl-grid-container::-webkit-scrollbar-thumb{background:var(--border-color-dark, #334155)}.sl-grid{display:grid;grid-template-columns:240px repeat(7,minmax(160px,1fr));min-width:max-content}.sl-grid-corner{position:sticky;top:0;left:0;z-index:30;display:flex;align-items:center;padding:10px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary, #64748b);background:var(--bg-tertiary, #f8fafc);border-bottom:2px solid var(--border-color, #e2e8f0);border-right:1px solid var(--border-color, #e2e8f0)}.dark .sl-grid-corner{color:var(--text-tertiary-dark, #94a3b8);background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.sl-stage-header{position:sticky;top:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 8px;background:var(--bg-tertiary, #f8fafc);border-bottom:3px solid;border-right:1px solid var(--border-color, #e2e8f0)}.dark .sl-stage-header{background:var(--bg-tertiary-dark, #0f172a);border-right-color:var(--border-color-dark, #475569)}.sl-stage-header-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.sl-stage-header-count{font-size:10px;color:var(--text-tertiary, #94a3b8)}.dark .sl-stage-header-count{color:var(--text-tertiary-dark, #64748b)}.sl-lane-header{position:sticky;left:0;z-index:10;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);border-right:1px solid var(--border-color, #e2e8f0);min-height:48px}.dark .sl-lane-header{background:var(--bg-secondary-dark, #1e293b);border-bottom-color:var(--border-color-dark, #475569);border-right-color:var(--border-color-dark, #475569)}.sl-lane-header--parent{min-height:56px}.sl-lane-header--child{padding-left:40px;min-height:44px}.sl-lane-header-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;cursor:pointer;color:var(--text-tertiary, #94a3b8);border-radius:4px;flex-shrink:0}.sl-lane-header-toggle:hover{background:var(--bg-tertiary, #f1f5f9);color:var(--text-primary, #1e293b)}.dark .sl-lane-header-toggle:hover{background:var(--bg-tertiary-dark, #0f172a);color:var(--text-primary-dark, #f1f5f9)}.sl-lane-header-toggle-spacer{width:20px;flex-shrink:0}.sl-lane-header-icon{flex-shrink:0}.sl-lane-header-info{display:flex;align-items:center;gap:6px;overflow:hidden}.sl-lane-header-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary, #1e293b)}.dark .sl-lane-header-name{color:var(--text-primary-dark, #f1f5f9)}.sl-lane-header-count{font-size:11px;font-weight:600;color:var(--text-tertiary, #94a3b8);flex-shrink:0}.dark .sl-lane-header-count{color:var(--text-tertiary-dark, #64748b)}.sl-cell{display:flex;flex-direction:column;gap:6px;padding:8px;border-bottom:1px solid var(--border-color, #e2e8f0);border-right:1px solid var(--border-color, #e2e8f0);min-height:48px;transition:background-color .15s ease}.dark .sl-cell{border-bottom-color:var(--border-color-dark, #475569);border-right-color:var(--border-color-dark, #475569)}.sl-cell--empty{display:flex;align-items:center;justify-content:center}.sl-cell-empty-label{font-size:12px;color:var(--text-tertiary, #cbd5e1)}.dark .sl-cell-empty-label{color:var(--text-tertiary-dark, #475569)}.sl-cell--drop-target{background-color:var(--primary-50, #eff6ff)!important;border:2px dashed var(--primary-color, #3b82f6);box-shadow:inset 0 0 0 2px #3b82f633}.dark .sl-cell--drop-target{background-color:#3b82f61a!important}.sl-cell--invalid-drop{opacity:.4;cursor:not-allowed;background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(239,68,68,.05) 4px,rgba(239,68,68,.05) 8px)}.dark .sl-cell--invalid-drop{background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(239,68,68,.08) 4px,rgba(239,68,68,.08) 8px)}.sl-cell--expanded{min-height:auto}.sl-cell-summary{display:flex;align-items:center;gap:6px}.sl-cell-count{font-size:12px;font-weight:600;color:var(--text-primary, #1e293b);background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:4px;white-space:nowrap}.dark .sl-cell-count{color:var(--text-primary-dark, #f1f5f9)}.sl-cell-count:hover{background:var(--bg-tertiary, #f1f5f9)}.dark .sl-cell-count:hover{background:var(--bg-tertiary-dark, #0f172a)}.sl-cell-health-dots{display:flex;align-items:center;gap:4px;flex:1}.sl-cell-health-dot{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;color:#fff;border-radius:8px}.sl-cell-expand{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;cursor:pointer;color:var(--text-tertiary, #94a3b8);border-radius:4px;flex-shrink:0}.sl-cell-expand:hover{background:var(--bg-tertiary, #f1f5f9);color:var(--text-primary, #1e293b)}.dark .sl-cell-expand:hover{background:var(--bg-tertiary-dark, #0f172a);color:var(--text-primary-dark, #f1f5f9)}.sl-cell-chips{display:flex;flex-direction:column;gap:4px}.sl-cell-more{font-size:11px;color:var(--primary-color, #3b82f6);background:none;border:none;cursor:pointer;padding:4px;text-align:left}.sl-cell-more:hover{text-decoration:underline}.sl-task-chip{display:flex;flex-direction:column;gap:2px;padding:5px 8px;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-left:3px solid;border-radius:6px;cursor:grab;transition:all .15s ease;box-shadow:0 1px 2px #0000000a}.dark .sl-task-chip{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.sl-task-chip:hover{box-shadow:0 2px 6px #00000014}.dark .sl-task-chip:hover{box-shadow:0 2px 6px #0003}.sl-task-chip:active{opacity:.7;transform:scale(.97);cursor:grabbing}.sl-task-chip-header{display:flex;align-items:center;gap:4px}.sl-task-chip-grip{color:var(--text-tertiary, #cbd5e1);flex-shrink:0;opacity:0;transition:opacity .15s}.sl-task-chip:hover .sl-task-chip-grip{opacity:1}.sl-task-chip-name{font-size:11px;font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.dark .sl-task-chip-name{color:var(--text-primary-dark, #f1f5f9)}.sl-task-chip-badge{font-size:9px;font-weight:600;padding:1px 5px;background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary, #64748b);border-radius:4px;flex-shrink:0}.dark .sl-task-chip-badge{background:var(--bg-tertiary-dark, #0f172a);color:var(--text-secondary-dark, #94a3b8)}.sl-task-chip-footer{display:flex;align-items:center;gap:4px}.sl-task-chip-health{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sl-task-chip-status{font-size:10px;color:var(--text-tertiary, #94a3b8);text-transform:capitalize}.dark .sl-task-chip-status{color:var(--text-tertiary-dark, #64748b)}.sl-grid--dragging .sl-cell:not(.sl-cell--drop-target){opacity:.7}.sl-drilldown{display:flex;flex-direction:column;gap:12px}.sl-drilldown-header{font-size:13px;font-weight:500;color:var(--text-secondary, #64748b)}.dark .sl-drilldown-header{color:var(--text-secondary-dark, #94a3b8)}.sl-drilldown-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto;padding:4px}.sl-drilldown-list::-webkit-scrollbar{width:6px}.sl-drilldown-list::-webkit-scrollbar-thumb{background:var(--border-color, #e2e8f0);border-radius:3px}.sl-drilldown-empty{padding:24px;text-align:center;color:var(--text-tertiary, #94a3b8);font-size:13px}.sl-drilldown-site{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--bg-tertiary, #f8fafc);border-radius:8px}.dark .sl-drilldown-site{background:var(--bg-tertiary-dark, #0f172a)}.sl-drilldown-site-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.sl-drilldown-site-health{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sl-drilldown-site-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sl-drilldown-site-score{font-size:11px;color:var(--text-tertiary, #94a3b8)}.sl-manage-list{display:flex;flex-direction:column;gap:2px;padding:8px 0}.sl-manage-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;transition:background-color .1s ease}.sl-manage-row:hover{background:var(--bg-tertiary, #f8fafc)}.dark .sl-manage-row:hover{background:var(--bg-tertiary-dark, #0f172a)}.sl-manage-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sl-manage-row-info{display:flex;align-items:center;gap:8px;flex:1;overflow:hidden}.sl-manage-row-name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b)}.dark .sl-manage-row-name{color:var(--text-primary-dark, #f1f5f9)}.sl-manage-row-code{font-size:11px;color:var(--text-tertiary, #94a3b8)}.sl-manage-row-linked{display:flex;align-items:center;gap:4px;font-size:11px;color:#10b981}.sl-manage-row-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.sl-manage-btn{display:flex;align-items:center;gap:3px;padding:4px 8px;font-size:11px;font-weight:500;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;cursor:pointer;background:transparent;color:var(--text-secondary, #64748b);transition:all .1s ease}.dark .sl-manage-btn{border-color:var(--border-color-dark, #475569);color:var(--text-secondary-dark, #94a3b8)}.sl-manage-btn:hover{border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.sl-manage-btn--primary{background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6)}.sl-manage-btn--link{color:#3b82f6}.sl-manage-btn--unlink{color:var(--text-tertiary, #94a3b8)}.sl-manage-btn--danger{background:#ef4444;color:#fff;border-color:#ef4444}.sl-manage-btn--danger-ghost{color:var(--text-tertiary, #94a3b8)}.sl-manage-btn--danger-ghost:hover{color:#ef4444;border-color:#ef4444}.sl-manage-confirm{display:flex;align-items:center;gap:4px}.sl-manage-add-row{display:flex;align-items:center;gap:6px;padding:8px 12px;flex-wrap:wrap}.sl-manage-input{flex:1;min-width:120px;padding:5px 8px;font-size:12px;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;background:var(--bg-secondary, #ffffff);color:var(--text-primary, #1e293b);outline:none}.dark .sl-manage-input{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.sl-manage-input:focus{border-color:var(--primary-color, #3b82f6)}.sl-manage-input--small{max-width:80px}.sl-manage-select{padding:5px 8px;font-size:12px;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;background:var(--bg-secondary, #ffffff);color:var(--text-primary, #1e293b);outline:none}.dark .sl-manage-select{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);color:var(--text-primary-dark, #f1f5f9)}.sl-manage-add-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;color:var(--primary-color, #3b82f6);background:transparent;border:1px dashed var(--primary-color, #3b82f6);border-radius:6px;cursor:pointer;width:100%;justify-content:center;transition:background-color .1s ease}.sl-manage-add-btn:hover{background:#3b82f60d}.sl-loading{display:flex;flex-direction:column;gap:12px;padding:24px 0}.sl-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px;color:#ef4444}.sl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:64px;color:var(--text-tertiary, #94a3b8);background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px}.dark .sl-empty{color:var(--text-tertiary-dark, #64748b);background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.sl-empty-title{font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.dark .sl-empty-title{color:var(--text-primary-dark, #f1f5f9)}.sl-empty-text{font-size:13px;max-width:380px;text-align:center}.sl-empty-btn{padding:8px 20px;font-size:13px;font-weight:500;color:#fff;background:var(--primary-color, #3b82f6);border:none;border-radius:6px;cursor:pointer;transition:background-color .15s ease}.sl-empty-btn:hover{background:var(--primary-color-dark, #2563eb)}@media (max-width: 1280px){.sl-grid{grid-template-columns:200px repeat(7,minmax(140px,1fr))}}@media (max-width: 768px){.sl-toolbar{flex-direction:column;align-items:stretch}.sl-grid{grid-template-columns:160px repeat(7,minmax(120px,1fr))}.sl-lane-header--child{padding-left:28px}}@media (max-width: 480px){.sl-view{padding:10px;gap:10px}.sl-grid{grid-template-columns:140px repeat(7,minmax(100px,1fr))}}.sl-toolbar-divider{width:1px;height:20px;background:var(--border-color, #e2e8f0);margin:0 4px;flex-shrink:0}.dark .sl-toolbar-divider{background:var(--border-color-dark, #475569)}.sl-lane-header--child,.sl-cell--child-row{animation:sl-slide-in .15s ease-out}@keyframes sl-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.sl-assign-grid-wrapper{overflow:auto;max-height:60vh;border:1px solid var(--border-color, #e2e8f0);border-radius:8px}.dark .sl-assign-grid-wrapper{border-color:var(--border-color-dark, #475569)}.sl-assign-corner{position:sticky;left:0;top:0;z-index:10;display:flex;align-items:center;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary, #64748b);background:var(--bg-tertiary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0);border-right:1px solid var(--border-color, #e2e8f0)}.dark .sl-assign-corner{color:var(--text-tertiary-dark, #94a3b8);background:var(--bg-tertiary-dark, #0f172a);border-color:var(--border-color-dark, #475569)}.sl-assign-stage-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:8px 4px;background:var(--bg-tertiary, #f8fafc);border-bottom:3px solid;border-right:1px solid var(--border-color, #e2e8f0)}.dark .sl-assign-stage-header{background:var(--bg-tertiary-dark, #0f172a);border-right-color:var(--border-color-dark, #475569)}.sl-assign-stage-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;text-align:center;color:var(--text-secondary, #475569)}.dark .sl-assign-stage-label{color:var(--text-secondary-dark, #94a3b8)}.sl-assign-entity{position:sticky;left:0;z-index:5;display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-secondary, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);border-right:1px solid var(--border-color, #e2e8f0)}.dark .sl-assign-entity{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569)}.sl-assign-entity--child{padding-left:32px}.sl-assign-entity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sl-assign-entity-name{font-size:12px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .sl-assign-entity-name{color:var(--text-primary-dark, #f1f5f9)}.sl-assign-cell{display:flex;align-items:center;justify-content:center;padding:4px;border-bottom:1px solid var(--border-color, #e2e8f0);border-right:1px solid var(--border-color, #e2e8f0)}.dark .sl-assign-cell{border-color:var(--border-color-dark, #475569)}.sl-assign-checkbox{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid var(--border-color, #d1d5db);border-radius:4px;background:transparent;cursor:pointer;color:transparent;transition:all .15s ease}.dark .sl-assign-checkbox{border-color:var(--border-color-dark, #475569)}.sl-assign-checkbox:hover{border-color:var(--primary-color, #3b82f6);background:#3b82f60d}.sl-assign-checkbox--checked{background:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6);color:#fff}.sl-assign-checkbox--checked:hover{background:var(--primary-color-dark, #2563eb)}.sl-assign-checkbox--pending{opacity:.5;cursor:wait}.sl-assign-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:sl-spin .5s linear infinite}@keyframes sl-spin{to{transform:rotate(360deg)}}.sl-person-autocomplete{position:relative;width:100%}.sl-person-search-row{display:flex;align-items:center;gap:6px;position:relative}.sl-person-search-icon{position:absolute;left:8px;color:var(--text-tertiary, #94a3b8);pointer-events:none;z-index:1}.sl-person-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;margin-top:4px;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto}.dark .sl-person-dropdown{background:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #475569);box-shadow:0 4px 12px #0000004d}.sl-person-dropdown-empty{padding:12px;font-size:12px;color:var(--text-tertiary, #94a3b8);text-align:center}.sl-person-section{padding:4px 0}.sl-person-section-label{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary, #94a3b8)}.sl-person-option{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;font-size:12px;background:transparent;border:none;cursor:pointer;color:var(--text-primary, #1e293b);transition:background .1s ease;text-align:left}.dark .sl-person-option{color:var(--text-primary-dark, #f1f5f9)}.sl-person-option:hover{background:var(--bg-tertiary, #f8fafc)}.dark .sl-person-option:hover{background:var(--bg-tertiary-dark, #0f172a)}.sl-person-option-code,.sl-person-option-sub{font-size:10px;color:var(--text-tertiary, #94a3b8);margin-left:auto}@media (prefers-reduced-motion: reduce){.sl-task-chip,.sl-cell,.sl-toolbar-btn,.sl-lane-header-toggle{transition:none}.sl-task-chip:active{transform:none}.sl-lane-header--child,.sl-cell--child-row{animation:none}}.pm-rv-container{display:flex;flex-direction:column;height:100%;padding:16px;gap:12px;overflow:hidden}.pm-rv-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;flex-shrink:0}.pm-rv-toolbar-left{display:flex;align-items:center;gap:10px}.pm-rv-toolbar-right{display:flex;align-items:center;gap:8px}.pm-rv-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:#94a3b8}.pm-rv-breadcrumb-sep{color:#475569;-webkit-user-select:none;user-select:none}.pm-rv-breadcrumb-link{cursor:pointer;color:#60a5fa;transition:text-decoration .1s}.pm-rv-breadcrumb-link:hover{text-decoration:underline}@media (prefers-color-scheme: light){.pm-rv-breadcrumb{color:#64748b}.pm-rv-breadcrumb-sep{color:#94a3b8}}.pm-rv-summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;flex-shrink:0}.pm-rv-summary-card{border-radius:8px;padding:14px;background:#1e293b;border:1px solid #334155;cursor:default;transition:transform .15s ease,box-shadow .15s ease;animation:pm-rv-fade-in .2s ease-out both}.pm-rv-summary-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000059}.pm-rv-summary-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:6px}.pm-rv-summary-value{font-size:22px;font-weight:700;color:#f1f5f9;line-height:1.1}.pm-rv-summary-subtext{font-size:11px;color:#64748b;margin-top:2px}@media (prefers-color-scheme: light){.pm-rv-summary-card{background:#f8fafc;border-color:#e2e8f0;box-shadow:none}.pm-rv-summary-card:hover{box-shadow:0 2px 8px #00000014}.pm-rv-summary-value{color:#1e293b}}.pm-rv-gauge{--gauge-color: #3b82f6;--gauge-track: #334155;--gauge-pct: 0;width:48px;height:48px;border-radius:50%;background:conic-gradient(var(--gauge-color) calc(var(--gauge-pct) * 1%),var(--gauge-track) calc(var(--gauge-pct) * 1%));display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.pm-rv-gauge-inner{width:36px;height:36px;border-radius:50%;background:#1e293b;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--gauge-color)}.pm-rv-gauge-sm{width:36px;height:36px}.pm-rv-gauge-sm .pm-rv-gauge-inner{width:26px;height:26px;font-size:9px}@media (prefers-color-scheme: light){.pm-rv-gauge{--gauge-track: #e2e8f0}.pm-rv-gauge-inner{background:#f8fafc}}:root{--segment-steel: #64748b;--segment-wood: #d97706;--segment-concrete: #9ca3af;--segment-aluminum: #38bdf8;--segment-fiberglass: #34d399;--segment-new-install: #3b82f6;--segment-overlay: #f59e0b}.pm-rv-distribution-bar{height:6px;border-radius:3px;overflow:hidden;display:flex;background:#334155;flex:1}.pm-rv-distribution-segment{height:100%;transition:width .3s ease}.pm-rv-distribution-segment--steel{background:var(--segment-steel)}.pm-rv-distribution-segment--wood{background:var(--segment-wood)}.pm-rv-distribution-segment--concrete{background:var(--segment-concrete)}.pm-rv-distribution-segment--aluminum{background:var(--segment-aluminum)}.pm-rv-distribution-segment--fiberglass{background:var(--segment-fiberglass)}.pm-rv-distribution-segment--new-install{background:var(--segment-new-install)}.pm-rv-distribution-segment--overlay{background:var(--segment-overlay)}@media (prefers-color-scheme: light){.pm-rv-distribution-bar{background:#e2e8f0}}.pm-rv-jurisdiction-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px;overflow-y:auto;flex:1;align-content:start}.pm-rv-jurisdiction-card{border-radius:12px;border:1px solid #334155;background:#1e293b;padding:16px;transition:border-color .2s ease;animation:pm-rv-fade-in .2s ease-out both}.pm-rv-jurisdiction-card:hover{border-color:#475569}.pm-rv-jcard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pm-rv-jcard-name{font-size:15px;font-weight:600;color:#f1f5f9}.pm-rv-jcard-feasibility-row{display:flex;gap:20px;margin-bottom:14px;align-items:center;justify-content:center}.pm-rv-jcard-gauge-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;text-align:center;margin-top:4px}.pm-rv-jcard-distributions{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.pm-rv-jcard-dist-row{display:flex;align-items:center;gap:8px}.pm-rv-jcard-dist-label{font-size:11px;color:#94a3b8;min-width:80px;flex-shrink:0}.pm-rv-jcard-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.pm-rv-jcard-metric{text-align:center}.pm-rv-jcard-metric-value{font-size:16px;font-weight:700;color:#f1f5f9;line-height:1.2}.pm-rv-jcard-metric-label{font-size:10px;color:#94a3b8;margin-top:2px}.pm-rv-jcard-action{width:100%;padding:8px;border-radius:8px;border:1px solid #334155;background:transparent;color:#60a5fa;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.pm-rv-jcard-action:hover{background:#1e40af14;border-color:#60a5fa}@media (prefers-color-scheme: light){.pm-rv-jurisdiction-card{background:#fff;border-color:#e2e8f0}.pm-rv-jurisdiction-card:hover{border-color:#94a3b8}.pm-rv-jcard-name,.pm-rv-jcard-metric-value{color:#1e293b}.pm-rv-jcard-action{border-color:#e2e8f0}}.pm-rv-site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;overflow-y:auto;flex:1;align-content:start}.pm-rv-site-card{border-radius:8px;border:1px solid #334155;background:#1e293b;padding:14px;transition:border-color .2s ease;animation:pm-rv-fade-in .2s ease-out both}.pm-rv-site-card:hover{border-color:#475569}.pm-rv-scard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.pm-rv-scard-address{font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:10px}.pm-rv-scard-infra-grid{display:grid;grid-template-columns:repeat(2,1fr);column-gap:12px;row-gap:4px;margin-bottom:10px}.pm-rv-scard-field-label{font-size:11px;color:#94a3b8}.pm-rv-scard-field-value{font-size:12px;color:#e2e8f0;font-weight:500}.pm-rv-scard-empty{font-style:italic;color:#475569}.pm-rv-scard-footer{display:flex;gap:6px;align-items:center;padding-top:10px;border-top:1px solid #334155}@media (prefers-color-scheme: light){.pm-rv-site-card{background:#fff;border-color:#e2e8f0}.pm-rv-site-card:hover{border-color:#94a3b8}.pm-rv-scard-field-value{color:#334155}.pm-rv-scard-footer{border-top-color:#e2e8f0}}.pm-rv-table-wrapper{flex:1;overflow:auto;border-radius:8px;border:1px solid #334155}.pm-rv-table{width:100%}.pm-rv-table table{border-collapse:collapse;width:100%}.pm-rv-table th{position:sticky;top:0;z-index:10;background:#0f172a;padding:8px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;border-bottom:2px solid #334155;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease;text-align:left}.pm-rv-table th:hover{color:#e2e8f0}.pm-rv-table td{padding:6px 10px;font-size:13px;border-bottom:1px solid #1e293b;color:#e2e8f0;white-space:nowrap}.pm-rv-table tr:hover td{background:#1e293b80}.pm-rv-sticky-col-1{position:sticky;left:0;z-index:5;background:#0f172a}.pm-rv-sticky-col-2{position:sticky;left:120px;z-index:5;background:#0f172a}.pm-rv-sticky-col-1:after,.pm-rv-sticky-col-2:after{content:"";position:absolute;top:0;right:-8px;bottom:0;width:8px;background:linear-gradient(to right,rgba(0,0,0,.15),transparent);pointer-events:none}@media (prefers-color-scheme: light){.pm-rv-table-wrapper{border-color:#e2e8f0}.pm-rv-table th{background:#f1f5f9;border-bottom-color:#e2e8f0}.pm-rv-table th:hover{color:#475569}.pm-rv-table td{border-bottom-color:#f1f5f9;color:#334155}.pm-rv-table tr:hover td{background:#f1f5f980}.pm-rv-sticky-col-1,.pm-rv-sticky-col-2{background:#f8fafc}.pm-rv-sticky-col-1:after,.pm-rv-sticky-col-2:after{background:linear-gradient(to right,rgba(0,0,0,.05),transparent)}}.pm-rv-cell-editor{position:relative}.pm-rv-cell-editor input,.pm-rv-cell-editor select{width:100%;padding:4px 6px;font-size:13px;border:1px solid #3b82f6;border-radius:4px;background:#0f172a;color:#f1f5f9;outline:none;box-sizing:border-box}.pm-rv-cell-editor input:focus,.pm-rv-cell-editor select:focus{box-shadow:0 0 0 2px #3b82f640}.pm-rv-cell-editable{cursor:pointer;border-radius:3px;padding:2px 4px;transition:background .12s ease,outline .12s ease}.pm-rv-cell-editable:hover{background:#1e293b;outline:1px dashed #475569}@media (prefers-color-scheme: light){.pm-rv-cell-editor input,.pm-rv-cell-editor select{background:#fff;color:#1e293b}.pm-rv-cell-editable:hover{background:#f1f5f9}}.pm-rv-group-header{background:#0f172a;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.pm-rv-group-header:hover{background:#1e293b}.pm-rv-group-header td{background:inherit!important;border-bottom:2px solid #334155;padding:8px 12px;color:#94a3b8;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.pm-rv-group-chevron{display:inline-flex;align-items:center;margin-right:6px;transition:transform .2s ease;color:#64748b}.pm-rv-group-chevron.expanded{transform:rotate(90deg)}@media (prefers-color-scheme: light){.pm-rv-group-header{background:#f1f5f9}.pm-rv-group-header:hover{background:#e2e8f0}.pm-rv-group-header td{border-bottom-color:#e2e8f0}}.pm-rv-compliance-bar{height:16px;border-radius:3px;overflow:hidden;display:flex;flex:1}.pm-rv-compliance-compliant{background:#10b981;height:100%;transition:width .3s ease}.pm-rv-compliance-conditional{background:#f59e0b;height:100%;transition:width .3s ease}.pm-rv-compliance-non-compliant{background:#ef4444;height:100%;transition:width .3s ease}.pm-rv-compliance-unknown{background:#64748b;height:100%;transition:width .3s ease}.pm-rv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:#64748b;text-align:center;flex:1}.pm-rv-empty-icon{width:48px;height:48px;margin-bottom:12px;opacity:.5}.pm-rv-empty-title{font-size:15px;font-weight:600;color:#94a3b8;margin-bottom:6px}.pm-rv-empty-subtitle{font-size:13px;color:#64748b;max-width:320px}.pm-rv-jurisdiction-grid::-webkit-scrollbar,.pm-rv-site-grid::-webkit-scrollbar,.pm-rv-table-wrapper::-webkit-scrollbar{width:6px;height:6px}.pm-rv-jurisdiction-grid::-webkit-scrollbar-track,.pm-rv-site-grid::-webkit-scrollbar-track,.pm-rv-table-wrapper::-webkit-scrollbar-track{background:transparent}.pm-rv-jurisdiction-grid::-webkit-scrollbar-thumb,.pm-rv-site-grid::-webkit-scrollbar-thumb,.pm-rv-table-wrapper::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.pm-rv-jurisdiction-grid::-webkit-scrollbar-thumb:hover,.pm-rv-site-grid::-webkit-scrollbar-thumb:hover,.pm-rv-table-wrapper::-webkit-scrollbar-thumb:hover{background:#64748b}.pm-rv-warning-icon{display:inline-flex;align-items:center;color:#f59e0b;margin-left:4px;position:relative;cursor:default}.pm-rv-warning-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1e293b;border:1px solid #334155;border-radius:6px;padding:8px 12px;font-size:11px;color:#e2e8f0;white-space:nowrap;z-index:20;pointer-events:none;opacity:0;transition:opacity .15s ease;box-shadow:0 4px 12px #0000004d}.pm-rv-warning-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#334155}.pm-rv-warning-icon:hover .pm-rv-warning-tooltip{opacity:1}@media (prefers-color-scheme: light){.pm-rv-warning-tooltip{background:#1e293b;border-color:#334155;color:#f1f5f9}}@keyframes pm-rv-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pm-rv-jurisdiction-card,.pm-rv-site-card,.pm-rv-summary-card{animation:pm-rv-fade-in .2s ease-out both}.pm-rv-jurisdiction-card:nth-child(1),.pm-rv-site-card:nth-child(1),.pm-rv-summary-card:nth-child(1){animation-delay:0ms}.pm-rv-jurisdiction-card:nth-child(2),.pm-rv-site-card:nth-child(2),.pm-rv-summary-card:nth-child(2){animation-delay:30ms}.pm-rv-jurisdiction-card:nth-child(3),.pm-rv-site-card:nth-child(3),.pm-rv-summary-card:nth-child(3){animation-delay:60ms}.pm-rv-jurisdiction-card:nth-child(4),.pm-rv-site-card:nth-child(4),.pm-rv-summary-card:nth-child(4){animation-delay:90ms}.pm-rv-jurisdiction-card:nth-child(5),.pm-rv-site-card:nth-child(5),.pm-rv-summary-card:nth-child(5){animation-delay:.12s}.pm-rv-jurisdiction-card:nth-child(n+6),.pm-rv-site-card:nth-child(n+6),.pm-rv-summary-card:nth-child(n+6){animation-delay:.15s}@media (prefers-reduced-motion: reduce){.pm-rv-jurisdiction-card,.pm-rv-site-card,.pm-rv-summary-card{animation:none}.pm-rv-group-chevron,.pm-rv-summary-card{transition:none}}.pm-rv-health-bar-track{width:100%;height:4px;border-radius:2px;background:#334155;margin-top:6px;overflow:hidden}.pm-rv-health-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}@media (prefers-color-scheme: light){.pm-rv-health-bar-track{background:#e2e8f0}}.pm-rv-compliance-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.pm-rv-compliance-legend-item{display:flex;align-items:center;gap:4px}.pm-rv-compliance-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pm-rv-compliance-dot.pm-rv-compliance-compliant{background:#10b981}.pm-rv-compliance-dot.pm-rv-compliance-conditional{background:#f59e0b}.pm-rv-compliance-dot.pm-rv-compliance-non-compliant{background:#ef4444}.pm-rv-compliance-dot.pm-rv-compliance-unknown{background:#64748b}.pm-dashboard{display:flex;flex-direction:column;height:100%;min-height:100vh;background-color:var(--bg-primary, #f8fafc)}.dark .pm-dashboard{background-color:var(--bg-primary-dark, #0f172a)}.pm-mission-control-container{position:relative;padding:16px 24px 8px;background-color:var(--bg-secondary, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0)}.dark .pm-mission-control-container{background-color:var(--bg-secondary-dark, #1e293b);border-bottom-color:var(--border-color-dark, #334155)}.pm-mission-control-toggle{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:24px;background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-top:none;border-radius:0 0 8px 8px;cursor:pointer;color:var(--text-tertiary, #64748b);transition:all .2s ease;z-index:10}.pm-mission-control-toggle:hover{background-color:var(--bg-hover, #f1f5f9);color:var(--text-secondary, #475569)}.dark .pm-mission-control-toggle{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155);border-top:none;color:var(--text-tertiary-dark, #94a3b8)}.dark .pm-mission-control-toggle:hover{background-color:var(--bg-hover-dark, #334155);color:var(--text-secondary-dark, #cbd5e1)}.pm-mission-control-expand{display:flex;align-items:center;justify-content:center;padding:8px 16px;margin:8px auto;font-size:12px;font-weight:500;color:var(--text-tertiary, #64748b);background-color:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s ease}.pm-mission-control-expand:hover{background-color:var(--bg-hover, #f1f5f9);color:var(--text-secondary, #475569)}.dark .pm-mission-control-expand{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155);color:var(--text-tertiary-dark, #94a3b8)}.pm-main-content{flex:1;padding:16px 24px;overflow:auto}.pm-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:16px;color:var(--text-tertiary, #64748b)}.dark .pm-loading{color:var(--text-tertiary-dark, #94a3b8)}.pm-loading-spinner{width:40px;height:40px;border:3px solid var(--border-color, #e2e8f0);border-top-color:var(--primary-color, #3b82f6);border-radius:50%;animation:pm-spin .8s linear infinite}.dark .pm-loading-spinner{border-color:var(--border-color-dark, #334155);border-top-color:var(--primary-color, #3b82f6)}@keyframes pm-spin{to{transform:rotate(360deg)}}.pm-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:var(--text-tertiary, #64748b)}.pm-view-placeholder{display:flex;align-items:center;justify-content:center;height:400px;background-color:var(--bg-secondary, #ffffff);border:2px dashed var(--border-color, #e2e8f0);border-radius:12px;color:var(--text-tertiary, #64748b);font-size:16px;font-weight:500}.dark .pm-view-placeholder{background-color:var(--bg-secondary-dark, #1e293b);border-color:var(--border-color-dark, #334155);color:var(--text-tertiary-dark, #94a3b8)}@media (max-width: 1024px){.pm-mission-control-container{padding:12px 16px 8px}.pm-main-content{padding:12px 16px}}@media (max-width: 768px){.pm-mission-control-container{padding:8px 12px 6px}.pm-main-content{padding:8px 12px}}.all-sites-header{display:flex;flex-direction:column;gap:1rem;padding:1.5rem 1.5rem 1rem;background-color:var(--background-primary);border-bottom:1px solid var(--border-color)}.header-title-section{display:flex;flex-direction:column;gap:.25rem}.title-row{display:flex;align-items:center;gap:.75rem}.title-icon{color:var(--primary-color)}.title-row h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.title-row .total-count{font-size:.75rem;color:var(--text-tertiary)}.header-subtitle{margin:0;font-size:.875rem;color:var(--text-secondary)}.header-filters{display:flex;gap:1rem}.multi-select-dropdown{position:relative;min-width:200px;max-width:280px}.dropdown-label{display:block;font-size:.75rem;font-weight:500;color:var(--text-secondary);margin-bottom:.25rem}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .75rem;background-color:var(--background-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:border-color .2s,box-shadow .2s}.dropdown-trigger:hover{border-color:var(--border-color-hover, #94a3b8)}.dropdown-trigger.open{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.dropdown-trigger.has-value{color:var(--text-primary)}.trigger-text{display:flex;align-items:center;gap:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trigger-actions{display:flex;align-items:center;gap:.25rem;margin-left:.5rem}.clear-btn{display:flex;align-items:center;justify-content:center;padding:2px;background:none;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:4px;transition:color .2s,background-color .2s}.clear-btn:hover{color:var(--text-primary);background-color:var(--background-tertiary)}.chevron{color:var(--text-tertiary);transition:transform .2s}.chevron.rotated{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;left:0;right:0;margin-top:4px;background-color:var(--background-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:var(--z-dropdown, 1000);overflow:hidden}.dropdown-search{padding:.5rem;border-bottom:1px solid var(--border-color)}.dropdown-search input{width:100%;padding:.5rem .75rem;background-color:var(--background-secondary);border:1px solid var(--border-color);border-radius:4px;font-size:.875rem;color:var(--text-primary)}.dropdown-search input:focus{outline:none;border-color:var(--primary-color)}.dropdown-options{max-height:240px;overflow-y:auto}.dropdown-option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;background:none;border:none;text-align:left;cursor:pointer;transition:background-color .15s;color:var(--text-primary)}.dropdown-option:hover{background-color:var(--background-secondary);color:var(--text-primary)}.dropdown-option.selected{background-color:#3b82f614}.option-checkbox{width:16px;height:16px;border:1.5px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s,background-color .15s}.dropdown-option.selected .option-checkbox{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.option-content{display:flex;flex-direction:column;min-width:0}.option-label{font-size:.875rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.option-sublabel{font-size:.75rem;color:var(--text-secondary)}.dropdown-loading,.dropdown-empty{padding:1rem;text-align:center;font-size:.875rem;color:var(--text-secondary)}:root.dark .dropdown-menu{box-shadow:0 4px 12px #0000004d}:root.dark .dropdown-option.selected{background-color:#3b82f626}@media (max-width: 768px){.all-sites-header{padding:1rem}.header-filters{flex-direction:column}.multi-select-dropdown{max-width:none}.title-row h1{font-size:1.25rem}}.saved-views-dropdown{position:relative}.saved-views-trigger{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:var(--background-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.saved-views-trigger:hover{border-color:var(--border-color-hover, #94a3b8);color:var(--text-primary)}.saved-views-trigger.open{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.saved-views-trigger .star-active{color:var(--warning-color, #f59e0b);fill:var(--warning-color, #f59e0b)}.saved-views-trigger .trigger-label{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-views-trigger .chevron{transition:transform .2s}.saved-views-trigger .chevron.rotated{transform:rotate(180deg)}.saved-views-menu{position:absolute;top:100%;right:0;margin-top:4px;min-width:280px;max-width:320px;background-color:var(--background-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:var(--z-dropdown, 1000);overflow:hidden}.saved-views-menu-portal{position:fixed;z-index:9999;max-height:calc(100vh - 100px);overflow-y:auto}.save-current-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:none;border:none;font-size:.875rem;font-weight:500;color:var(--primary-color);cursor:pointer;transition:background-color .15s}.save-current-btn:hover{background-color:#3b82f614}.menu-divider{height:1px;background-color:var(--border-color);margin:.25rem 0}.views-section{padding:.5rem 0}.section-header{display:flex;align-items:center;gap:.375rem;padding:.375rem 1rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.section-header-collapsible{width:100%;background:none;border:none;cursor:pointer;transition:background-color .15s}.section-header-collapsible:hover{background-color:var(--background-secondary)}.section-chevron{flex-shrink:0;transition:transform .2s}.view-count{margin-left:auto;font-size:.625rem;font-weight:500;padding:.125rem .375rem;background-color:var(--background-tertiary);border-radius:10px;color:var(--text-secondary)}.empty-message{padding:.75rem 1rem;font-size:.8125rem;color:var(--text-tertiary);font-style:italic}.view-item{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;cursor:pointer;transition:background-color .15s;position:relative}.view-item:hover{background-color:var(--background-secondary)}.view-item.active{background-color:#3b82f614}.view-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.view-name{font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-description,.view-creator{font-size:.75rem;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-actions{display:flex;align-items:center;gap:.25rem;opacity:0;transition:opacity .15s}.view-item:hover .view-actions{opacity:1}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.action-btn:hover{background-color:var(--background-tertiary);color:var(--text-primary)}.action-btn.star-btn.is-default{color:var(--warning-color, #f59e0b)}.action-btn.star-btn.is-default svg{fill:var(--warning-color, #f59e0b)}.action-btn.delete-btn:hover{color:var(--error-color, #ef4444)}.default-badge{position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.view-item:hover .default-badge{display:none}.clear-view-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:none;border:none;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.clear-view-btn:hover{background-color:var(--background-secondary);color:var(--text-primary)}.save-view-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.form-textarea{width:100%;padding:.625rem .75rem;background-color:var(--background-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;color:var(--text-primary);resize:vertical;min-height:60px;font-family:inherit}.form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.visibility-options{display:flex;flex-direction:column;gap:.5rem}.visibility-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background-color:var(--background-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .15s;text-align:left}.visibility-option:hover{border-color:var(--primary-color)}.visibility-option.active{border-color:var(--primary-color);background-color:#3b82f60d}.visibility-option>svg:first-child{flex-shrink:0;margin-top:2px;color:var(--text-secondary)}.visibility-option.active>svg:first-child{color:var(--primary-color)}.option-text{flex:1;display:flex;flex-direction:column;gap:.125rem}.option-title{font-size:.875rem;font-weight:500;color:var(--text-primary)}.option-desc{font-size:.75rem;color:var(--text-tertiary)}.visibility-option .check-icon{flex-shrink:0;color:var(--primary-color)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}:root.dark .saved-views-menu{box-shadow:0 4px 12px #0000004d}:root.dark .view-item.active{background-color:#3b82f626}:root.dark .visibility-option.active{background-color:#3b82f61a}.all-sites-column-config-modal{display:flex;flex-direction:column;gap:16px}.column-config-description{margin:0;font-size:.875rem;color:var(--text-secondary)}.column-list{display:flex;flex-direction:column;gap:16px;max-height:400px;overflow-y:auto;padding:4px 0}.column-section{display:flex;flex-direction:column;gap:4px}.column-section-title{margin:0 0 4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);padding:0 4px}.column-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--background-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:grab;transition:all .15s ease}.column-item:hover{background:var(--background-tertiary);border-color:var(--border-color-hover, #94a3b8)}.column-item.dragging{opacity:.5;cursor:grabbing;transform:scale(.98)}.column-item.drag-over{background:#3b82f614;border-color:var(--primary-color);border-style:dashed}.column-item.hidden-column{opacity:.6}.column-item.hidden-column .column-label{text-decoration:line-through;color:var(--text-tertiary)}.drag-handle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--text-tertiary);cursor:grab;flex-shrink:0;transition:color .15s ease}.drag-handle:hover{color:var(--text-secondary)}.drag-handle.disabled{cursor:not-allowed;opacity:.3}.column-info{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.column-label{font-size:.9375rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-width{font-size:.75rem;color:var(--text-tertiary);background:var(--background-tertiary);padding:2px 8px;border-radius:4px;flex-shrink:0}.visibility-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .15s ease;flex-shrink:0}.visibility-toggle:hover:not(:disabled){background:var(--background-tertiary);color:var(--text-primary)}.visibility-toggle.hidden{color:var(--text-tertiary)}.visibility-toggle.hidden:hover:not(:disabled){color:var(--success-color, #22c55e)}.visibility-toggle:disabled,.visibility-toggle.disabled{cursor:not-allowed;opacity:.4}.column-config-note{margin:0;padding:12px;font-size:.75rem;color:var(--text-tertiary);background:var(--background-secondary);border-radius:6px;border:1px dashed var(--border-color)}.reset-btn{display:flex;align-items:center;gap:6px}:root.dark .column-item{background:var(--background-secondary);border-color:var(--border-color)}:root.dark .column-item:hover{background:var(--background-tertiary)}:root.dark .column-item.drag-over{background:#3b82f626}:root.dark .column-width{background:var(--background-tertiary)}:root.dark .column-config-note{background:var(--background-secondary);border-color:var(--border-color)}@media (max-width: 480px){.column-item{padding:10px;gap:8px}.column-info{flex-direction:column;align-items:flex-start;gap:4px}.column-width{align-self:flex-start}}.all-sites-card-config-modal{display:flex;flex-direction:column;gap:16px}.card-config-description{margin:0;font-size:.875rem;color:var(--text-secondary)}.card-field-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding:4px 0}.card-field-group{display:flex;flex-direction:column;background:var(--background-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.group-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--background-tertiary);border:none;cursor:pointer;width:100%;text-align:left;transition:background-color .15s}.group-header:hover{background:var(--background-tertiary)}.group-chevron{display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);flex-shrink:0}.group-label{flex:1;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.group-count{font-size:.6875rem;color:var(--text-tertiary);background:var(--background-secondary);padding:2px 8px;border-radius:100px}.group-fields{display:flex;flex-direction:column;gap:2px;padding:8px}.card-field-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--background-primary);border:1px solid var(--border-color);border-radius:6px;cursor:grab;transition:all .15s ease}.card-field-item:hover{background:var(--background-secondary);border-color:var(--border-color-hover, #94a3b8)}.card-field-item.dragging{opacity:.5;cursor:grabbing;transform:scale(.98)}.card-field-item.drag-over{background:#3b82f614;border-color:var(--primary-color);border-style:dashed}.card-field-item.hidden-field{opacity:.6}.card-field-item.hidden-field .field-label{text-decoration:line-through;color:var(--text-tertiary)}.field-drag-handle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text-tertiary);cursor:grab;flex-shrink:0;transition:color .15s ease}.field-drag-handle:hover{color:var(--text-secondary)}.field-drag-handle.disabled{cursor:not-allowed;opacity:.3}.field-label{flex:1;font-size:.875rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-visibility-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .15s ease;flex-shrink:0}.field-visibility-toggle:hover:not(:disabled){background:var(--background-tertiary);color:var(--text-primary)}.field-visibility-toggle.hidden{color:var(--text-tertiary)}.field-visibility-toggle.hidden:hover:not(:disabled){color:var(--success-color, #22c55e)}.field-visibility-toggle:disabled,.field-visibility-toggle.disabled{cursor:not-allowed;opacity:.4}.card-config-note{margin:0;padding:10px 12px;font-size:.75rem;color:var(--text-tertiary);background:var(--background-secondary);border-radius:6px;border:1px dashed var(--border-color)}.all-sites-card-config-modal .reset-btn{display:flex;align-items:center;gap:6px}:root.dark .card-field-group{background:var(--background-secondary);border-color:var(--border-color)}:root.dark .group-header{background:var(--background-tertiary)}:root.dark .group-count{background:var(--background-secondary)}:root.dark .card-field-item{background:var(--background-primary);border-color:var(--border-color)}:root.dark .card-field-item:hover{background:var(--background-secondary)}:root.dark .card-field-item.drag-over{background:#3b82f626}:root.dark .card-config-note{background:var(--background-secondary);border-color:var(--border-color)}@media (max-width: 480px){.card-field-item{padding:8px;gap:6px}.group-header{padding:8px 10px}.group-fields{padding:6px}}.all-sites-toolbar{display:flex;flex-direction:column;gap:0;padding:0;background-color:var(--background-primary);border-bottom:1px solid var(--border-color)}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.75rem 1.5rem;background-color:var(--background-primary);border-bottom:1px solid var(--border-color-light, rgba(0, 0, 0, .06))}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:.75rem}.toolbar-separator{width:1px;height:24px;background-color:var(--border-color)}.view-switcher{display:flex;background-color:var(--background-secondary);border-radius:6px;padding:2px}.view-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:none;border:none;border-radius:4px;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.view-btn:hover{color:var(--text-primary)}.view-btn.active{background-color:var(--background-primary);color:var(--primary-color);box-shadow:0 1px 2px #0000000d}.view-btn-label{display:none}@media (min-width: 768px){.view-btn-label{display:inline}}.quick-filters{display:flex;gap:.375rem;padding:.25rem .5rem;background-color:var(--background-secondary, #f8fafc);border-radius:8px;border:1px solid var(--border-color-light, rgba(0, 0, 0, .06))}.status-filter-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background-color:var(--background-secondary);border:1.5px solid var(--border-color);border-radius:6px;font-size:.75rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s}.status-filter-btn:hover{border-color:var(--status-color);color:var(--status-color)}.status-filter-btn.active{background-color:var(--status-color);border-color:var(--status-color);color:#fff}.filter-toggle-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background-color:var(--background-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.filter-toggle-btn:hover{border-color:var(--border-color-hover, #94a3b8);color:var(--text-primary)}.filter-toggle-btn.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.filter-toggle-btn.has-filters{border-color:var(--primary-color);color:var(--primary-color)}.filter-toggle-btn.has-filters.active{color:#fff}.search-wrapper{min-width:200px;max-width:280px}.search-clear{display:flex;align-items:center;justify-content:center;padding:2px;background:none;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:4px;transition:color .15s}.search-clear:hover{color:var(--text-primary)}.filter-pills-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.5rem 1.5rem;background-color:var(--background-secondary, #f8fafc);border-bottom:1px solid var(--border-color-light, rgba(0, 0, 0, .06))}.selection-info{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary)}.selection-info button{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.8125rem;text-decoration:underline}.selection-info button:hover{color:var(--primary-color-dark, #2563eb)}.pills-separator{width:1px;height:20px;background-color:var(--border-color)}.filter-pills{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.filter-pill{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem .25rem .625rem;background-color:var(--background-secondary);border:1px solid var(--border-color);border-radius:100px;font-size:.75rem;color:var(--text-primary)}.filter-pill button{display:flex;align-items:center;justify-content:center;padding:2px;background:none;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:50%;transition:all .15s}.filter-pill button:hover{background-color:var(--background-tertiary);color:var(--text-primary)}.clear-all-btn{background:none;border:none;color:var(--text-secondary);font-size:.75rem;cursor:pointer;text-decoration:underline}.clear-all-btn:hover{color:var(--text-primary)}.filters-panel{padding:1rem 1.5rem;background-color:var(--background-tertiary, #f1f5f9);border-bottom:1px solid var(--border-color)}.filters-panel:before{content:"Advanced Filters";display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:.75rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group>label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.025em}.toggle-group{display:flex;gap:.375rem}.toggle-group button{flex:1;padding:.375rem .625rem;background-color:var(--background-primary);border:1px solid var(--border-color);border-radius:4px;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.toggle-group button:hover{border-color:var(--primary-color)}.toggle-group button.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.checkbox-group{display:flex;flex-direction:column;gap:.375rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-primary);cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.results-summary{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;background-color:var(--background-secondary, #f8fafc);font-size:.75rem;color:var(--text-secondary)}.results-info{display:flex;align-items:center;gap:1rem}.results-count{font-weight:500}.page-size-selector{display:flex;align-items:center;gap:.375rem}.page-size-label{font-size:.75rem;color:var(--text-tertiary)}.page-size-select{padding:.25rem 1.5rem .25rem .5rem;font-size:.75rem;font-weight:500;color:var(--text-primary);background-color:var(--background-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' 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 .375rem center;transition:border-color .15s,box-shadow .15s}.page-size-select:hover{border-color:var(--border-color-hover, #94a3b8)}.page-size-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.page-info{color:var(--text-tertiary)}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-btn{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;background-color:var(--background-primary);border:1px solid var(--border-color);border-radius:6px;font-size:.75rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.pagination-btn:hover:not(:disabled){background-color:var(--background-secondary);border-color:var(--border-color-hover, #94a3b8);color:var(--text-primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn-label{display:none}@media (min-width: 480px){.pagination-btn-label{display:inline}}:root.dark .view-btn.active{box-shadow:0 1px 3px #0003}:root.dark .toolbar-row{border-bottom-color:#ffffff0f}:root.dark .quick-filters{background-color:var(--background-tertiary, #1e293b);border-color:#ffffff14}:root.dark .filter-pills-row{background-color:var(--background-tertiary, #1e293b);border-bottom-color:#ffffff0f}:root.dark .filters-panel{background-color:var(--surface-elevated, #374151)}:root.dark .results-summary{background-color:var(--background-tertiary, #1e293b)}:root.dark .page-size-select{background-color:var(--background-tertiary, #1e293b);border-color:var(--border-color);color:var(--text-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' 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")}@media (max-width: 768px){.toolbar-row{flex-direction:column;align-items:stretch;padding:.75rem 1rem}.toolbar-left,.toolbar-right{justify-content:space-between;width:100%}.search-wrapper{min-width:0;max-width:none;flex:1}.filter-pills-row{padding:.5rem 1rem}.filters-panel{padding:1rem}.results-summary{padding:.5rem 1rem}.filters-grid{grid-template-columns:1fr}}@media (max-width: 480px){.page-size-selector{display:none}}.list-filter-btn{position:relative;display:inline-flex;align-items:center;gap:.375rem;white-space:nowrap;max-width:140px;overflow:hidden}.list-filter-btn .btn-label{font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.list-filter-btn .btn-label{display:none}.list-filter-btn{max-width:none}}.filter-active-dot{position:absolute;top:-4px;right:-4px;width:10px;height:10px;background-color:var(--color-success, #10b981);border-radius:50%;border:2px solid var(--background-primary, white);box-shadow:0 1px 2px #0000001a}:root.dark .filter-active-dot{border-color:var(--background-primary, #1f2937)}.column-header-wrapper{position:relative;display:flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.column-header-wrapper:hover{color:var(--text-primary)}.column-header-content{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.column-header-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sort-indicator{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary-color)}.dropdown-trigger{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:2px;flex-shrink:0;opacity:0;transition:opacity .15s ease,background-color .15s ease;color:var(--text-tertiary)}.column-header-wrapper:hover .dropdown-trigger,.column-header-wrapper.dropdown-open .dropdown-trigger{opacity:1}.dropdown-trigger:hover{background-color:var(--background-tertiary);color:var(--text-primary)}.column-header-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:var(--background-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:var(--z-dropdown, 1000);padding:6px;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border-color);margin-bottom:6px}.dropdown-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.sort-options{display:flex;flex-direction:column;gap:2px}.sort-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:background-color .15s ease;text-align:left;width:100%;font-size:.875rem;color:var(--text-primary)}.sort-option:hover{background-color:var(--background-secondary)}.sort-option.active{background-color:var(--primary-bg, rgba(59, 130, 246, .1));color:var(--primary-color)}.sort-option-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--text-tertiary)}.sort-option.active .sort-option-icon{color:var(--primary-color)}.sort-option-label{flex:1}.sort-option-check{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;color:var(--primary-color)}.dropdown-divider{height:1px;background:var(--border-color);margin:6px 0}.sort-option.clear-sort{color:var(--text-secondary)}.sort-option.clear-sort:hover{color:var(--text-primary)}:root.dark .column-header-dropdown{background:var(--background-primary);border-color:var(--border-color);box-shadow:0 4px 16px #0000004d}:root.dark .sort-option:hover{background-color:var(--background-secondary)}:root.dark .sort-option.active{background-color:#3b82f626}@media (max-width: 768px){.column-header-dropdown{min-width:180px}.sort-option{padding:8px 10px;font-size:.8125rem}}.all-sites-table{display:flex;flex-direction:column;height:100%;background-color:var(--background-primary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.all-sites-table .table-header{display:grid;background-color:var(--background-tertiary, #f1f5f9);border-bottom:2px solid var(--border-color-strong, #cbd5e1);box-shadow:0 1px 3px #0000000d;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:var(--text-secondary);position:sticky;top:0;z-index:1}.all-sites-table .header-cell{display:flex;align-items:center;gap:.375rem;padding:.75rem .5rem;-webkit-user-select:none;user-select:none}.all-sites-table .header-cell.sortable{cursor:default;transition:color .15s;position:relative}.all-sites-table .header-cell.sortable:hover{color:var(--text-primary)}.all-sites-table .header-cell.sorted{color:var(--primary-color);background-color:#3b82f60a}.all-sites-table .header-cell .column-header-dropdown{left:-4px}.all-sites-table .table-body{flex:1;overflow-y:auto;overflow-x:hidden}.all-sites-table .table-row{display:grid;align-items:center;border-bottom:1px solid var(--border-color, #f0f0f0);border-left:3px solid transparent;cursor:pointer;transition:background-color .15s ease,border-left-color .15s ease}.all-sites-table .table-row:hover{background-color:var(--bg-hover, #f8f9fa)}.all-sites-table .table-row.checked{background-color:var(--primary-bg, #eff6ff);border-left-color:var(--primary-color, #3b82f6)}.all-sites-table .table-row.checked:hover{background-color:var(--primary-bg-hover, #dbeafe);border-left-color:var(--primary-color, #3b82f6)}.all-sites-table .cell{display:flex;align-items:center;gap:.375rem;padding:.5rem;font-size:.8125rem;color:var(--text-primary);overflow:hidden}.all-sites-table .checkbox-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:none;cursor:pointer;border-radius:4px;transition:background-color .15s}.all-sites-table .checkbox-btn:hover{background-color:var(--background-tertiary)}.all-sites-table .checkbox-icon{color:var(--text-tertiary);transition:color .15s}.all-sites-table .checkbox-icon.checked,.all-sites-table .checkbox-icon.indeterminate{color:var(--primary-color)}.all-sites-table .site-id-link{font-weight:500;color:var(--primary-color);cursor:pointer;transition:color .15s}.all-sites-table .site-id-link:hover{color:var(--primary-color-dark, #2563eb);text-decoration:underline}.all-sites-table .flag-icon{color:var(--warning-color, #f59e0b);flex-shrink:0}.all-sites-table .address-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.all-sites-table .jurisdiction-link{background:none;border:none;padding:0;font-size:inherit;color:var(--text-primary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s}.all-sites-table .jurisdiction-link:hover{color:var(--primary-color)}.all-sites-table .project-cell{display:flex;align-items:center;gap:.375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.all-sites-table .project-icon{flex-shrink:0;color:var(--text-tertiary)}.all-sites-table .coordinates-text{font-family:SF Mono,Menlo,Monaco,monospace;font-size:.75rem;color:var(--text-secondary)}.all-sites-table .no-value{color:var(--text-tertiary)}.all-sites-table .actions-cell{display:flex;align-items:center;gap:.25rem}.all-sites-table .action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.all-sites-table .action-btn:hover{background-color:var(--background-tertiary);color:var(--text-primary)}.all-sites-table .action-btn.review-btn:hover{color:var(--primary-color)}.all-sites-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background-color:var(--background-primary);border:1px solid var(--border-color);border-radius:8px}.all-sites-table-empty svg{color:var(--text-tertiary);margin-bottom:1rem}.all-sites-table-empty h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.all-sites-table-empty p{margin:0;font-size:.875rem;color:var(--text-secondary)}.all-sites-table .carrier-cell{font-weight:500;font-size:.75rem;color:var(--text-secondary)}.all-sites-table .health-score{display:flex;align-items:center;gap:.25rem;font-weight:500;font-size:.8125rem}.all-sites-table .health-score.health-good{color:var(--success-color, #22c55e)}.all-sites-table .health-score.health-fair{color:var(--warning-color, #f59e0b)}.all-sites-table .health-score.health-poor{color:var(--error-color, #ef4444)}.all-sites-table .days-in-stage{display:flex;align-items:center;gap:.25rem;font-weight:500;font-size:.8125rem;color:var(--text-secondary)}.all-sites-table .days-in-stage.overdue{color:var(--warning-color, #f59e0b)}.all-sites-table .assigned-user{display:flex;align-items:center;gap:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8125rem;color:var(--text-secondary)}.all-sites-table .assigned-user svg{flex-shrink:0;color:var(--text-tertiary)}:root.dark .all-sites-table .table-header{background-color:var(--background-tertiary, #1e293b);border-bottom-color:var(--border-color-strong, #475569);box-shadow:0 1px 3px #0003}:root.dark .all-sites-table .table-row:hover{background-color:var(--bg-hover, rgba(255, 255, 255, .05))}:root.dark .all-sites-table .table-row.checked{background-color:#3b82f626;border-left-color:var(--primary-color, #3b82f6)}:root.dark .all-sites-table .table-row.checked:hover{background-color:#3b82f633;border-left-color:var(--primary-color, #3b82f6)}@media (max-width: 1024px){.all-sites-table .cell{font-size:.75rem;padding:.375rem}.all-sites-table .header-cell{padding:.625rem .375rem}}.all-sites-cards{padding:1rem}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.all-sites-card{display:flex;flex-direction:column;background-color:var(--background-primary);border:1px solid var(--border-color-strong, #d1d5db);border-radius:10px;overflow:hidden;cursor:pointer;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;transition:all .2s}.all-sites-card:hover{border-color:var(--border-color-hover, #94a3b8);box-shadow:0 4px 12px #0000001a,0 2px 4px #0000000f;transform:translateY(-2px)}.all-sites-card.selected{border-color:var(--primary-color);border-width:2px;background-color:#3b82f608;box-shadow:0 0 0 3px #3b82f61a}.all-sites-card.review{border-left:3px solid var(--warning-color, #f59e0b)}.all-sites-card.accepted{border-left:3px solid var(--success-color, #10b981)}.all-sites-card.rejected{border-left:3px solid var(--error-color, #ef4444)}.all-sites-card.temporary{border-left:3px solid var(--info-color, #6366f1)}.all-sites-card .card-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background-color:var(--background-secondary)}.all-sites-card .card-header-left{display:flex;align-items:center;gap:.5rem}.all-sites-card .checkbox-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:none;cursor:pointer;border-radius:4px;transition:background-color .15s}.all-sites-card .checkbox-btn:hover{background-color:var(--background-tertiary)}.all-sites-card .checkbox-icon{color:var(--text-tertiary)}.all-sites-card .checkbox-icon.checked{color:var(--primary-color)}.all-sites-card .site-id{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.all-sites-card .flag-icon{color:var(--warning-color, #f59e0b)}.all-sites-card .card-header-right{display:flex;align-items:center;gap:.5rem}.all-sites-card .card-view-toggles{display:flex;align-items:center;gap:4px}.all-sites-card .view-toggle-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-tertiary);transition:all .15s}.all-sites-card .view-toggle-btn:hover{background-color:var(--background-tertiary);border-color:var(--border-color-hover, #94a3b8);color:var(--text-primary)}.all-sites-card .view-toggle-btn.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.all-sites-card .view-toggle-btn.active:hover{background-color:var(--primary-color-dark, #2563eb)}.all-sites-card .card-body{flex:1;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem;position:relative}.all-sites-card .card-row{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary)}.all-sites-card .row-icon{flex-shrink:0;color:var(--text-tertiary)}.all-sites-card .address-row{color:var(--text-primary)}.all-sites-card .address-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.all-sites-card .coordinates-row{padding-left:22px}.all-sites-card .coordinates-text{font-family:SF Mono,Menlo,Monaco,monospace;font-size:.75rem;color:var(--text-tertiary)}.all-sites-card .jurisdiction-link{background:none;border:none;padding:0;font-size:.8125rem;color:var(--primary-color);cursor:pointer;transition:color .15s}.all-sites-card .jurisdiction-link:hover{color:var(--primary-color-dark, #2563eb);text-decoration:underline}.all-sites-card .project-row{background-color:var(--background-secondary);padding:.375rem .5rem;border-radius:4px;margin-top:.25rem}.all-sites-card .project-text{font-weight:500;color:var(--text-primary)}.all-sites-card .tags-row{flex-wrap:wrap;gap:.375rem;margin-top:.25rem}.all-sites-card .tag-chip{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:100px;font-size:.6875rem;font-weight:500;color:#fff}.all-sites-card .tag-overflow{font-size:.6875rem;color:var(--text-tertiary)}.all-sites-card .inline-view-container{margin-top:.75rem;border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.all-sites-card .inline-street-view{height:180px;position:relative}.all-sites-card .inline-street-view .unified-street-view{height:100%}.all-sites-card .inline-street-view .unified-street-view.variant-mini{border-radius:0;border:none}.all-sites-card .map-view-container{height:180px}.all-sites-card .map-view-container .card-inline-map{height:100%;border-radius:0}.all-sites-card .card-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.625rem 1rem;border-top:1px solid var(--border-color);background-color:var(--background-secondary)}.all-sites-card .footer-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:none;border:1px solid var(--border-color);border-radius:6px;font-size:.75rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.all-sites-card .footer-btn:hover{background-color:var(--background-tertiary);border-color:var(--border-color-hover, #94a3b8);color:var(--text-primary)}.all-sites-card .footer-btn.review-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.all-sites-cards-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.all-sites-cards-empty svg{color:var(--text-tertiary);margin-bottom:1rem}.all-sites-cards-empty h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.all-sites-cards-empty p{margin:0;font-size:.875rem;color:var(--text-secondary)}:root.dark .all-sites-card{border-color:var(--border-color-strong, #4b5563);box-shadow:0 1px 3px #0000004d}:root.dark .all-sites-card:hover{box-shadow:0 4px 12px #0006,0 2px 4px #0000004d}:root.dark .all-sites-card.selected{background-color:#3b82f61f;box-shadow:0 0 0 3px #3b82f633}@media (max-width: 768px){.cards-grid{grid-template-columns:1fr}}@media (min-width: 1600px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}.all-sites-map{display:flex;flex-direction:column;height:100%;background-color:var(--background-primary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.map-info-bar{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background-color:var(--background-secondary);border-bottom:1px solid var(--border-color)}.info-stats{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;color:var(--text-secondary);flex-wrap:nowrap;white-space:nowrap;min-width:0}.stat-item{display:flex;align-items:center;gap:.375rem}.stat-item strong{color:var(--text-primary);font-weight:600}.stat-note{color:var(--text-tertiary);font-size:.6875rem;white-space:nowrap}.stat-separator{color:var(--border-color)}.status-breakdown{display:flex;align-items:center;gap:.375rem}.status-filter-badge{display:flex;align-items:center;justify-content:center;padding:0;background:none;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s;opacity:.7}.status-filter-badge:hover{opacity:1;transform:scale(1.1)}.status-filter-badge.active{opacity:1;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f626}.map-controls{display:flex;align-items:center;gap:.375rem}.map-control-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:var(--background-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.map-control-btn:hover{background-color:var(--background-tertiary);border-color:var(--border-color-hover, #94a3b8);color:var(--text-primary)}.map-control-btn:active{transform:scale(.95)}.map-container{flex:1;position:relative;min-height:400px}.all-sites-map-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background-color:var(--background-primary);border:1px solid var(--border-color);border-radius:8px;min-height:400px}.all-sites-map-empty svg{color:var(--text-tertiary);margin-bottom:1rem}.all-sites-map-empty h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.all-sites-map-empty p{margin:0;font-size:.875rem;color:var(--text-secondary)}:root.dark .map-info-bar{background-color:var(--background-tertiary)}:root.dark .map-control-btn{background-color:var(--background-secondary)}@media (max-width: 768px){.map-info-bar{flex-direction:column;gap:.5rem;padding:.625rem .75rem}.info-stats{flex-wrap:wrap;justify-content:center}.map-controls{justify-content:center}}@media (max-width: 500px){.stat-note,.stat-separator{display:none}.status-breakdown{width:100%;justify-content:center}}.all-sites-bulk-actions-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--primary-bg, #eff6ff);border-top:1px solid var(--primary-color, #3b82f6);flex-shrink:0;gap:12px;min-height:48px;overflow:visible;position:sticky;bottom:0;left:0;right:0;z-index:100}:root.dark .all-sites-bulk-actions-bar{background:#3b82f61a;border-top-color:#3b82f64d}.all-sites-bulk-actions-bar .bulk-actions-left{display:flex;align-items:center;flex-shrink:0;min-width:max-content}.all-sites-bulk-actions-bar .selection-count{font-size:.875rem;color:var(--text-secondary, #666);white-space:nowrap}.all-sites-bulk-actions-bar .selection-count strong{color:var(--primary-color, #3b82f6);font-weight:600}.all-sites-bulk-actions-bar .bulk-actions-center{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;justify-content:center;flex:1;min-width:0;overflow-x:auto;overflow-y:visible;padding:2px 0;scrollbar-width:none;-ms-overflow-style:none}.all-sites-bulk-actions-bar .bulk-actions-center::-webkit-scrollbar{display:none}.all-sites-bulk-actions-bar .bulk-actions-right{display:flex;align-items:center;flex-shrink:0;min-width:max-content}.all-sites-bulk-actions-bar .bulk-action-group{position:relative;flex-shrink:0}.all-sites-bulk-actions-bar .bulk-action-btn{display:flex;align-items:center;gap:6px;font-size:.8125rem;white-space:nowrap}.all-sites-bulk-actions-bar .bulk-action-btn svg{flex-shrink:0}.all-sites-bulk-actions-bar .delete-btn{color:var(--error-color, #ef4444);border-color:var(--error-color, #ef4444)}.all-sites-bulk-actions-bar .delete-btn:hover{background:var(--error-bg, #fef2f2)}:root.dark .all-sites-bulk-actions-bar .delete-btn:hover{background:#ef44441a}.all-sites-bulk-actions-bar .deselect-btn{display:flex;align-items:center;gap:4px;font-size:.8125rem;color:var(--text-secondary, #666)}.all-sites-bulk-actions-bar .deselect-btn:hover{color:var(--text-primary, #333)}.all-sites-bulk-actions-bar .bulk-dropdown{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);min-width:280px;background:var(--background, #fff);border:1px solid var(--border, #e5e7eb);border-radius:8px;box-shadow:0 -4px 24px #00000026;z-index:2000;overflow:visible}.bulk-dropdown-portal{min-width:280px;background:var(--background, #fff);border:1px solid var(--border, #e5e7eb);border-radius:8px;box-shadow:0 4px 24px #00000026;overflow:visible}:root.dark .all-sites-bulk-actions-bar .bulk-dropdown,:root.dark .bulk-dropdown-portal{background:var(--surface-elevated, #374151);border-color:var(--border, #4b5563);box-shadow:0 4px 24px #0006}.all-sites-bulk-actions-bar .bulk-dropdown.project-dropdown,.bulk-dropdown-portal.project-dropdown{min-width:320px}.all-sites-bulk-actions-bar .bulk-dropdown.tags-dropdown,.bulk-dropdown-portal.tags-dropdown{min-width:300px}.all-sites-bulk-actions-bar .bulk-dropdown.status-dropdown,.bulk-dropdown-portal.status-dropdown{min-width:220px}.all-sites-bulk-actions-bar .dropdown-header,.bulk-dropdown-portal .dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border, #e5e7eb);font-size:.875rem;font-weight:500;color:var(--text-primary, #333);border-radius:8px 8px 0 0}:root.dark .all-sites-bulk-actions-bar .dropdown-header,:root.dark .bulk-dropdown-portal .dropdown-header{background:var(--surface, #1f2937);border-bottom-color:var(--border, #374151);color:var(--text-primary, #f9fafb)}.all-sites-bulk-actions-bar .dropdown-close,.bulk-dropdown-portal .dropdown-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-tertiary, #999);transition:all .15s ease}.all-sites-bulk-actions-bar .dropdown-close:hover,.bulk-dropdown-portal .dropdown-close:hover{background:var(--bg-hover, #eee);color:var(--text-primary, #333)}:root.dark .all-sites-bulk-actions-bar .dropdown-close:hover,:root.dark .bulk-dropdown-portal .dropdown-close:hover{background:var(--hover-bg, #4b5563);color:var(--text-primary, #f9fafb)}.all-sites-bulk-actions-bar .dropdown-content,.bulk-dropdown-portal .dropdown-content{display:flex;flex-direction:column;gap:12px;padding:12px 16px}.all-sites-bulk-actions-bar .dropdown-loading,.bulk-dropdown-portal .dropdown-loading{padding:8px 16px;background:var(--primary-bg, #eff6ff);color:var(--primary-color, #3b82f6);font-size:.8125rem;text-align:center}.all-sites-bulk-actions-bar .apply-tags-btn,.bulk-dropdown-portal .apply-tags-btn{align-self:flex-end}.all-sites-bulk-actions-bar .status-options,.bulk-dropdown-portal .status-options{padding:8px!important;gap:4px!important}.all-sites-bulk-actions-bar .status-option,.bulk-dropdown-portal .status-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background .15s ease}.all-sites-bulk-actions-bar .status-option:hover:not(:disabled),.bulk-dropdown-portal .status-option:hover:not(:disabled){background:var(--bg-hover, #f8f9fa)}:root.dark .all-sites-bulk-actions-bar .status-option:hover:not(:disabled),:root.dark .bulk-dropdown-portal .status-option:hover:not(:disabled){background:var(--hover-bg, #4b5563)}.all-sites-bulk-actions-bar .status-option:disabled,.bulk-dropdown-portal .status-option:disabled{opacity:.5;cursor:not-allowed}.all-sites-bulk-actions-bar .status-label,.bulk-dropdown-portal .status-label{font-size:.875rem;font-weight:500;color:var(--text-primary, #333)}:root.dark .all-sites-bulk-actions-bar .status-label,:root.dark .bulk-dropdown-portal .status-label{color:var(--text-primary, #f9fafb)}.all-sites-bulk-actions-bar .export-options,.bulk-dropdown-portal .export-options{padding:8px!important;gap:4px!important}.all-sites-bulk-actions-bar .export-option,.bulk-dropdown-portal .export-option{display:flex;align-items:center;width:100%;padding:12px;gap:12px;background:transparent;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background .15s ease}.all-sites-bulk-actions-bar .export-option:hover:not(:disabled),.bulk-dropdown-portal .export-option:hover:not(:disabled){background:var(--bg-hover, #f8f9fa)}:root.dark .all-sites-bulk-actions-bar .export-option:hover:not(:disabled),:root.dark .bulk-dropdown-portal .export-option:hover:not(:disabled){background:var(--hover-bg, #4b5563)}.all-sites-bulk-actions-bar .export-option:disabled,.bulk-dropdown-portal .export-option:disabled{opacity:.5;cursor:not-allowed}.all-sites-bulk-actions-bar .export-option svg,.bulk-dropdown-portal .export-option svg{flex-shrink:0;color:var(--primary-color, #3b82f6)}.all-sites-bulk-actions-bar .export-option-info,.bulk-dropdown-portal .export-option-info{display:flex;flex-direction:column;gap:2px}.all-sites-bulk-actions-bar .export-option-title,.bulk-dropdown-portal .export-option-title{font-size:.875rem;font-weight:500;color:var(--text-primary, #333)}:root.dark .all-sites-bulk-actions-bar .export-option-title,:root.dark .bulk-dropdown-portal .export-option-title{color:var(--text-primary, #f9fafb)}.all-sites-bulk-actions-bar .export-option-desc,.bulk-dropdown-portal .export-option-desc{font-size:.75rem;color:var(--text-tertiary, #999)}:root.dark .all-sites-bulk-actions-bar .export-option-desc,:root.dark .bulk-dropdown-portal .export-option-desc{color:var(--text-muted, #9ca3af)}.delete-confirm-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0}.delete-warning-icon{color:var(--error-color, #ef4444);margin-bottom:1rem}.delete-confirm-content p{margin:0 0 .5rem;font-size:.9375rem;color:var(--text-primary, #333)}.delete-confirm-content .delete-note{font-size:.8125rem;color:var(--text-secondary, #666)}.delete-confirm-btn{background:var(--error-color, #ef4444)!important;border-color:var(--error-color, #ef4444)!important}.delete-confirm-btn:hover:not(:disabled){background:var(--error-hover, #dc2626)!important;border-color:var(--error-hover, #dc2626)!important}@media (max-width: 768px){.all-sites-bulk-actions-bar{flex-wrap:nowrap;gap:8px;padding:8px 12px}.all-sites-bulk-actions-bar .bulk-actions-center{gap:4px}.all-sites-bulk-actions-bar .bulk-dropdown{position:fixed;left:50%!important;transform:translate(-50%)!important;bottom:60px;min-width:280px;max-width:calc(100vw - 32px)}}@media (max-width: 480px){.all-sites-bulk-actions-bar .bulk-action-btn{padding:6px 10px;font-size:.75rem}.all-sites-bulk-actions-bar .bulk-action-btn svg{width:12px;height:12px}.all-sites-bulk-actions-bar .selection-count{font-size:.8125rem}}.all-sites-page{display:flex;flex-direction:column;height:100%;min-height:calc(100vh - 60px);background-color:var(--background-primary)}.all-sites-loading,.all-sites-view-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:var(--text-secondary);flex:1}.all-sites-loading span,.all-sites-view-loading span{font-size:.875rem}.all-sites-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;text-align:center;flex:1}.all-sites-error .error-icon{width:48px;height:48px;border-radius:50%;background-color:var(--color-error-light, #fef2f2);color:var(--color-error, #ef4444);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.all-sites-error h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.all-sites-error p{margin:0;font-size:.875rem;color:var(--text-secondary);max-width:400px}.all-sites-error button{margin-top:.5rem;padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.all-sites-error button:hover{background-color:var(--primary-color-dark, #2563eb)}.all-sites-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;text-align:center;flex:1}.all-sites-empty .empty-icon{color:var(--text-tertiary, #94a3b8)}.all-sites-empty h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.all-sites-empty p{margin:0;font-size:.875rem;color:var(--text-secondary);max-width:400px}.all-sites-view-container{flex:1;display:flex;flex-direction:column;overflow:hidden}:root.dark .all-sites-page{background-color:var(--background-primary)}:root.dark .all-sites-error .error-icon{background-color:#ef44441a}@media (max-width: 768px){.all-sites-page{min-height:calc(100vh - 56px)}.all-sites-loading,.all-sites-error,.all-sites-empty{padding:2rem 1rem}}.workflow-guide-page{min-height:100%;background-color:#f9fafb}.dark .workflow-guide-page{background-color:#1f2937}.workflow-guide-header{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;padding:2rem}.workflow-guide-header .header-content{max-width:1200px;margin:0 auto}.workflow-guide-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.workflow-guide-header p{font-size:1rem;opacity:.9;margin:0;max-width:600px}.workflow-guide-tabs{display:flex;gap:0;background:#fff;border-bottom:1px solid #e5e7eb;padding:0 2rem;max-width:1200px;margin:0 auto}.dark .workflow-guide-tabs{background:#111827;border-bottom-color:#374151}.workflow-guide-tabs button{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.workflow-guide-tabs button:hover{color:#4f46e5}.workflow-guide-tabs button.active{color:#4f46e5;border-bottom-color:#4f46e5}.dark .workflow-guide-tabs button{color:#9ca3af}.dark .workflow-guide-tabs button:hover,.dark .workflow-guide-tabs button.active{color:#818cf8;border-bottom-color:#818cf8}.workflow-guide-content{max-width:1200px;margin:0 auto;padding:2rem}.section-intro{margin-bottom:2rem}.section-intro h2{font-size:1.5rem;font-weight:600;margin:0 0 .5rem;color:#111827}.dark .section-intro h2{color:#f9fafb}.section-intro p{color:#6b7280;margin:0;max-width:700px}.dark .section-intro p{color:#9ca3af}.pipeline-visual{display:flex;align-items:center;gap:.25rem;padding:1.5rem;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;overflow-x:auto}.dark .pipeline-visual{background:#111827}.pipeline-stage{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1rem;border-radius:.5rem;color:#fff;cursor:pointer;transition:transform .2s,box-shadow .2s;min-width:100px}.pipeline-stage:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.pipeline-stage.active{transform:translateY(-4px);box-shadow:0 6px 16px #0003}.pipeline-stage .stage-number{font-size:.75rem;font-weight:600;opacity:.8}.pipeline-stage .stage-name{font-size:.75rem;font-weight:500;text-align:center;white-space:nowrap}.pipeline-arrow{color:#d1d5db;flex-shrink:0}.dark .pipeline-arrow{color:#4b5563}.stage-cards{display:flex;flex-direction:column;gap:.75rem}.stage-card{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s}.dark .stage-card{background:#111827}.stage-card:hover{box-shadow:0 4px 12px #0000001a}.stage-card-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.25rem;background:none;border:none;border-left:4px solid;cursor:pointer;text-align:left}.stage-card-title-row{display:flex;align-items:center;gap:.75rem}.stage-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.stage-title-info h3{margin:0;font-size:1rem;font-weight:600;color:#111827}.dark .stage-title-info h3{color:#f9fafb}.stage-title-info p{margin:0;font-size:.875rem;color:#6b7280}.dark .stage-title-info p{color:#9ca3af}.stage-card-meta{display:flex;align-items:center;gap:.75rem;color:#6b7280}.dark .stage-card-meta{color:#9ca3af}.shot-clock-badge,.terminal-badge{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.shot-clock-badge{background:#fef3c7;color:#d97706}.dark .shot-clock-badge{background:#78350f;color:#fcd34d}.terminal-badge{background:#d1fae5;color:#059669}.dark .terminal-badge{background:#064e3b;color:#34d399}.stage-card-content{padding:0 1.25rem 1.25rem;border-top:1px solid #e5e7eb}.dark .stage-card-content{border-top-color:#374151}.stage-detail-section{margin-top:1rem}.stage-detail-section h4{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .5rem}.dark .stage-detail-section h4{color:#d1d5db}.stage-detail-section p{font-size:.875rem;color:#6b7280;margin:0;line-height:1.5}.dark .stage-detail-section p{color:#9ca3af}.stage-detail-section ul{list-style:none;padding:0;margin:0}.stage-detail-section li{display:flex;align-items:flex-start;gap:.5rem;padding:.25rem 0;font-size:.875rem;color:#6b7280}.dark .stage-detail-section li{color:#9ca3af}.stage-detail-section li svg{flex-shrink:0;margin-top:.125rem;color:#9ca3af}.dark .stage-detail-section li svg{color:#6b7280}.criteria-list li svg{color:#10b981}.dark .criteria-list li svg{color:#34d399}.stage-meta-info{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.dark .stage-meta-info{border-top-color:#374151}.stage-meta-info span{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#6b7280}.dark .stage-meta-info span{color:#9ca3af}.stage-meta-info .shot-clock-note{color:#d97706}.dark .stage-meta-info .shot-clock-note{color:#fcd34d}.guides-grid{display:grid;gap:.75rem}.how-to-card{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.dark .how-to-card{background:#111827}.how-to-card-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.25rem;background:none;border:none;cursor:pointer;text-align:left}.how-to-title-row{display:flex;align-items:center;gap:.75rem}.how-to-title-row svg{color:#4f46e5;flex-shrink:0}.dark .how-to-title-row svg{color:#818cf8}.how-to-title-row h3{margin:0;font-size:1rem;font-weight:600;color:#111827}.dark .how-to-title-row h3{color:#f9fafb}.how-to-title-row p{margin:0;font-size:.875rem;color:#6b7280}.dark .how-to-title-row p{color:#9ca3af}.how-to-card-header>svg{color:#6b7280;flex-shrink:0}.dark .how-to-card-header>svg{color:#9ca3af}.how-to-card-content{padding:0 1.25rem 1.25rem;border-top:1px solid #e5e7eb}.dark .how-to-card-content{border-top-color:#374151}.how-to-section{margin-top:1rem}.how-to-section h4{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .5rem}.dark .how-to-section h4{color:#d1d5db}.how-to-section ol{margin:0;padding-left:1.25rem}.how-to-section li{font-size:.875rem;color:#6b7280;padding:.25rem 0;line-height:1.5}.dark .how-to-section li{color:#9ca3af}.practices-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.practice-card{background:#fff;border-radius:.75rem;padding:1.25rem;box-shadow:0 1px 3px #0000001a}.dark .practice-card{background:#111827}.practice-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.practice-header svg{color:#4f46e5}.dark .practice-header svg{color:#818cf8}.practice-header h3{margin:0;font-size:1rem;font-weight:600;color:#111827}.dark .practice-header h3{color:#f9fafb}.practice-card ul{list-style:none;padding:0;margin:0}.practice-card li{display:flex;align-items:flex-start;gap:.5rem;padding:.375rem 0;font-size:.875rem;color:#6b7280;line-height:1.4}.dark .practice-card li{color:#9ca3af}.practice-card li svg{flex-shrink:0;margin-top:.125rem;color:#10b981}.dark .practice-card li svg{color:#34d399}@media (max-width: 768px){.workflow-guide-header{padding:1.5rem}.workflow-guide-header h1{font-size:1.5rem}.workflow-guide-tabs{padding:0 1rem;overflow-x:auto}.workflow-guide-tabs button{padding:.75rem 1rem;font-size:.8rem}.workflow-guide-content,.pipeline-visual{padding:1rem}.pipeline-stage{min-width:80px;padding:.5rem .75rem}.pipeline-stage .stage-name{font-size:.65rem}.practices-grid{grid-template-columns:1fr}}/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", Menlo, Monaco, monospace;--color-red-50: oklch(97.1% .013 17.38);--color-red-100: oklch(93.6% .032 17.717);--color-red-200: oklch(88.5% .062 18.334);--color-red-300: oklch(80.8% .114 19.571);--color-red-400: oklch(70.4% .191 22.216);--color-red-500: oklch(63.7% .237 25.331);--color-red-600: oklch(57.7% .245 27.325);--color-red-700: oklch(50.5% .213 27.518);--color-red-800: oklch(44.4% .177 26.899);--color-red-900: oklch(39.6% .141 25.723);--color-red-950: oklch(25.8% .092 26.042);--color-orange-50: oklch(98% .016 73.684);--color-orange-100: oklch(95.4% .038 75.164);--color-orange-200: oklch(90.1% .076 70.697);--color-orange-300: oklch(83.7% .128 66.29);--color-orange-400: oklch(75% .183 55.934);--color-orange-500: oklch(70.5% .213 47.604);--color-orange-600: oklch(64.6% .222 41.116);--color-orange-700: oklch(55.3% .195 38.402);--color-orange-800: oklch(47% .157 37.304);--color-orange-900: oklch(40.8% .123 38.172);--color-amber-50: oklch(98.7% .022 95.277);--color-amber-100: oklch(96.2% .059 95.617);--color-amber-200: oklch(92.4% .12 95.746);--color-amber-300: oklch(87.9% .169 91.605);--color-amber-400: oklch(82.8% .189 84.429);--color-amber-500: oklch(76.9% .188 70.08);--color-amber-600: oklch(66.6% .179 58.318);--color-amber-700: oklch(55.5% .163 48.998);--color-amber-800: oklch(47.3% .137 46.201);--color-amber-900: oklch(41.4% .112 45.904);--color-yellow-50: oklch(98.7% .026 102.212);--color-yellow-100: oklch(97.3% .071 103.193);--color-yellow-200: oklch(94.5% .129 101.54);--color-yellow-300: oklch(90.5% .182 98.111);--color-yellow-400: oklch(85.2% .199 91.936);--color-yellow-500: oklch(79.5% .184 86.047);--color-yellow-600: oklch(68.1% .162 75.834);--color-yellow-700: oklch(55.4% .135 66.442);--color-yellow-800: oklch(47.6% .114 61.907);--color-yellow-900: oklch(42.1% .095 57.708);--color-green-50: oklch(98.2% .018 155.826);--color-green-100: oklch(96.2% .044 156.743);--color-green-200: oklch(92.5% .084 155.995);--color-green-300: oklch(87.1% .15 154.449);--color-green-400: oklch(79.2% .209 151.711);--color-green-500: oklch(72.3% .219 149.579);--color-green-600: oklch(62.7% .194 149.214);--color-green-700: oklch(52.7% .154 150.069);--color-green-800: oklch(44.8% .119 151.328);--color-green-900: oklch(39.3% .095 152.535);--color-emerald-100: oklch(95% .052 163.051);--color-emerald-300: oklch(84.5% .143 164.978);--color-emerald-700: oklch(50.8% .118 165.612);--color-emerald-900: oklch(37.8% .077 168.94);--color-teal-100: oklch(95.3% .051 180.801);--color-teal-300: oklch(85.5% .138 181.071);--color-teal-400: oklch(77.7% .152 181.912);--color-teal-600: oklch(60% .118 184.704);--color-teal-700: oklch(51.1% .096 186.391);--color-teal-800: oklch(43.7% .078 188.216);--color-teal-900: oklch(38.6% .063 188.416);--color-cyan-100: oklch(95.6% .045 203.388);--color-cyan-300: oklch(86.5% .127 207.078);--color-cyan-700: oklch(52% .105 223.128);--color-cyan-900: oklch(39.8% .07 227.392);--color-blue-50: oklch(97% .014 254.604);--color-blue-100: oklch(93.2% .032 255.585);--color-blue-200: oklch(88.2% .059 254.128);--color-blue-300: oklch(80.9% .105 251.813);--color-blue-400: oklch(70.7% .165 254.624);--color-blue-500: oklch(62.3% .214 259.815);--color-blue-600: oklch(54.6% .245 262.881);--color-blue-700: oklch(48.8% .243 264.376);--color-blue-800: oklch(42.4% .199 265.638);--color-blue-900: oklch(37.9% .146 265.522);--color-indigo-50: oklch(96.2% .018 272.314);--color-indigo-100: oklch(93% .034 272.788);--color-indigo-200: oklch(87% .065 274.039);--color-indigo-300: oklch(78.5% .115 274.713);--color-indigo-400: oklch(67.3% .182 276.935);--color-indigo-500: oklch(58.5% .233 277.117);--color-indigo-600: oklch(51.1% .262 276.966);--color-indigo-700: oklch(45.7% .24 277.023);--color-indigo-800: oklch(39.8% .195 277.366);--color-indigo-900: oklch(35.9% .144 278.697);--color-violet-50: oklch(96.9% .016 293.756);--color-violet-100: oklch(94.3% .029 294.588);--color-violet-200: oklch(89.4% .057 293.283);--color-violet-300: oklch(81.1% .111 293.571);--color-violet-400: oklch(70.2% .183 293.541);--color-violet-500: oklch(60.6% .25 292.717);--color-violet-600: oklch(54.1% .281 293.009);--color-violet-700: oklch(49.1% .27 292.581);--color-violet-800: oklch(43.2% .232 292.759);--color-violet-900: oklch(38% .189 293.745);--color-violet-950: oklch(28.3% .141 291.089);--color-purple-50: oklch(97.7% .014 308.299);--color-purple-100: oklch(94.6% .033 307.174);--color-purple-200: oklch(90.2% .063 306.703);--color-purple-300: oklch(82.7% .119 306.383);--color-purple-400: oklch(71.4% .203 305.504);--color-purple-500: oklch(62.7% .265 303.9);--color-purple-600: oklch(55.8% .288 302.321);--color-purple-700: oklch(49.6% .265 301.924);--color-purple-800: oklch(43.8% .218 303.724);--color-purple-900: oklch(38.1% .176 304.987);--color-pink-100: oklch(94.8% .028 342.258);--color-pink-300: oklch(82.3% .12 346.018);--color-pink-700: oklch(52.5% .223 3.958);--color-pink-900: oklch(40.8% .153 2.432);--color-gray-50: oklch(98.5% .002 247.839);--color-gray-100: oklch(96.7% .003 264.542);--color-gray-200: oklch(92.8% .006 264.531);--color-gray-300: oklch(87.2% .01 258.338);--color-gray-400: oklch(70.7% .022 261.325);--color-gray-500: oklch(55.1% .027 264.364);--color-gray-600: oklch(44.6% .03 256.802);--color-gray-700: oklch(37.3% .034 259.733);--color-gray-800: oklch(27.8% .033 256.848);--color-gray-900: oklch(21% .034 264.665);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-xs: 20rem;--container-sm: 24rem;--container-md: 28rem;--container-lg: 32rem;--container-2xl: 42rem;--container-3xl: 48rem;--container-4xl: 56rem;--container-6xl: 72rem;--container-7xl: 80rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--text-3xl: 1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-wide: .025em;--tracking-wider: .05em;--leading-tight: 1.25;--leading-snug: 1.375;--leading-relaxed: 1.625;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--animate-spin: spin 1s linear infinite;--animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono);--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #2563eb;--color-primary-600: #1d4ed8;--color-primary-700: #1e40af;--color-primary-900: #1e3a8a;--color-success: #10b981;--color-success-light: #d1fae5;--color-success-text: #059669;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-warning-text: #b45309;--color-error: #ef4444;--color-error-light: #fee2e2;--color-error-text: #dc2626;--color-surface: #f8f9fa;--color-border: #e5e7eb;--color-border-dark: #374151;--z-dropdown: 1000;--z-sticky: 1500}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.top-8{top:calc(var(--spacing) * 8)}.top-full{top:100%}.-right-1{right:calc(var(--spacing) * -1)}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-14{right:calc(var(--spacing) * 14)}.-bottom-1{bottom:calc(var(--spacing) * -1)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-1{bottom:calc(var(--spacing) * 1)}.bottom-2{bottom:calc(var(--spacing) * 2)}.left-0{left:calc(var(--spacing) * 0)}.left-0\.5{left:calc(var(--spacing) * .5)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-5{left:calc(var(--spacing) * 5)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1100\]{z-index:1100}.z-\[10020\]{z-index:10020}.z-\[10040\]{z-index:10040}.z-\[10050\]{z-index:10050}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.\!container{width:100%!important}@media (width >= 40rem){.\!container{max-width:40rem!important}}@media (width >= 48rem){.\!container{max-width:48rem!important}}@media (width >= 64rem){.\!container{max-width:64rem!important}}@media (width >= 80rem){.\!container{max-width:80rem!important}}@media (width >= 96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (width >= 40rem){.container{max-width:40rem}}@media (width >= 48rem){.container{max-width:48rem}}@media (width >= 64rem){.container{max-width:64rem}}@media (width >= 80rem){.container{max-width:80rem}}@media (width >= 96rem){.container{max-width:96rem}}.-mx-1\.5{margin-inline:calc(var(--spacing) * -1.5)}.-mx-6{margin-inline:calc(var(--spacing) * -6)}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-6{margin-inline:calc(var(--spacing) * 6)}.mx-auto{margin-inline:auto}.-my-1\.5{margin-block:calc(var(--spacing) * -1.5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.-mr-0\.5{margin-right:calc(var(--spacing) * -.5)}.-mr-1{margin-right:calc(var(--spacing) * -1)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-auto{margin-right:auto}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.-mb-\[1px\]{margin-bottom:-1px}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-px{margin-left:-1px}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-10{margin-left:calc(var(--spacing) * 10)}.ml-auto{margin-left:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1 / 1}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-5\/6{height:calc(5/6 * 100%)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-64{height:calc(var(--spacing) * 64)}.h-full{height:100%}.h-px{height:1px}.max-h-0{max-height:calc(var(--spacing) * 0)}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[2000px\]{max-height:2000px}.max-h-\[calc\(90vh-100px\)\]{max-height:calc(90vh - 100px)}.max-h-\[calc\(100vh-100px\)\]{max-height:calc(100vh - 100px)}.max-h-\[calc\(100vh-140px\)\]{max-height:calc(100vh - 140px)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[28px\]{min-height:28px}.min-h-\[60px\]{min-height:60px}.min-h-\[80px\]{min-height:80px}.min-h-\[200px\]{min-height:200px}.min-h-\[400px\]{min-height:400px}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-1\/3{width:calc(1/3 * 100%)}.w-1\/4{width:25%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/3{width:calc(2/3 * 100%)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-\[280px\]{width:280px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[90vw\]{max-width:90vw}.max-w-\[120px\]{max-width:120px}.max-w-\[200px\]{max-width:200px}.max-w-\[280px\]{max-width:280px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-64{min-width:calc(var(--spacing) * 64)}.min-w-\[32px\]{min-width:32px}.min-w-\[40px\]{min-width:40px}.min-w-\[48px\]{min-width:48px}.min-w-\[60px\]{min-width:60px}.min-w-\[70px\]{min-width:70px}.min-w-\[80px\]{min-width:80px}.min-w-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.min-w-\[180px\]{min-width:180px}.min-w-\[220px\]{min-width:220px}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-2{flex:2}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x: calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-5{--tw-translate-x: calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-7{--tw-translate-x: calc(var(--spacing) * 7);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-2{--tw-translate-y: calc(var(--spacing) * -2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y: calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-95{--tw-scale-x: 95%;--tw-scale-y: 95%;--tw-scale-z: 95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x: 100%;--tw-scale-y: 100%;--tw-scale-z: 100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-105{--tw-scale-x: 105%;--tw-scale-y: 105%;--tw-scale-z: 105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-0{rotate:0deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.space-y-0\.5 :where(>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}.space-y-1 :where(>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.space-y-1\.5 :where(>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}.space-y-2 :where(>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.space-y-3 :where(>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.space-y-4 :where(>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.space-y-6 :where(>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.space-x-1 :where(>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)))}.space-x-2 :where(>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.space-x-3 :where(>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}.space-x-4 :where(>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.divide-y :where(>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.divide-gray-100 :where(>:not(:last-child)){border-color:var(--color-gray-100)}.divide-gray-200 :where(>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style: dashed;border-style:dashed}.border-none{--tw-border-style: none;border-style:none}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-500{border-color:var(--color-amber-500)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-200\/80{border-color:color-mix(in srgb,oklch(92.8% .006 264.531) 80%,transparent)}@supports (color: color-mix(in lab,red,red)){.border-gray-200\/80{border-color:color-mix(in oklab,var(--color-gray-200) 80%,transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-600{border-color:var(--color-gray-600)}.border-gray-700{border-color:var(--color-gray-700)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-green-400{border-color:var(--color-green-400)}.border-green-500{border-color:var(--color-green-500)}.border-green-600{border-color:var(--color-green-600)}.border-indigo-200{border-color:var(--color-indigo-200)}.border-indigo-300{border-color:var(--color-indigo-300)}.border-indigo-400{border-color:var(--color-indigo-400)}.border-indigo-600{border-color:var(--color-indigo-600)}.border-indigo-700{border-color:var(--color-indigo-700)}.border-orange-200{border-color:var(--color-orange-200)}.border-orange-300{border-color:var(--color-orange-300)}.border-primary-500{border-color:var(--color-primary-500)}.border-primary-600{border-color:var(--color-primary-600)}.border-purple-200{border-color:var(--color-purple-200)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-600{border-color:var(--color-red-600)}.border-transparent{border-color:transparent}.border-violet-200{border-color:var(--color-violet-200)}.border-violet-400{border-color:var(--color-violet-400)}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-300{border-color:var(--color-yellow-300)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black{background-color:var(--color-black)}.bg-black\/40{background-color:color-mix(in srgb,#000 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:color-mix(in srgb,#000 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/80{background-color:color-mix(in srgb,#000 80%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-100\/50{background-color:color-mix(in srgb,oklch(93.2% .032 255.585) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-blue-100\/50{background-color:color-mix(in oklab,var(--color-blue-100) 50%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-pink-100{background-color:var(--color-pink-100)}.bg-primary-50{background-color:var(--color-primary-50)}.bg-primary-100{background-color:var(--color-primary-100)}.bg-primary-500{background-color:var(--color-primary-500)}.bg-primary-600{background-color:var(--color-primary-600)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-600{background-color:var(--color-purple-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-200\/50{background-color:color-mix(in srgb,oklch(88.5% .062 18.334) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-red-200\/50{background-color:color-mix(in oklab,var(--color-red-200) 50%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-teal-100{background-color:var(--color-teal-100)}.bg-transparent{background-color:transparent}.bg-violet-50{background-color:var(--color-violet-50)}.bg-violet-100{background-color:var(--color-violet-100)}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-600{background-color:var(--color-violet-600)}.bg-white{background-color:var(--color-white)}.bg-white\/20{background-color:color-mix(in srgb,#fff 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-l{--tw-gradient-position: to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position: to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position: to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\/70{--tw-gradient-from: color-mix(in srgb, #000 70%, transparent);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color: color-mix(in lab,red,red)){.from-black\/70{--tw-gradient-from: color-mix(in oklab, var(--color-black) 70%, transparent)}}.from-blue-500{--tw-gradient-from: var(--color-blue-500);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-green-500{--tw-gradient-from: var(--color-green-500);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-orange-500{--tw-gradient-from: var(--color-orange-500);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-500{--tw-gradient-from: var(--color-purple-500);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-600{--tw-gradient-from: var(--color-purple-600);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-red-50{--tw-gradient-from: var(--color-red-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-white{--tw-gradient-from: var(--color-white);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-600{--tw-gradient-to: var(--color-blue-600);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-green-600{--tw-gradient-to: var(--color-green-600);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-orange-600{--tw-gradient-to: var(--color-orange-600);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to: var(--color-purple-600);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-red-100\/50{--tw-gradient-to: color-mix(in srgb, oklch(93.6% .032 17.717) 50%, transparent);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color: color-mix(in lab,red,red)){.to-red-100\/50{--tw-gradient-to: color-mix(in oklab, var(--color-red-100) 50%, transparent)}}.to-transparent{--tw-gradient-to: transparent;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-amber-400{fill:var(--color-amber-400)}.fill-gray-500{fill:var(--color-gray-500)}.fill-gray-900{fill:var(--color-gray-900)}.fill-white{fill:var(--color-white)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-11{padding-right:calc(var(--spacing) * 11)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-11{padding-left:calc(var(--spacing) * 11)}.pl-12{padding-left:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading, var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-relaxed{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading: var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading: var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight: var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking: var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking: var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-blue-100{color:var(--color-blue-100)}.text-blue-200{color:var(--color-blue-200)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-cyan-700{color:var(--color-cyan-700)}.text-emerald-700{color:var(--color-emerald-700)}.text-error{color:var(--color-error)}.text-gray-100{color:var(--color-gray-100)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-100{color:var(--color-green-100)}.text-green-200{color:var(--color-green-200)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-orange-100{color:var(--color-orange-100)}.text-orange-200{color:var(--color-orange-200)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-orange-800{color:var(--color-orange-800)}.text-pink-700{color:var(--color-pink-700)}.text-primary-500{color:var(--color-primary-500)}.text-primary-600{color:var(--color-primary-600)}.text-primary-700{color:var(--color-primary-700)}.text-purple-100{color:var(--color-purple-100)}.text-purple-200{color:var(--color-purple-200)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-600\/70{color:color-mix(in srgb,oklch(57.7% .245 27.325) 70%,transparent)}@supports (color: color-mix(in lab,red,red)){.text-red-600\/70{color:color-mix(in oklab,var(--color-red-600) 70%,transparent)}}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-success{color:var(--color-success)}.text-teal-600{color:var(--color-teal-600)}.text-teal-700{color:var(--color-teal-700)}.text-teal-800{color:var(--color-teal-800)}.text-violet-600{color:var(--color-violet-600)}.text-violet-700{color:var(--color-violet-700)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.placeholder-red-300::placeholder{color:var(--color-red-300)}.accent-blue-600{accent-color:var(--color-blue-600)}.accent-indigo-600{accent-color:var(--color-indigo-600)}.opacity-0{opacity:0%}.opacity-25{opacity:25%}.opacity-30{opacity:30%}.opacity-50{opacity:50%}.opacity-60{opacity:60%}.opacity-70{opacity:70%}.opacity-75{opacity:75%}.opacity-80{opacity:80%}.opacity-90{opacity:90%}.opacity-100{opacity:100%}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / .25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-blue-200{--tw-ring-color: var(--color-blue-200)}.ring-blue-500{--tw-ring-color: var(--color-blue-500)}.ring-green-100{--tw-ring-color: var(--color-green-100)}.ring-green-400{--tw-ring-color: var(--color-green-400)}.ring-indigo-100{--tw-ring-color: var(--color-indigo-100)}.ring-primary-500\/20{--tw-ring-color: color-mix(in srgb, #2563eb 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.ring-primary-500\/20{--tw-ring-color: color-mix(in oklab, var(--color-primary-500) 20%, transparent)}}.ring-violet-300{--tw-ring-color: var(--color-violet-300)}.ring-offset-1{--tw-ring-offset-width: 1px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-2{--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-md{--tw-drop-shadow-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color, rgb(0 0 0 / .12)));--tw-drop-shadow: drop-shadow(var(--drop-shadow-md));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.duration-150{--tw-duration: .15s;transition-duration:.15s}.duration-200{--tw-duration: .2s;transition-duration:.2s}.duration-300{--tw-duration: .3s;transition-duration:.3s}.duration-500{--tw-duration: .5s;transition-duration:.5s}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease: var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style: none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}@media (hover: hover){.group-hover\:text-blue-600:is(:where(.group):hover *){color:var(--color-blue-600)}}@media (hover: hover){.group-hover\:text-blue-700:is(:where(.group):hover *){color:var(--color-blue-700)}}@media (hover: hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:100%}}.peer-checked\:border-primary-600:is(:where(.peer):checked~*){border-color:var(--color-primary-600)}.peer-checked\:border-red-600:is(:where(.peer):checked~*){border-color:var(--color-red-600)}.peer-checked\:bg-primary-600:is(:where(.peer):checked~*){background-color:var(--color-primary-600)}.peer-checked\:bg-red-600:is(:where(.peer):checked~*){background-color:var(--color-red-600)}.peer-checked\:opacity-100:is(:where(.peer):checked~*){opacity:100%}@media (hover: hover){.peer-hover\:border-gray-400:is(:where(.peer):hover~*){border-color:var(--color-gray-400)}}.peer-focus-visible\:ring-2:is(:where(.peer):focus-visible~*){--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peer-focus-visible\:ring-primary-500:is(:where(.peer):focus-visible~*){--tw-ring-color: var(--color-primary-500)}.peer-focus-visible\:ring-offset-2:is(:where(.peer):focus-visible~*){--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:50%}.placeholder\:text-gray-400::placeholder{color:var(--color-gray-400)}.placeholder\:text-gray-500::placeholder{color:var(--color-gray-500)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:right-0:after{content:var(--tw-content);right:calc(var(--spacing) * 0)}.after\:bottom-0:after{content:var(--tw-content);bottom:calc(var(--spacing) * 0)}.after\:left-0:after{content:var(--tw-content);left:calc(var(--spacing) * 0)}.after\:h-0\.5:after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.after\:bg-primary-600:after{content:var(--tw-content);background-color:var(--color-primary-600)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0px}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0px}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing) * 0)}@media (hover: hover){.hover\:scale-105:hover{--tw-scale-x: 105%;--tw-scale-y: 105%;--tw-scale-z: 105%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media (hover: hover){.hover\:border-blue-400:hover{border-color:var(--color-blue-400)}}@media (hover: hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}}@media (hover: hover){.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}}@media (hover: hover){.hover\:border-gray-500:hover{border-color:var(--color-gray-500)}}@media (hover: hover){.hover\:border-violet-300:hover{border-color:var(--color-violet-300)}}@media (hover: hover){.hover\:border-white\/50:hover{border-color:color-mix(in srgb,#fff 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\:border-white\/50:hover{border-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}}@media (hover: hover){.hover\:bg-amber-100:hover{background-color:var(--color-amber-100)}}@media (hover: hover){.hover\:bg-amber-200:hover{background-color:var(--color-amber-200)}}@media (hover: hover){.hover\:bg-black\/10:hover{background-color:color-mix(in srgb,#000 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-black\/10:hover{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}}@media (hover: hover){.hover\:bg-black\/70:hover{background-color:color-mix(in srgb,#000 70%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-black\/70:hover{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}}@media (hover: hover){.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}}@media (hover: hover){.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}}@media (hover: hover){.hover\:bg-blue-200:hover{background-color:var(--color-blue-200)}}@media (hover: hover){.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}}@media (hover: hover){.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}}@media (hover: hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}}@media (hover: hover){.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}}@media (hover: hover){.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}}@media (hover: hover){.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}}@media (hover: hover){.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}}@media (hover: hover){.hover\:bg-green-50:hover{background-color:var(--color-green-50)}}@media (hover: hover){.hover\:bg-green-100:hover{background-color:var(--color-green-100)}}@media (hover: hover){.hover\:bg-green-200:hover{background-color:var(--color-green-200)}}@media (hover: hover){.hover\:bg-green-600:hover{background-color:var(--color-green-600)}}@media (hover: hover){.hover\:bg-indigo-100:hover{background-color:var(--color-indigo-100)}}@media (hover: hover){.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}}@media (hover: hover){.hover\:bg-orange-200:hover{background-color:var(--color-orange-200)}}@media (hover: hover){.hover\:bg-primary-50:hover{background-color:var(--color-primary-50)}}@media (hover: hover){.hover\:bg-primary-600:hover{background-color:var(--color-primary-600)}}@media (hover: hover){.hover\:bg-primary-700:hover{background-color:var(--color-primary-700)}}@media (hover: hover){.hover\:bg-purple-50:hover{background-color:var(--color-purple-50)}}@media (hover: hover){.hover\:bg-purple-700:hover{background-color:var(--color-purple-700)}}@media (hover: hover){.hover\:bg-red-50:hover{background-color:var(--color-red-50)}}@media (hover: hover){.hover\:bg-red-100:hover{background-color:var(--color-red-100)}}@media (hover: hover){.hover\:bg-red-200:hover{background-color:var(--color-red-200)}}@media (hover: hover){.hover\:bg-red-500\/50:hover{background-color:color-mix(in srgb,oklch(63.7% .237 25.331) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-red-500\/50:hover{background-color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}}@media (hover: hover){.hover\:bg-red-500\/80:hover{background-color:color-mix(in srgb,oklch(63.7% .237 25.331) 80%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-red-500\/80:hover{background-color:color-mix(in oklab,var(--color-red-500) 80%,transparent)}}}@media (hover: hover){.hover\:bg-red-600:hover{background-color:var(--color-red-600)}}@media (hover: hover){.hover\:bg-violet-100:hover{background-color:var(--color-violet-100)}}@media (hover: hover){.hover\:bg-violet-700:hover{background-color:var(--color-violet-700)}}@media (hover: hover){.hover\:bg-white:hover{background-color:var(--color-white)}}@media (hover: hover){.hover\:bg-white\/10:hover{background-color:color-mix(in srgb,#fff 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}}@media (hover: hover){.hover\:bg-white\/30:hover{background-color:color-mix(in srgb,#fff 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}}@media (hover: hover){.hover\:text-amber-600:hover{color:var(--color-amber-600)}}@media (hover: hover){.hover\:text-blue-300:hover{color:var(--color-blue-300)}}@media (hover: hover){.hover\:text-blue-500:hover{color:var(--color-blue-500)}}@media (hover: hover){.hover\:text-blue-600:hover{color:var(--color-blue-600)}}@media (hover: hover){.hover\:text-blue-700:hover{color:var(--color-blue-700)}}@media (hover: hover){.hover\:text-blue-800:hover{color:var(--color-blue-800)}}@media (hover: hover){.hover\:text-gray-400:hover{color:var(--color-gray-400)}}@media (hover: hover){.hover\:text-gray-500:hover{color:var(--color-gray-500)}}@media (hover: hover){.hover\:text-gray-600:hover{color:var(--color-gray-600)}}@media (hover: hover){.hover\:text-gray-700:hover{color:var(--color-gray-700)}}@media (hover: hover){.hover\:text-gray-800:hover{color:var(--color-gray-800)}}@media (hover: hover){.hover\:text-gray-900:hover{color:var(--color-gray-900)}}@media (hover: hover){.hover\:text-green-600:hover{color:var(--color-green-600)}}@media (hover: hover){.hover\:text-green-700:hover{color:var(--color-green-700)}}@media (hover: hover){.hover\:text-green-800:hover{color:var(--color-green-800)}}@media (hover: hover){.hover\:text-indigo-800:hover{color:var(--color-indigo-800)}}@media (hover: hover){.hover\:text-primary-600:hover{color:var(--color-primary-600)}}@media (hover: hover){.hover\:text-purple-500:hover{color:var(--color-purple-500)}}@media (hover: hover){.hover\:text-purple-600:hover{color:var(--color-purple-600)}}@media (hover: hover){.hover\:text-red-500:hover{color:var(--color-red-500)}}@media (hover: hover){.hover\:text-red-600:hover{color:var(--color-red-600)}}@media (hover: hover){.hover\:text-red-700:hover{color:var(--color-red-700)}}@media (hover: hover){.hover\:text-red-800:hover{color:var(--color-red-800)}}@media (hover: hover){.hover\:text-violet-600:hover{color:var(--color-violet-600)}}@media (hover: hover){.hover\:underline:hover{text-decoration-line:underline}}@media (hover: hover){.hover\:decoration-dotted:hover{text-decoration-style:dotted}}@media (hover: hover){.hover\:opacity-80:hover{opacity:80%}}@media (hover: hover){.hover\:opacity-100:hover{opacity:100%}}@media (hover: hover){.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (hover: hover){.hover\:shadow-sm:hover{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:border-primary-500:focus{border-color:var(--color-primary-500)}.focus\:border-red-500:focus{border-color:var(--color-red-500)}.focus\:border-transparent:focus{border-color:transparent}.focus\:border-violet-400:focus{border-color:var(--color-violet-400)}.focus\:ring-1:focus{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-amber-400:focus{--tw-ring-color: var(--color-amber-400)}.focus\:ring-blue-500:focus{--tw-ring-color: var(--color-blue-500)}.focus\:ring-current:focus{--tw-ring-color: currentcolor}.focus\:ring-green-500:focus{--tw-ring-color: var(--color-green-500)}.focus\:ring-indigo-500:focus{--tw-ring-color: var(--color-indigo-500)}.focus\:ring-primary-500:focus{--tw-ring-color: var(--color-primary-500)}.focus\:ring-primary-500\/20:focus{--tw-ring-color: color-mix(in srgb, #2563eb 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.focus\:ring-primary-500\/20:focus{--tw-ring-color: color-mix(in oklab, var(--color-primary-500) 20%, transparent)}}.focus\:ring-primary-500\/50:focus{--tw-ring-color: color-mix(in srgb, #2563eb 50%, transparent)}@supports (color: color-mix(in lab,red,red)){.focus\:ring-primary-500\/50:focus{--tw-ring-color: color-mix(in oklab, var(--color-primary-500) 50%, transparent)}}.focus\:ring-red-500:focus{--tw-ring-color: var(--color-red-500)}.focus\:ring-red-500\/20:focus{--tw-ring-color: color-mix(in srgb, oklch(63.7% .237 25.331) 20%, transparent)}@supports (color: color-mix(in lab,red,red)){.focus\:ring-red-500\/20:focus{--tw-ring-color: color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.focus\:ring-violet-300:focus{--tw-ring-color: var(--color-violet-300)}.focus\:ring-offset-0:focus{--tw-ring-offset-width: 0px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:ring-offset-1:focus{--tw-ring-offset-width: 1px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:ring-offset-transparent:focus{--tw-ring-offset-color: transparent}.focus\:outline-none:focus{--tw-outline-style: none;outline-style:none}.focus\:ring-inset:focus{--tw-ring-inset: inset}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-gray-400:focus-visible{--tw-ring-color: var(--color-gray-400)}.focus-visible\:ring-green-500:focus-visible{--tw-ring-color: var(--color-green-500)}.focus-visible\:ring-primary-500:focus-visible{--tw-ring-color: var(--color-primary-500)}.focus-visible\:ring-red-500:focus-visible{--tw-ring-color: var(--color-red-500)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style: none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-50:disabled{background-color:var(--color-gray-50)}.disabled\:bg-gray-300:disabled{background-color:var(--color-gray-300)}.disabled\:opacity-40:disabled{opacity:40%}.disabled\:opacity-50:disabled{opacity:50%}@media (width >= 40rem){.sm\:inline{display:inline}}@media (width >= 40rem){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width >= 48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width >= 48rem){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width >= 48rem){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width >= 48rem){.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width >= 64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width >= 64rem){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width >= 80rem){.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.dark\:divide-gray-700:where(.dark,.dark *) :where(>:not(:last-child)){border-color:var(--color-gray-700)}.dark\:divide-gray-700\/50:where(.dark,.dark *) :where(>:not(:last-child)){border-color:color-mix(in srgb,oklch(37.3% .034 259.733) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:divide-gray-700\/50:where(.dark,.dark *) :where(>:not(:last-child)){border-color:color-mix(in oklab,var(--color-gray-700) 50%,transparent)}}.dark\:divide-gray-800:where(.dark,.dark *) :where(>:not(:last-child)){border-color:var(--color-gray-800)}.dark\:border:where(.dark,.dark *){border-style:var(--tw-border-style);border-width:1px}.dark\:border-amber-800:where(.dark,.dark *){border-color:var(--color-amber-800)}.dark\:border-blue-400:where(.dark,.dark *){border-color:var(--color-blue-400)}.dark\:border-blue-500:where(.dark,.dark *){border-color:var(--color-blue-500)}.dark\:border-blue-700:where(.dark,.dark *){border-color:var(--color-blue-700)}.dark\:border-blue-800:where(.dark,.dark *){border-color:var(--color-blue-800)}.dark\:border-gray-600:where(.dark,.dark *){border-color:var(--color-gray-600)}.dark\:border-gray-600\/60:where(.dark,.dark *){border-color:color-mix(in srgb,oklch(44.6% .03 256.802) 60%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:border-gray-600\/60:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-gray-600) 60%,transparent)}}.dark\:border-gray-700:where(.dark,.dark *){border-color:var(--color-gray-700)}.dark\:border-gray-800:where(.dark,.dark *){border-color:var(--color-gray-800)}.dark\:border-green-700:where(.dark,.dark *){border-color:var(--color-green-700)}.dark\:border-green-800:where(.dark,.dark *){border-color:var(--color-green-800)}.dark\:border-orange-700:where(.dark,.dark *){border-color:var(--color-orange-700)}.dark\:border-orange-800:where(.dark,.dark *){border-color:var(--color-orange-800)}.dark\:border-primary-400:where(.dark,.dark *){border-color:var(--color-primary-400)}.dark\:border-primary-500:where(.dark,.dark *){border-color:var(--color-primary-500)}.dark\:border-primary-600:where(.dark,.dark *){border-color:var(--color-primary-600)}.dark\:border-red-700:where(.dark,.dark *){border-color:var(--color-red-700)}.dark\:border-red-800:where(.dark,.dark *){border-color:var(--color-red-800)}.dark\:border-red-800\/40:where(.dark,.dark *){border-color:color-mix(in srgb,oklch(44.4% .177 26.899) 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:border-red-800\/40:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-red-800) 40%,transparent)}}.dark\:border-violet-500:where(.dark,.dark *){border-color:var(--color-violet-500)}.dark\:border-violet-800:where(.dark,.dark *){border-color:var(--color-violet-800)}.dark\:border-yellow-800:where(.dark,.dark *){border-color:var(--color-yellow-800)}.dark\:bg-amber-400:where(.dark,.dark *){background-color:var(--color-amber-400)}.dark\:bg-amber-900\/20:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(41.4% .112 45.904) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-amber-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-amber-900) 20%,transparent)}}.dark\:bg-amber-900\/30:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(41.4% .112 45.904) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-amber-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-amber-900) 30%,transparent)}}.dark\:bg-blue-400:where(.dark,.dark *){background-color:var(--color-blue-400)}.dark\:bg-blue-500\/20:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(62.3% .214 259.815) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-blue-500\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.dark\:bg-blue-900:where(.dark,.dark *){background-color:var(--color-blue-900)}.dark\:bg-blue-900\/10:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(37.9% .146 265.522) 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-blue-900\/10:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-blue-900) 10%,transparent)}}.dark\:bg-blue-900\/20:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(37.9% .146 265.522) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-blue-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-blue-900) 20%,transparent)}}.dark\:bg-blue-900\/30:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(37.9% .146 265.522) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-blue-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-blue-900) 30%,transparent)}}.dark\:bg-blue-900\/40:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(37.9% .146 265.522) 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-blue-900\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-blue-900) 40%,transparent)}}.dark\:bg-cyan-900:where(.dark,.dark *){background-color:var(--color-cyan-900)}.dark\:bg-emerald-900\/30:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(37.8% .077 168.94) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-emerald-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-emerald-900) 30%,transparent)}}.dark\:bg-gray-400:where(.dark,.dark *){background-color:var(--color-gray-400)}.dark\:bg-gray-500:where(.dark,.dark *){background-color:var(--color-gray-500)}.dark\:bg-gray-600:where(.dark,.dark *){background-color:var(--color-gray-600)}.dark\:bg-gray-700:where(.dark,.dark *){background-color:var(--color-gray-700)}.dark\:bg-gray-800:where(.dark,.dark *){background-color:var(--color-gray-800)}.dark\:bg-gray-800\/30:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(27.8% .033 256.848) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-gray-800\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-gray-800) 30%,transparent)}}.dark\:bg-gray-800\/50:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(27.8% .033 256.848) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-gray-800\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-gray-800) 50%,transparent)}}.dark\:bg-gray-900:where(.dark,.dark *){background-color:var(--color-gray-900)}.dark\:bg-gray-900\/30:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(21% .034 264.665) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-gray-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-gray-900) 30%,transparent)}}.dark\:bg-gray-900\/50:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(21% .034 264.665) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-gray-900\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-gray-900) 50%,transparent)}}.dark\:bg-green-400:where(.dark,.dark *){background-color:var(--color-green-400)}.dark\:bg-green-600:where(.dark,.dark *){background-color:var(--color-green-600)}.dark\:bg-green-900:where(.dark,.dark *){background-color:var(--color-green-900)}.dark\:bg-green-900\/10:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(39.3% .095 152.535) 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-green-900\/10:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-green-900) 10%,transparent)}}.dark\:bg-green-900\/20:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(39.3% .095 152.535) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-green-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-green-900) 20%,transparent)}}.dark\:bg-green-900\/30:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(39.3% .095 152.535) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-green-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-green-900) 30%,transparent)}}.dark\:bg-indigo-900:where(.dark,.dark *){background-color:var(--color-indigo-900)}.dark\:bg-indigo-900\/30:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(35.9% .144 278.697) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-indigo-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-indigo-900) 30%,transparent)}}.dark\:bg-orange-400:where(.dark,.dark *){background-color:var(--color-orange-400)}.dark\:bg-orange-500\/20:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(70.5% .213 47.604) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-orange-500\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-orange-500) 20%,transparent)}}.dark\:bg-orange-900:where(.dark,.dark *){background-color:var(--color-orange-900)}.dark\:bg-orange-900\/10:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(40.8% .123 38.172) 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-orange-900\/10:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-orange-900) 10%,transparent)}}.dark\:bg-orange-900\/30:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(40.8% .123 38.172) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-orange-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-orange-900) 30%,transparent)}}.dark\:bg-pink-900:where(.dark,.dark *){background-color:var(--color-pink-900)}.dark\:bg-primary-400:where(.dark,.dark *){background-color:var(--color-primary-400)}.dark\:bg-primary-500:where(.dark,.dark *){background-color:var(--color-primary-500)}.dark\:bg-primary-600:where(.dark,.dark *){background-color:var(--color-primary-600)}.dark\:bg-primary-900\/20:where(.dark,.dark *){background-color:color-mix(in srgb,#1e3a8a 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-primary-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-900) 20%,transparent)}}.dark\:bg-primary-900\/30:where(.dark,.dark *){background-color:color-mix(in srgb,#1e3a8a 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-primary-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-900) 30%,transparent)}}.dark\:bg-purple-800:where(.dark,.dark *){background-color:var(--color-purple-800)}.dark\:bg-purple-900:where(.dark,.dark *){background-color:var(--color-purple-900)}.dark\:bg-purple-900\/20:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(38.1% .176 304.987) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-purple-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-purple-900) 20%,transparent)}}.dark\:bg-purple-900\/30:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(38.1% .176 304.987) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-purple-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-purple-900) 30%,transparent)}}.dark\:bg-red-400:where(.dark,.dark *){background-color:var(--color-red-400)}.dark\:bg-red-600:where(.dark,.dark *){background-color:var(--color-red-600)}.dark\:bg-red-900\/10:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(39.6% .141 25.723) 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-red-900\/10:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-900) 10%,transparent)}}.dark\:bg-red-900\/20:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(39.6% .141 25.723) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-red-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-900) 20%,transparent)}}.dark\:bg-red-900\/30:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(39.6% .141 25.723) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-red-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-900) 30%,transparent)}}.dark\:bg-red-950\/20:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(25.8% .092 26.042) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-red-950\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-950) 20%,transparent)}}.dark\:bg-teal-900\/30:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(38.6% .063 188.416) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-teal-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-teal-900) 30%,transparent)}}.dark\:bg-violet-900\/30:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(38% .189 293.745) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-violet-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-violet-900) 30%,transparent)}}.dark\:bg-violet-950\/20:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(28.3% .141 291.089) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-violet-950\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-violet-950) 20%,transparent)}}.dark\:bg-violet-950\/30:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(28.3% .141 291.089) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-violet-950\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-violet-950) 30%,transparent)}}.dark\:bg-yellow-400:where(.dark,.dark *){background-color:var(--color-yellow-400)}.dark\:bg-yellow-900:where(.dark,.dark *){background-color:var(--color-yellow-900)}.dark\:bg-yellow-900\/20:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(42.1% .095 57.708) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-yellow-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-yellow-900) 20%,transparent)}}.dark\:bg-yellow-900\/30:where(.dark,.dark *){background-color:color-mix(in srgb,oklch(42.1% .095 57.708) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-yellow-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-yellow-900) 30%,transparent)}}.dark\:from-red-950\/30:where(.dark,.dark *){--tw-gradient-from: color-mix(in srgb, oklch(25.8% .092 26.042) 30%, transparent);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color: color-mix(in lab,red,red)){.dark\:from-red-950\/30:where(.dark,.dark *){--tw-gradient-from: color-mix(in oklab, var(--color-red-950) 30%, transparent)}}.dark\:to-red-950\/10:where(.dark,.dark *){--tw-gradient-to: color-mix(in srgb, oklch(25.8% .092 26.042) 10%, transparent);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color: color-mix(in lab,red,red)){.dark\:to-red-950\/10:where(.dark,.dark *){--tw-gradient-to: color-mix(in oklab, var(--color-red-950) 10%, transparent)}}.dark\:fill-gray-800:where(.dark,.dark *){fill:var(--color-gray-800)}.dark\:text-amber-200:where(.dark,.dark *){color:var(--color-amber-200)}.dark\:text-amber-300:where(.dark,.dark *){color:var(--color-amber-300)}.dark\:text-amber-400:where(.dark,.dark *){color:var(--color-amber-400)}.dark\:text-blue-100:where(.dark,.dark *){color:var(--color-blue-100)}.dark\:text-blue-200:where(.dark,.dark *){color:var(--color-blue-200)}.dark\:text-blue-300:where(.dark,.dark *){color:var(--color-blue-300)}.dark\:text-blue-400:where(.dark,.dark *){color:var(--color-blue-400)}.dark\:text-cyan-300:where(.dark,.dark *){color:var(--color-cyan-300)}.dark\:text-emerald-300:where(.dark,.dark *){color:var(--color-emerald-300)}.dark\:text-gray-100:where(.dark,.dark *){color:var(--color-gray-100)}.dark\:text-gray-200:where(.dark,.dark *){color:var(--color-gray-200)}.dark\:text-gray-300:where(.dark,.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:where(.dark,.dark *){color:var(--color-gray-400)}.dark\:text-gray-500:where(.dark,.dark *){color:var(--color-gray-500)}.dark\:text-gray-600:where(.dark,.dark *){color:var(--color-gray-600)}.dark\:text-gray-700:where(.dark,.dark *){color:var(--color-gray-700)}.dark\:text-green-200:where(.dark,.dark *){color:var(--color-green-200)}.dark\:text-green-300:where(.dark,.dark *){color:var(--color-green-300)}.dark\:text-green-400:where(.dark,.dark *){color:var(--color-green-400)}.dark\:text-indigo-300:where(.dark,.dark *){color:var(--color-indigo-300)}.dark\:text-indigo-400:where(.dark,.dark *){color:var(--color-indigo-400)}.dark\:text-orange-300:where(.dark,.dark *){color:var(--color-orange-300)}.dark\:text-orange-400:where(.dark,.dark *){color:var(--color-orange-400)}.dark\:text-pink-300:where(.dark,.dark *){color:var(--color-pink-300)}.dark\:text-primary-300:where(.dark,.dark *){color:var(--color-primary-300)}.dark\:text-primary-400:where(.dark,.dark *){color:var(--color-primary-400)}.dark\:text-purple-200:where(.dark,.dark *){color:var(--color-purple-200)}.dark\:text-purple-300:where(.dark,.dark *){color:var(--color-purple-300)}.dark\:text-purple-400:where(.dark,.dark *){color:var(--color-purple-400)}.dark\:text-red-300:where(.dark,.dark *){color:var(--color-red-300)}.dark\:text-red-400:where(.dark,.dark *){color:var(--color-red-400)}.dark\:text-red-400\/60:where(.dark,.dark *){color:color-mix(in srgb,oklch(70.4% .191 22.216) 60%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:text-red-400\/60:where(.dark,.dark *){color:color-mix(in oklab,var(--color-red-400) 60%,transparent)}}.dark\:text-teal-300:where(.dark,.dark *){color:var(--color-teal-300)}.dark\:text-teal-400:where(.dark,.dark *){color:var(--color-teal-400)}.dark\:text-violet-300:where(.dark,.dark *){color:var(--color-violet-300)}.dark\:text-violet-400:where(.dark,.dark *){color:var(--color-violet-400)}.dark\:text-yellow-300:where(.dark,.dark *){color:var(--color-yellow-300)}.dark\:text-yellow-400:where(.dark,.dark *){color:var(--color-yellow-400)}.dark\:placeholder-gray-500:where(.dark,.dark *)::placeholder{color:var(--color-gray-500)}.dark\:placeholder-red-700:where(.dark,.dark *)::placeholder{color:var(--color-red-700)}.dark\:shadow-gray-900\/50:where(.dark,.dark *){--tw-shadow-color: color-mix(in srgb, oklch(21% .034 264.665) 50%, transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:shadow-gray-900\/50:where(.dark,.dark *){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-gray-900) 50%, transparent) var(--tw-shadow-alpha), transparent)}}.dark\:ring-blue-800:where(.dark,.dark *){--tw-ring-color: var(--color-blue-800)}.dark\:ring-offset-gray-900:where(.dark,.dark *){--tw-ring-offset-color: var(--color-gray-900)}@media (hover: hover){.dark\:group-hover\:text-blue-300:where(.dark,.dark *):is(:where(.group):hover *){color:var(--color-blue-300)}}@media (hover: hover){.dark\:group-hover\:text-blue-400:where(.dark,.dark *):is(:where(.group):hover *){color:var(--color-blue-400)}}.dark\:peer-checked\:border-primary-500:where(.dark,.dark *):is(:where(.peer):checked~*){border-color:var(--color-primary-500)}.dark\:peer-checked\:border-red-600:where(.dark,.dark *):is(:where(.peer):checked~*){border-color:var(--color-red-600)}.dark\:peer-checked\:bg-primary-500:where(.dark,.dark *):is(:where(.peer):checked~*){background-color:var(--color-primary-500)}.dark\:peer-checked\:bg-red-600:where(.dark,.dark *):is(:where(.peer):checked~*){background-color:var(--color-red-600)}@media (hover: hover){.dark\:peer-hover\:border-gray-500:where(.dark,.dark *):is(:where(.peer):hover~*){border-color:var(--color-gray-500)}}.dark\:peer-focus-visible\:ring-offset-gray-900:where(.dark,.dark *):is(:where(.peer):focus-visible~*){--tw-ring-offset-color: var(--color-gray-900)}.dark\:after\:bg-primary-400:where(.dark,.dark *):after{content:var(--tw-content);background-color:var(--color-primary-400)}@media (hover: hover){.dark\:hover\:border-blue-500:where(.dark,.dark *):hover{border-color:var(--color-blue-500)}}@media (hover: hover){.dark\:hover\:border-blue-600:where(.dark,.dark *):hover{border-color:var(--color-blue-600)}}@media (hover: hover){.dark\:hover\:border-gray-500:where(.dark,.dark *):hover{border-color:var(--color-gray-500)}}@media (hover: hover){.dark\:hover\:border-gray-600:where(.dark,.dark *):hover{border-color:var(--color-gray-600)}}@media (hover: hover){.dark\:hover\:border-violet-600:where(.dark,.dark *):hover{border-color:var(--color-violet-600)}}@media (hover: hover){.dark\:hover\:bg-amber-900\/40:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(41.4% .112 45.904) 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-amber-900\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-amber-900) 40%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-blue-900\/20:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(37.9% .146 265.522) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-blue-900\/20:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-blue-900) 20%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-blue-900\/30:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(37.9% .146 265.522) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-blue-900\/30:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-blue-900) 30%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-blue-900\/40:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(37.9% .146 265.522) 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-blue-900\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-blue-900) 40%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-blue-900\/50:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(37.9% .146 265.522) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-blue-900\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-blue-900) 50%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-gray-600:where(.dark,.dark *):hover{background-color:var(--color-gray-600)}}@media (hover: hover){.dark\:hover\:bg-gray-700:where(.dark,.dark *):hover{background-color:var(--color-gray-700)}}@media (hover: hover){.dark\:hover\:bg-gray-700\/50:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(37.3% .034 259.733) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-gray-700\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-gray-700) 50%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-gray-800:where(.dark,.dark *):hover{background-color:var(--color-gray-800)}}@media (hover: hover){.dark\:hover\:bg-gray-800\/50:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(27.8% .033 256.848) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-gray-800\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-gray-800) 50%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-green-700:where(.dark,.dark *):hover{background-color:var(--color-green-700)}}@media (hover: hover){.dark\:hover\:bg-green-900\/30:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(39.3% .095 152.535) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-green-900\/30:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-green-900) 30%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-green-900\/40:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(39.3% .095 152.535) 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-green-900\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-green-900) 40%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-primary-700:where(.dark,.dark *):hover{background-color:var(--color-primary-700)}}@media (hover: hover){.dark\:hover\:bg-primary-900\/20:where(.dark,.dark *):hover{background-color:color-mix(in srgb,#1e3a8a 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-primary-900\/20:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-primary-900) 20%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-purple-900\/30:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(38.1% .176 304.987) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-purple-900\/30:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-purple-900) 30%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-red-700:where(.dark,.dark *):hover{background-color:var(--color-red-700)}}@media (hover: hover){.dark\:hover\:bg-red-900\/20:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(39.6% .141 25.723) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-red-900\/20:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-red-900) 20%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-red-900\/30:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(39.6% .141 25.723) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-red-900\/30:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-red-900) 30%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-red-900\/40:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(39.6% .141 25.723) 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-red-900\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-red-900) 40%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-red-950\/20:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(25.8% .092 26.042) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-red-950\/20:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-red-950) 20%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-violet-900\/40:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(38% .189 293.745) 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-violet-900\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-violet-900) 40%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-violet-950\/30:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(28.3% .141 291.089) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-violet-950\/30:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-violet-950) 30%,transparent)}}}@media (hover: hover){.dark\:hover\:bg-white\/10:where(.dark,.dark *):hover{background-color:color-mix(in srgb,#fff 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-white\/10:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}}@media (hover: hover){.dark\:hover\:text-blue-200:where(.dark,.dark *):hover{color:var(--color-blue-200)}}@media (hover: hover){.dark\:hover\:text-blue-300:where(.dark,.dark *):hover{color:var(--color-blue-300)}}@media (hover: hover){.dark\:hover\:text-blue-400:where(.dark,.dark *):hover{color:var(--color-blue-400)}}@media (hover: hover){.dark\:hover\:text-gray-100:where(.dark,.dark *):hover{color:var(--color-gray-100)}}@media (hover: hover){.dark\:hover\:text-gray-200:where(.dark,.dark *):hover{color:var(--color-gray-200)}}@media (hover: hover){.dark\:hover\:text-gray-300:where(.dark,.dark *):hover{color:var(--color-gray-300)}}@media (hover: hover){.dark\:hover\:text-gray-400:where(.dark,.dark *):hover{color:var(--color-gray-400)}}@media (hover: hover){.dark\:hover\:text-gray-500:where(.dark,.dark *):hover{color:var(--color-gray-500)}}@media (hover: hover){.dark\:hover\:text-primary-400:where(.dark,.dark *):hover{color:var(--color-primary-400)}}.dark\:focus\:border-primary-400:where(.dark,.dark *):focus{border-color:var(--color-primary-400)}.dark\:focus\:ring-offset-gray-900:where(.dark,.dark *):focus{--tw-ring-offset-color: var(--color-gray-900)}.dark\:focus-visible\:ring-offset-gray-900:where(.dark,.dark *):focus-visible{--tw-ring-offset-color: var(--color-gray-900)}.dark\:disabled\:bg-gray-800:where(.dark,.dark *):disabled{background-color:var(--color-gray-800)}.\[\&\:\:-moz-range-thumb\]\:appearance-none::-moz-range-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-moz-range-thumb\]\:rounded-full::-moz-range-thumb{border-radius:calc(infinity * 1px)}.\[\&\:\:-moz-range-thumb\]\:border-2::-moz-range-thumb{border-style:var(--tw-border-style);border-width:2px}.\[\&\:\:-moz-range-thumb\]\:bg-white::-moz-range-thumb{background-color:var(--color-white)}.\[\&\:\:-moz-range-thumb\]\:shadow-md::-moz-range-thumb{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\[\&\:\:-moz-range-thumb\]\:transition-transform::-moz-range-thumb{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}@media (hover: hover){:is():hover{--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:calc(infinity * 1px)}.\[\&\:\:-webkit-slider-thumb\]\:border-2::-webkit-slider-thumb{border-style:var(--tw-border-style);border-width:2px}.\[\&\:\:-webkit-slider-thumb\]\:bg-white::-webkit-slider-thumb{background-color:var(--color-white)}.\[\&\:\:-webkit-slider-thumb\]\:shadow-md::-webkit-slider-thumb{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\[\&\:\:-webkit-slider-thumb\]\:transition-transform::-webkit-slider-thumb{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}@media (hover: hover){:is():hover{--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}:is():focus{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}:is():focus{--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}@media (hover: hover){table[data-hoverable=true] tbody .\[table\[data-hoverable\=\"true\"\]_tbody_\&\]\:hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}}@media (hover: hover){table[data-hoverable=true] tbody .\[table\[data-hoverable\=\"true\"\]_tbody_\&\]\:dark\:hover\:bg-gray-800\/50:where(.dark,.dark *):hover{background-color:color-mix(in srgb,oklch(27.8% .033 256.848) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){table[data-hoverable=true] tbody .\[table\[data-hoverable\=\"true\"\]_tbody_\&\]\:dark\:hover\:bg-gray-800\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-gray-800) 50%,transparent)}}}table[data-striped=true] tbody .\[table\[data-striped\=\"true\"\]_tbody_\&\:nth-child\(even\)\]\:bg-gray-50\/50:nth-child(2n){background-color:color-mix(in srgb,oklch(98.5% .002 247.839) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){table[data-striped=true] tbody .\[table\[data-striped\=\"true\"\]_tbody_\&\:nth-child\(even\)\]\:bg-gray-50\/50:nth-child(2n){background-color:color-mix(in oklab,var(--color-gray-50) 50%,transparent)}}table[data-striped=true] tbody .\[table\[data-striped\=\"true\"\]_tbody_\&\:nth-child\(even\)\]\:dark\:bg-gray-800\/25:nth-child(2n):where(.dark,.dark *){background-color:color-mix(in srgb,oklch(27.8% .033 256.848) 25%,transparent)}@supports (color: color-mix(in lab,red,red)){table[data-striped=true] tbody .\[table\[data-striped\=\"true\"\]_tbody_\&\:nth-child\(even\)\]\:dark\:bg-gray-800\/25:nth-child(2n):where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-gray-800) 25%,transparent)}}}.modal-body-single-scroll{flex:1;min-height:0;overflow-y:auto}.expandable-section,.clock-template-expanded,.clock-definition-list,.constraint-type-expanded,.constraint-escalation-tiers,.lifecycle-stage-gates-list,.stage-gate-requirements-list,.stage-targets-list{max-height:none!important;overflow-y:visible!important}.modal-content-wrapper{display:flex;flex-direction:column;height:100%;min-height:0}.modal-scrollable-body{flex:1;min-height:0;overflow-y:auto}.modal-fixed-footer{flex-shrink:0}:root{--z-modal-base: 10000;--z-modal-primary: 10010;--z-modal-secondary: 10020;--z-modal-tertiary: 10030;--z-modal-toast: 10040}.modal-section{padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;box-shadow:0 1px 3px #00000014}.dark .modal-section{background:#1e293b;border-color:#475569}.modal-section-header{padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-weight:600;font-size:14px;color:#1e293b;margin:-20px -20px 16px;border-radius:8px 8px 0 0}.dark .modal-section-header{background:#0f172a;border-bottom-color:#475569;color:#f1f5f9}.modal-form-row{margin-bottom:16px;padding:12px;background:#fafafa;border:1px solid #e5e7eb;border-radius:6px}.dark .modal-form-row{background:#0f172a;border-color:#475569}.modal-card{padding:16px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;margin-bottom:12px;transition:border-color .2s,box-shadow .2s}.modal-card:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0000001a}.dark .modal-card{background:#1e293b;border-color:#475569}.dark .modal-card:hover{border-color:#64748b}.modal-info-box{padding:16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:20px;color:#1e40af;display:flex;gap:12px}.dark .modal-info-box{background:#1e3a8a;border-color:#3b82f6;color:#dbeafe}.modal-info-box-purple{background:#8b5cf614;border:1px solid rgba(139,92,246,.2);color:var(--text-primary)}.dark .modal-info-box-purple{background:#8b5cf626;border-color:#8b5cf64d}.modal-info-box-icon{flex-shrink:0;margin-top:2px;color:inherit}.modal-info-box-content{font-size:13px;line-height:1.6}.modal-info-box p{margin:0;line-height:1.5}.modal-info-box p+p{margin-top:8px}.modal-category-group{border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:16px;background:#fafafa}.dark .modal-category-group{background:#0f172a;border-color:#475569}.modal-category-group-title{font-weight:600;font-size:15px;color:#1e293b;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.dark .modal-category-group-title{color:#f1f5f9;border-bottom-color:#475569}.modal-list-container{border:1px solid #e5e7eb;border-radius:8px;padding:8px;background:#fff;max-height:600px;overflow-y:auto}.dark .modal-list-container{background:#1e293b;border-color:#475569}.modal-button-row{display:flex;gap:12px;padding-top:12px;border-top:1px solid #e5e7eb;margin-top:16px}.dark .modal-button-row{border-top-color:#475569}.modal-field-group{display:grid;gap:16px;margin-bottom:16px}.modal-field-group.two-column{grid-template-columns:1fr 1fr}.modal-divider{height:1px;background:#e5e7eb;margin:20px 0}.dark .modal-divider{background:#475569}.modal-empty-state{padding:40px;text-align:center;color:#6b7280;background:#f9fafb;border:2px dashed #e5e7eb;border-radius:8px}.dark .modal-empty-state{background:#0f172a;border-color:#475569;color:#9ca3af}.modal-badge-group{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.modal-expandable{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;overflow:hidden}.dark .modal-expandable{border-color:#475569}.modal-expandable-header{padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background .2s}.modal-expandable-header:hover{background:#f3f4f6}.dark .modal-expandable-header{background:#0f172a;border-bottom-color:#475569}.dark .modal-expandable-header:hover{background:#1e293b}.modal-expandable-content{padding:16px;background:#fff}.dark .modal-expandable-content{background:#1e293b}.modal-stats-row{display:flex;gap:16px;padding:16px;background:#f9fafb;border-radius:8px;margin-bottom:16px}.dark .modal-stats-row{background:#0f172a}.modal-stat{flex:1;text-align:center;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.dark .modal-stat{background:#1e293b;border-color:#475569}.modal-stat-value{font-size:24px;font-weight:700;color:#1e293b}.dark .modal-stat-value{color:#f1f5f9}.modal-stat-label{font-size:12px;color:#6b7280;margin-top:4px}.dark .modal-stat-label{color:#9ca3af}.modal-highlight{padding:12px 16px;background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;margin-bottom:16px}.dark .modal-highlight{background:#713f12;border-color:#f59e0b}.modal-success{padding:12px 16px;background:#d1fae5;border:1px solid #34d399;border-radius:6px;margin-bottom:16px}.dark .modal-success{background:#064e3b;border-color:#10b981}.modal-warning{padding:12px 16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;margin-bottom:16px}.dark .modal-warning{background:#f59e0b26;border-color:#f59e0b66}.modal-error{padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;margin-bottom:16px}.dark .modal-error{background:#ef444426;border-color:#ef444466}.modal-field-label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.dark .modal-field-label{color:#d1d5db}.modal-field-hint{font-size:12px;color:#6b7280;margin-top:4px;line-height:1.4}.dark .modal-field-hint{color:#9ca3af}.modal-text-muted{font-size:11px;color:#6b7280}.dark .modal-text-muted{color:#9ca3af}.modal-card-title{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:8px}.dark .modal-card-title{color:#f1f5f9}.modal-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;line-height:1}.modal-badge-success{background:#d1fae5;color:#059669;border:1px solid #86efac}.dark .modal-badge-success{background:#10b98133;color:#4ade80;border-color:#10b98166}.modal-badge-warning{background:#fef3c7;color:#b45309;border:1px solid #fbbf24}.dark .modal-badge-warning{background:#f59e0b33;color:#fcd34d;border-color:#f59e0b66}.modal-badge-error{background:#fee2e2;color:#dc2626;border:1px solid #f87171}.dark .modal-badge-error{background:#ef444433;color:#fca5a5;border-color:#ef444466}.modal-badge-info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.dark .modal-badge-info{background:#3b82f633;color:#93c5fd;border-color:#3b82f666}.modal-badge-neutral{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.dark .modal-badge-neutral{background:#4b55634d;color:#d1d5db;border-color:#9ca3af66}.modal-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2937;background:#fff;transition:border-color .2s,box-shadow .2s}.modal-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dark .modal-input{background:#374151;border-color:#4b5563;color:#f9fafb}.dark .modal-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.modal-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2937;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.modal-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dark .modal-select{background:#374151;border-color:#4b5563;color:#f9fafb}.dark .modal-select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.modal-textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2937;background:#fff;transition:border-color .2s,box-shadow .2s;resize:vertical;min-height:80px}.modal-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dark .modal-textarea{background:#374151;border-color:#4b5563;color:#f9fafb}.dark .modal-textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.modal-checkbox-label{display:flex;align-items:center;gap:8px;padding:8px 0;cursor:pointer;font-size:14px;color:#374151}.dark .modal-checkbox-label{color:#d1d5db}.modal-flex-row{display:flex;align-items:center;gap:12px}.modal-flex-col{display:flex;flex-direction:column;gap:12px}.modal-grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.modal-inline-surface{padding:8px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;font-size:13px}.dark .modal-inline-surface{background:#374151;border-color:#4b5563}.modal-scroll-container{max-height:400px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:6px;padding:8px}.dark .modal-scroll-container{border-color:#475569}.modal-status-dot{width:10px;height:10px;border-radius:2px;display:inline-block;flex-shrink:0}.modal-stage-accent{border-left:4px solid;padding-left:12px}.modal-progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;position:relative}.dark .modal-progress-bar{background:#475569}.modal-progress-fill{height:100%;background:#3b82f6;border-radius:4px;transition:width .3s ease}.modal-progress-segment{height:100%;float:left;transition:width .3s ease}.modal-table-container{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:16px}.dark .modal-table-container{border-color:#475569}.modal-table{width:100%;border-collapse:collapse;font-size:14px}.modal-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.dark .modal-table thead{background:#0f172a;border-bottom-color:#475569}.modal-table th{padding:12px 16px;text-align:left;font-weight:600;color:#374151}.dark .modal-table th{color:#d1d5db}.modal-table td{padding:12px 16px;border-top:1px solid #e5e7eb;color:#1f2937}.dark .modal-table td{border-top-color:#475569;color:#f9fafb}.modal-table tbody tr:hover{background:#f9fafb}.dark .modal-table tbody tr:hover{background:#1e293b}.modal-risk-matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.modal-risk-cell{padding:16px;border-radius:6px;text-align:center;font-weight:600;font-size:18px;border:2px solid transparent;transition:border-color .2s,transform .2s}.modal-risk-cell:hover{border-color:#1e293b;transform:translateY(-2px)}.dark .modal-risk-cell:hover{border-color:#f1f5f9}.modal-form-section-animated{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}body{background-color:var(--color-surface);font-family:var(--font-sans);color:var(--color-gray-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark body,body.dark{background-color:var(--color-gray-900);color:var(--color-gray-100)}:root{--white: #ffffff;--black: #000000;--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #2563eb;--primary-600: #1d4ed8;--primary-700: #1e40af;--primary-800: #1e3a8a;--primary-900: #1e3a8a;--primary-950: #172554;--primary-500-rgb: 37, 99, 235;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--gray-950: #030712;--red-50: #fef2f2;--red-100: #fee2e2;--red-200: #fecaca;--red-300: #fca5a5;--red-400: #f87171;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--red-800: #991b1b;--red-900: #7f1d1d;--green-50: #f0fdf4;--green-100: #dcfce7;--green-200: #bbf7d0;--green-300: #86efac;--green-400: #4ade80;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--green-800: #166534;--green-900: #14532d;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #1e3a8a;--yellow-50: #fefce8;--yellow-100: #fef9c3;--yellow-200: #fef08a;--yellow-300: #fde047;--yellow-400: #facc15;--yellow-500: #eab308;--yellow-600: #ca8a04;--yellow-700: #a16207;--yellow-800: #854d0e;--yellow-900: #713f12;--primary-color: #2563eb;--primary-hover: #1d4ed8;--primary-light: #dbeafe;--secondary-color: #64748b;--secondary-bg: #f3f4f6;--secondary-hover: #e5e7eb;--success-color: #10b981;--success-color-text: #059669;--success-bg: #d1fae5;--warning-color: #f59e0b;--warning-color-text: #b45309;--warning-bg: #fef3c7;--error-color: #ef4444;--error-color-text: #dc2626;--error-bg: #fee2e2;--background: #ffffff;--surface: #f8f9fa;--surface-elevated: #ffffff;--hover-bg: #f3f4f6;--bg-hover: #f3f4f6;--input-bg: #ffffff;--border: #e5e7eb;--border-focus: #2563eb;--border-hover: #cbd5e1;--danger: #ef4444;--danger-hover: #dc2626;--danger-light: #f87171;--danger-light-bg: rgba(239, 68, 68, .1);--danger-dark-bg: rgba(239, 68, 68, .15);--primary: #2563eb;--primary-light-bg: rgba(37, 99, 235, .1);--primary-dark-bg: rgba(37, 99, 235, .15);--icon-teal-bg: rgba(20, 184, 166, .1);--icon-teal-border: rgba(20, 184, 166, .3);--icon-teal-text: #0d9488;--icon-teal-bg-hover: rgba(20, 184, 166, .2);--icon-teal-border-hover: rgba(20, 184, 166, .5);--icon-blue-bg: rgba(59, 130, 246, .1);--icon-blue-border: rgba(59, 130, 246, .3);--icon-blue-text: #2563eb;--icon-blue-bg-dark: rgba(59, 130, 246, .2);--icon-blue-border-dark: rgba(59, 130, 246, .4);--icon-blue-text-dark: #60a5fa;--text-primary: #1a1a1a;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-muted: #9ca3af;--focus-ring-color: #2563eb;--focus-ring-offset: 2px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--overlay-white-95: rgba(255, 255, 255, .95);--overlay-white-90: rgba(255, 255, 255, .9);--spinner-white-30: rgba(255, 255, 255, .3);--bg-secondary: #f3f4f6;--bg-tertiary: #e5e7eb;--color-primary: #2563eb;--color-info: #3b82f6;--border-color: #e5e7eb;--border-color-dark: #d1d5db;--color-success-bg: #dcfce7;--color-success-border: #86efac;--color-success-text: #166534;--color-warning-bg: #fef3c7;--color-warning-border: #fcd34d;--color-error-bg: #fee2e2;--color-error-border: #fecaca;--color-info-bg: #dbeafe;--color-info-border: #93c5fd}:root.dark,.dark{--primary-color: #3b82f6;--primary-hover: #2563eb;--primary-light: #1e3a8a;--secondary-color: #94a3b8;--secondary-bg: #374151;--secondary-hover: #4b5563;--success-color: #34d399;--success-color-text: #4ade80;--success-bg: rgba(16, 185, 129, .15);--warning-color: #fbbf24;--warning-color-text: #fcd34d;--warning-bg: rgba(245, 158, 11, .15);--error-color: #f87171;--error-color-text: #fca5a5;--error-bg: rgba(239, 68, 68, .15);--primary-bg: rgba(59, 130, 246, .15);--primary-bg-hover: rgba(59, 130, 246, .25);--background: #111827;--surface: #1f2937;--surface-elevated: #374151;--hover-bg: #374151;--bg-hover: #374151;--input-bg: #374151;--border: #374151;--border-focus: #3b82f6;--border-hover: #4b5563;--danger: #f87171;--danger-hover: #ef4444;--danger-light: #fca5a5;--danger-light-bg: rgba(239, 68, 68, .15);--danger-dark-bg: rgba(239, 68, 68, .25);--primary: #3b82f6;--primary-light-bg: rgba(59, 130, 246, .15);--primary-dark-bg: rgba(59, 130, 246, .25);--icon-teal-bg: rgba(20, 184, 166, .15);--icon-teal-border: rgba(20, 184, 166, .4);--icon-teal-text: #14b8a6;--icon-teal-bg-hover: rgba(20, 184, 166, .25);--icon-teal-border-hover: rgba(20, 184, 166, .6);--icon-blue-bg: rgba(59, 130, 246, .15);--icon-blue-border: rgba(59, 130, 246, .4);--icon-blue-text: #60a5fa;--icon-blue-bg-dark: rgba(59, 130, 246, .25);--icon-blue-border-dark: rgba(59, 130, 246, .5);--icon-blue-text-dark: #93c5fd;--text-primary: #f9fafb;--text-secondary: #9ca3af;--text-tertiary: #6b7280;--text-muted: #6b7280;--focus-ring-color: #3b82f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--overlay-white-95: rgba(17, 24, 39, .95);--overlay-white-90: rgba(17, 24, 39, .9);--spinner-white-30: rgba(31, 41, 55, .3);--bg-secondary: #1f2937;--bg-tertiary: #374151;--color-primary: #3b82f6;--color-info: #60a5fa;--border-color: #374151;--border-color-dark: #4b5563;--color-success: #34d399;--color-success-light: rgba(16, 185, 129, .15);--color-warning: #fbbf24;--color-warning-text: #fcd34d;--color-warning-light: rgba(245, 158, 11, .15);--color-error: #f87171;--color-error-text: #fca5a5;--color-error-light: rgba(239, 68, 68, .15);--color-success-bg: rgba(52, 211, 153, .15);--color-success-border: rgba(52, 211, 153, .35);--color-success-text: #6ee7b7;--color-warning-bg: rgba(251, 191, 36, .2);--color-warning-border: rgba(251, 191, 36, .35);--color-error-bg: rgba(248, 113, 113, .2);--color-error-border: rgba(248, 113, 113, .35);--color-info-bg: rgba(96, 165, 250, .2);--color-info-border: rgba(96, 165, 250, .35);--color-info-text: #93c5fd}#root{min-height:100vh;display:flex;flex-direction:column}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*:focus{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:2px}input[type=text]:focus-visible,input[type=email]:focus-visible,input[type=password]:focus-visible,input[type=number]:focus-visible,input[type=search]:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--focus-ring-color);box-shadow:0 0 0 3px #2563eb1a}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:1px}@media (pointer: coarse){button,a,input[type=checkbox],input[type=radio],select,[role=button],[role=link],[role=menuitem],[tabindex]:not([tabindex="-1"]){min-height:44px;min-width:44px}button,.nav-item{padding:.75rem 1rem}input[type=checkbox],input[type=radio]{width:20px;height:20px}.dropdown-item{padding:.875rem 1rem}@media (hover: none){button:hover,a:hover,.nav-item:hover{background-color:inherit;color:inherit}}}.navigation-sidebar,.header-nav,.dropdown-menu{will-change:transform}button,.nav-item,.view-button,.action-button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}@supports (-webkit-touch-callout: none){input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],textarea,select{font-size:16px}.navigation-sidebar,.app-content,.modal-body{-webkit-overflow-scrolling:touch}}.mapboxgl-ctrl-logo{display:none!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6,:root.dark h1,:root.dark h2,:root.dark h3,:root.dark h4,:root.dark h5,:root.dark h6{color:#f9fafb}.dark p,.dark span:not([class*=badge]):not([class*=tag]):not([class*=text-]),:root.dark p,:root.dark span:not([class*=badge]):not([class*=tag]):not([class*=text-]){color:#d1d5db}.dark label,:root.dark label{color:#d1d5db}.dark small,:root.dark small{color:#9ca3af}.dark a:not([class*=text-]),:root.dark a:not([class*=text-]){color:#60a5fa}.dark a:not([class*=text-]):hover,:root.dark a:not([class*=text-]):hover{color:#93c5fd}.dark input[type=text],.dark input[type=number],.dark input[type=email],.dark input[type=password],.dark input[type=search],.dark input[type=url],.dark input[type=tel],.dark input[type=date],.dark textarea,.dark select,:root.dark input[type=text],:root.dark input[type=number],:root.dark input[type=email],:root.dark input[type=password],:root.dark input[type=search],:root.dark input[type=url],:root.dark input[type=tel],:root.dark input[type=date],:root.dark textarea,:root.dark select{background-color:#374151;border-color:#4b5563;color:#f9fafb}.dark input::placeholder,.dark textarea::placeholder,:root.dark input::placeholder,:root.dark textarea::placeholder{color:#6b7280}.dark input:focus,.dark textarea:focus,.dark select:focus,:root.dark input:focus,:root.dark textarea:focus,:root.dark select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.dark table,:root.dark table{color:#d1d5db}.dark th,:root.dark th{color:#f9fafb;background-color:#1f2937}.dark td,:root.dark td{border-color:#374151}.dark tr:hover,:root.dark tr:hover{background-color:#37415180}.dark ::-webkit-scrollbar,:root.dark ::-webkit-scrollbar{width:8px;height:8px}.dark ::-webkit-scrollbar-track,:root.dark ::-webkit-scrollbar-track{background:#1f2937}.dark ::-webkit-scrollbar-thumb,:root.dark ::-webkit-scrollbar-thumb{background:#4b5563;border-radius:4px}.dark ::-webkit-scrollbar-thumb:hover,:root.dark ::-webkit-scrollbar-thumb:hover{background:#6b7280}.dark .bg-white:not([class*="dark:"]),:root.dark .bg-white:not([class*="dark:"]){background-color:#111827}.dark .bg-gray-50:not([class*="dark:"]),:root.dark .bg-gray-50:not([class*="dark:"]){background-color:#1f2937}.dark .bg-gray-100:not([class*="dark:"]),:root.dark .bg-gray-100:not([class*="dark:"]){background-color:#374151}.dark .border-gray-200:not([class*="dark:"]),:root.dark .border-gray-200:not([class*="dark:"]){border-color:#374151}.dark .border-gray-300:not([class*="dark:"]),:root.dark .border-gray-300:not([class*="dark:"]){border-color:#4b5563}.dark .text-gray-900:not([class*="dark:"]),:root.dark .text-gray-900:not([class*="dark:"]){color:#f9fafb}.dark .text-gray-800:not([class*="dark:"]),:root.dark .text-gray-800:not([class*="dark:"]){color:#e5e7eb}.dark .text-gray-700:not([class*="dark:"]),:root.dark .text-gray-700:not([class*="dark:"]){color:#d1d5db}.dark .text-gray-600:not([class*="dark:"]),:root.dark .text-gray-600:not([class*="dark:"]){color:#9ca3af}.dark .text-gray-500:not([class*="dark:"]),:root.dark .text-gray-500:not([class*="dark:"]){color:#9ca3af}.text-content{color:var(--color-gray-900)}.text-content:where(.dark,.dark *){color:var(--color-gray-100)}.text-muted{color:var(--color-gray-500)}.text-muted:where(.dark,.dark *){color:var(--color-gray-400)}.bg-surface{background-color:var(--color-gray-50)}.bg-surface:where(.dark,.dark *){background-color:var(--color-gray-900)}.bg-elevated{background-color:var(--color-white)}.bg-elevated:where(.dark,.dark *){background-color:var(--color-gray-800)}.bg-interactive{background-color:var(--color-white)}.bg-interactive:where(.dark,.dark *){background-color:var(--color-gray-700)}@media (hover: hover){.bg-hover:hover{background-color:var(--color-gray-100)}}@media (hover: hover){.bg-hover:where(.dark,.dark *):hover{background-color:var(--color-gray-700)}}.border-default{border-color:var(--color-gray-200)}.border-default:where(.dark,.dark *){border-color:var(--color-gray-700)}.border-subtle{border-color:var(--color-gray-100)}.border-subtle:where(.dark,.dark *){border-color:var(--color-gray-800)}.focus-ring:focus{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-ring:focus{--tw-ring-color: var(--color-primary-500)}.focus-ring:focus{--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-ring:focus{--tw-outline-style: none;outline-style:none}.focus-ring:where(.dark,.dark *):focus{--tw-ring-offset-color: var(--color-gray-900)}.text-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flex-truncate{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-wrap-break{overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.badge-truncate{display:inline-block;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-scale-x{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-space-x-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-divide-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: "*"; inherits: false;}@property --tw-gradient-from{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: "*"; inherits: false;}@property --tw-gradient-via-stops{syntax: "*"; inherits: false;}@property --tw-gradient-from-position{syntax: "<length-percentage>"; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: "<length-percentage>"; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: "<length-percentage>"; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{syntax: "*"; inherits: false;}@property --tw-ordinal{syntax: "*"; inherits: false;}@property --tw-slashed-zero{syntax: "*"; inherits: false;}@property --tw-numeric-figure{syntax: "*"; inherits: false;}@property --tw-numeric-spacing{syntax: "*"; inherits: false;}@property --tw-numeric-fraction{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@property --tw-duration{syntax: "*"; inherits: false;}@property --tw-ease{syntax: "*"; inherits: false;}@property --tw-content{syntax: "*"; initial-value: ""; inherits: false;}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-space-y-reverse: 0;--tw-space-x-reverse: 0;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-ordinal: initial;--tw-slashed-zero: initial;--tw-numeric-figure: initial;--tw-numeric-spacing: initial;--tw-numeric-fraction: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial;--tw-duration: initial;--tw-ease: initial;--tw-content: ""}}}
