@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.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 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)}[data-theme=dark] .error-message{background-color:#ff444426;color:#ff6b6b}.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)}.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;justify-content:space-between;font-size:.8125rem;color:var(--text-secondary)}.site-count{font-weight:500}.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}.sidebar-toggle{padding:0 1.5rem 1rem;border-bottom:1px solid var(--border)}.toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text-secondary)}.toggle-checkbox{width:1rem;height:1rem;accent-color:var(--primary-color)}.toggle-text{-webkit-user-select:none;user-select:none}@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}.sidebar-toggle{padding:0 1rem .75rem}}: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)}.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}.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:#fff;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:#fff;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:#fff;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:#fff;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:#fff;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:#fff;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:#fff;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)}.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-help{font-size:12px;color:var(--text-muted, #6b7280);margin-bottom:12px}.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)}}.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:#fff;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)}.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:#fff;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:#fff;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)}.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}.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}.toolbar-section{display:flex;align-items:center;gap:8px}.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:#fff;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:#fff;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}.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:#fff;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-wrap:wrap}.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:#fff;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}.action-btn:hover:not(:disabled){border-color:var(--border-color-dark, #d1d5db)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.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}.stats-section{margin-left:auto;gap:16px}.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: 768px){.bulk-action-toolbar{padding:8px 12px;gap:8px}.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;overflow-y:auto;min-height:0;max-height:calc(90vh - 180px)}.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}.view-toggle-btn:hover{color:var(--text-primary, #111827)}.view-toggle-btn.active{background:#fff;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:all .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{transform:scale(1.05)}.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:#fff;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%}}.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:#fff}.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-icon{position:absolute;left:14px;color:var(--text-muted);flex-shrink:0;z-index:2}.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 45px;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:36px;padding:0 12px}.search-input{font-size:14px}.search-button{padding:4px}}: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 .search-icon{color:var(--text-muted)}: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)}.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}.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}}.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}.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}.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;gap:2rem}.nav-item{color:var(--text-secondary);cursor:pointer;transition:color .2s}.nav-item:hover{color:var(--text-primary)}.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)}.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)}.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:998;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)}@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:#fffffff2;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}.current-location-label{border-color:red;color:red}.new-location-label{border-color:#0a0;color:#0a0}.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:#d32f2f}.coordinate-item.new .coordinate-value{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:#ffebee;color:#c62828;padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem;font-size:.875rem}.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}.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-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}.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-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}.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 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}.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{outline:2px solid #2196F3;outline-offset:-2px}.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}.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;overflow-y:auto;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}@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-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}.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}.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}.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)}.notes-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.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:hover{transform:scale(1.1)}.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-button{position:relative;display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;box-shadow:0 2px 4px #0003;transition:all .2s ease}.gis-button:hover:not(.disabled){background-color:#1976d2;box-shadow:0 4px 6px #0003;transform:translateY(-1px)}.gis-button.active{background-color:#9c27b0;color:#fff}.gis-button.active:hover{background-color:#7b1fa2}.gis-button.disabled{opacity:.5;cursor:not-allowed}.gis-button-content{position:relative;display:flex;align-items:center;justify-content:center}.layer-count-badge{position:relative;margin-left:4px;min-width:18px;height:18px;padding:0 4px;background-color:#ef4444;color:#fff;font-size:11px;font-weight:600;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0003}.layer-count-badge.animate{animation:badge-pulse .3s ease}@keyframes badge-pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@media (max-width: 768px){.gis-button{padding:6px 12px;font-size:14px}.gis-button span:not(.layer-count-badge){display:none}.layer-count-badge{min-width:16px;height:16px;font-size:10px;margin-left:2px}}.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-body{max-height:500px;overflow-y:auto}.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}.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{border-color:var(--primary-color);color:var(--primary-color)}.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}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.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:320px!important;z-index:9999!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: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}.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{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.info-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.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-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)}.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:200px;overflow-y:auto;padding:8px}.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:4px;padding:8px;margin-bottom:6px}.note-item:last-child{margin-bottom:0}.note-header{margin-bottom:6px}.note-meta{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary)}.note-date{color:var(--text-muted)}.note-text{font-size:13px;line-height:1.4;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:flex;align-items:center;gap:4px;padding:6px 12px;background:#2196f3;color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:background .2s}.add-note-btn:hover{background:#1976d2}.add-note-form{display:flex;flex-direction:column;gap:8px}.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(--background);border:1px solid var(--border);border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:var(--surface);border-color:var(--border)}.save-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#4caf50;color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:background .2s}.save-btn:hover:not(:disabled){background:#45a049}.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:400px;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:400px;overflow-y:auto}.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;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.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)}.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:400px;overflow-y:auto}.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}@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}}.original-location-controls{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--background);border-radius:8px;box-shadow:0 1px 3px #0000001a}.control-group{display:flex;flex-direction:column;gap:8px}.control-group-advanced{padding-left:24px;border-left:2px solid var(--border)}.control-group-nested{padding-left:12px;margin-top:8px}.control-checkbox{display:flex;align-items:center;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.control-checkbox input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkbox-custom{position:relative;height:18px;width:18px;background-color:var(--background);border:2px solid var(--border);border-radius:4px;transition:all .2s ease;flex-shrink:0}.control-checkbox:hover .checkbox-custom{border-color:var(--text-muted)}.control-checkbox input:checked~.checkbox-custom{background-color:#3b82f6;border-color:#3b82f6}.control-checkbox input:disabled~.checkbox-custom{background-color:var(--hover-bg);border-color:var(--border);cursor:not-allowed}.checkbox-custom:after{content:"";position:absolute;display:none;left:5px;top:2px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.control-checkbox input:checked~.checkbox-custom:after{display:block}.control-label-content{display:flex;align-items:center;gap:6px;margin-left:10px;font-size:14px;font-weight:500;color:var(--text-primary)}.control-checkbox input:disabled~.control-label-content{color:var(--text-muted)}.control-expand-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;padding:4px 8px;margin:4px 0;cursor:pointer;font-size:13px;color:var(--text-muted);transition:all .2s ease;border-radius:4px}.control-expand-toggle:hover{background-color:var(--hover-bg);color:var(--text-primary)}.expand-arrow{font-size:10px;transition:transform .2s ease;margin-left:auto}.expand-arrow.expanded{transform:rotate(90deg)}.control-expanded-content{animation:slideDown .2s ease;padding-top:8px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.control-input-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--text-primary)}.control-input-wrapper{display:flex;align-items:center;position:relative}.control-input{width:100px;padding:6px 24px 6px 8px;border:1px solid var(--border);border-radius:6px;font-size:14px;transition:all .2s ease;background-color:var(--background)}.control-input:hover:not(:disabled){border-color:var(--text-muted)}.control-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.control-input:disabled{background-color:var(--surface);color:var(--text-muted);cursor:not-allowed}.control-input-suffix{position:absolute;right:8px;color:var(--text-muted);font-size:13px;pointer-events:none}.control-input-hint{font-size:12px;color:var(--text-muted);margin-top:4px}.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)}@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}.source-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;cursor:help;transition:all .2s ease;white-space:nowrap}.source-badge-ai{background-color:#e3f2fd;color:#1565c0;border:1px solid #90caf9}.source-badge-ai:hover{background-color:#bbdefb;transform:scale(1.05)}.source-badge-user{background-color:#f3e5f5;color:#6a1b9a;border:1px solid #ce93d8}.source-badge-user:hover{background-color:#e1bee7;transform:scale(1.05)}.source-badge-verified{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.source-badge-verified:hover{background-color:#c3e6cb;transform:scale(1.05)}.source-badge.high-confidence{box-shadow:0 0 0 2px #28a74533}.source-badge.medium-confidence{box-shadow:0 0 0 2px #ffc10733}.source-badge.low-confidence{box-shadow:0 0 0 2px #dc354533}.source-badge svg{width:12px;height:12px}.source-label{margin:0 2px}.source-confidence{margin-left:2px;padding-left:4px;border-left:1px solid currentColor;opacity:.8;font-variant-numeric:tabular-nums}:root.dark .source-badge-ai{background-color:#3b82f626;color:#60a5fa;border-color:#3b82f64d}:root.dark .source-badge-ai:hover{background-color:#3b82f640}:root.dark .source-badge-user{background-color:#8b5cf626;color:#a78bfa;border-color:#8b5cf64d}:root.dark .source-badge-user:hover{background-color:#8b5cf640}:root.dark .source-badge-verified{background-color:#22c55e26;color:#4ade80;border-color:#22c55e4d}:root.dark .source-badge-verified:hover{background-color:#22c55e40}:root.dark .source-badge.high-confidence{box-shadow:0 0 0 2px #4ade804d}:root.dark .source-badge.medium-confidence{box-shadow:0 0 0 2px #fbbf244d}:root.dark .source-badge.low-confidence{box-shadow:0 0 0 2px #f871714d}.enhanced-progress-log-collapsed{margin:16px 0;position:sticky;top:20px;z-index:100}.enhanced-progress-log-toggle{display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,var(--surface-dark) 0%,var(--surface-elevated) 100%);border:2px solid var(--purple-600);border-radius:12px;color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;justify-content:space-between;box-shadow:0 8px 32px var(--purple-alpha-20);position:relative;overflow:hidden}.enhanced-progress-log-toggle:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--purple-alpha-10),transparent);transition:left .5s}.enhanced-progress-log-toggle:hover:before{left:100%}.enhanced-progress-log-toggle:hover{background:linear-gradient(135deg,var(--surface-elevated) 0%,var(--surface-hover) 100%);border-color:var(--purple-500);transform:translateY(-2px);box-shadow:0 12px 48px var(--purple-alpha-30)}.enhanced-progress-log-toggle.expanded{background:transparent;border:1px solid var(--border);padding:8px;width:auto;border-radius:8px;box-shadow:none}.enhanced-progress-log-toggle.expanded:hover{background:var(--surface);transform:none}.pulse-indicator{width:12px;height:12px;background:var(--success);border-radius:50%;animation:pulse-glow 1.5s infinite;box-shadow:0 0 12px var(--success-alpha-50)}.session-count{background:var(--purple-600);color:#fff;font-size:11px;font-weight:700;padding:4px 8px;border-radius:12px;min-width:20px;text-align:center}.enhanced-progress-log-minimized{margin:16px 0;background:linear-gradient(135deg,var(--surface-dark) 0%,var(--surface-elevated) 100%);border:1px solid var(--purple-600);border-radius:12px;overflow:hidden;box-shadow:0 4px 20px var(--purple-alpha-15);position:sticky;top:20px;z-index:100}.mini-stat{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted);font-weight:500}.minimize-toggle,.close-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.minimize-toggle:hover,.close-button:hover{background:var(--hover-bg);border-color:var(--border);color:var(--text-primary)}.minimized-current-step{padding:0 16px 12px}.step-progress-bar{width:100%;height:3px;background:var(--hover-bg);border-radius:2px;overflow:hidden;margin-bottom:6px}.step-progress-fill{height:100%;background:linear-gradient(90deg,var(--purple-600),var(--purple-500));border-radius:2px;transition:width .3s ease}.step-text{font-size:11px;color:var(--text-muted);line-height:1.2}.enhanced-research-progress-log{background:linear-gradient(135deg,var(--surface-dark) 0%,var(--surface) 100%);border:2px solid var(--purple-600);border-radius:16px;margin:16px 0;max-height:700px;display:flex;flex-direction:column;box-shadow:0 20px 60px var(--purple-alpha-30);overflow:hidden;animation:slideInUp .4s cubic-bezier(.4,0,.2,1);position:relative}.enhanced-research-progress-log:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--purple-600),transparent);opacity:.6}.enhanced-progress-log-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--surface) 0%,var(--surface-elevated) 100%)}.header-title h3{margin:0;font-size:18px;font-weight:700;color:var(--text-primary);text-shadow:0 2px 4px rgba(0,0,0,.3)}.live-indicator{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--success-alpha-15);border:1px solid var(--success);border-radius:16px;font-size:11px;font-weight:600;color:var(--success);text-transform:uppercase;letter-spacing:.5px}.session-selector{position:relative}.session-select{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:13px;font-weight:500;padding:8px 12px;min-width:200px;cursor:pointer;transition:all .2s ease}.session-select:hover{border-color:var(--purple-600);background:var(--hover-bg)}.session-select:focus{outline:none;border-color:var(--purple-600);box-shadow:0 0 0 2px var(--purple-alpha-20)}.control-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.stats-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--surface);border-bottom:1px solid var(--border)}.stat-card{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--surface);transition:all .2s ease}.stat-card:hover{background:var(--surface-elevated);transform:translateY(-1px)}.stat-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--purple-alpha-15);border-radius:10px;color:var(--purple-600)}.stat-value{font-size:20px;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:2px}.stat-label{font-size:12px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.filter-controls{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--surface-elevated);border-bottom:1px solid var(--border)}.filter-group{display:flex;align-items:center;gap:8px;color:var(--text-muted)}.filter-select{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;padding:6px 10px;cursor:pointer;transition:all .2s ease}.filter-select:hover{border-color:var(--purple-600)}.filter-select:focus{outline:none;border-color:var(--purple-600);box-shadow:0 0 0 2px var(--purple-alpha-20)}.real-time-metrics{display:flex;align-items:center;gap:16px}.metric{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted);font-weight:500}.current-step-enhanced{padding:20px 24px;background:linear-gradient(135deg,var(--surface-elevated) 0%,var(--surface-hover) 100%);border-bottom:1px solid var(--border);border-left:4px solid var(--purple-600)}.step-content{display:flex;align-items:center;gap:16px}.step-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,var(--purple-600),var(--purple-500));border-radius:12px;color:#fff;box-shadow:0 8px 24px var(--purple-alpha-40)}.step-details{flex:1}.step-details h4{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.step-details p{margin:0 0 12px;font-size:16px;color:var(--text-primary);line-height:1.4}.step-progress{display:flex;align-items:center;gap:12px}.progress-bar{flex:1;height:6px;background:var(--hover-bg);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--purple-600),var(--purple-500));border-radius:3px;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-text{font-size:12px;color:var(--text-muted);font-weight:600;min-width:80px;text-align:right}.enhanced-progress-log-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;max-height:400px;background:var(--surface-dark)}.enhanced-progress-log-content::-webkit-scrollbar{width:8px}.enhanced-progress-log-content::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}.enhanced-progress-log-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--purple-600),var(--purple-500));border-radius:4px}.enhanced-progress-log-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,var(--purple-500),var(--purple-400))}.no-updates{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;text-align:center}.no-updates-icon{margin-bottom:20px;color:var(--text-secondary);opacity:.6}.no-updates-content h4{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-muted)}.no-updates-content p{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5;max-width:300px}.enhanced-log-entry{padding:20px 24px;border-bottom:1px solid var(--border);transition:all .3s ease;animation:slideInLeft .4s cubic-bezier(.4,0,.2,1);position:relative}.enhanced-log-entry:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(135deg,var(--purple-600),var(--purple-500));transition:width .3s ease}.enhanced-log-entry:hover{background:var(--purple-alpha-05)}.enhanced-log-entry:hover:before{width:4px}.enhanced-log-entry:last-child{border-bottom:none}.enhanced-log-entry.active{background:var(--purple-alpha-10);border-left:4px solid var(--purple-600)}.enhanced-log-entry.complete{background:var(--success-alpha-05);border-left:4px solid var(--success)}.enhanced-log-entry.error{background:var(--error-alpha-05);border-left:4px solid var(--error)}.entry-header{display:flex;align-items:center;gap:16px}.entry-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--surface-hover),var(--surface-elevated));border-radius:10px;border:1px solid var(--border)}.progress-icon{width:20px;height:20px}.progress-icon.spinning{animation:spin 1s linear infinite}.progress-icon.agent{color:var(--purple-600)}.progress-icon.search{color:var(--primary)}.progress-icon.source{color:var(--cyan-500)}.progress-icon.step{color:var(--warning)}.progress-icon.finding,.progress-icon.complete{color:var(--success)}.progress-icon.error{color:var(--error)}.progress-icon.api-call{color:var(--purple-500)}.progress-icon.extraction{color:var(--cyan-500)}.entry-meta{display:flex;flex-direction:column;gap:4px;min-width:100px}.entry-time{font-size:11px;color:var(--text-secondary);font-weight:600;font-family:SF Mono,Monaco,Cascadia Code,monospace}.entry-type-badge{font-size:10px;color:var(--text-primary);background:var(--hover-bg);padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;width:fit-content}.entry-content{flex:1;min-width:0}.entry-message{font-size:14px;color:var(--text-primary);line-height:1.5;margin-bottom:4px;font-weight:500}.entry-agent{font-size:12px;color:var(--text-muted);font-weight:500}.expand-button-enhanced{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.expand-button-enhanced:hover{background:var(--hover-bg);border-color:var(--purple-600);color:var(--text-primary);transform:scale(1.05)}.entry-details-enhanced{margin-top:16px;padding:20px;background:linear-gradient(135deg,var(--surface-elevated),var(--surface-hover));border-radius:12px;border:1px solid var(--border)}.detail-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;min-width:80px}.detail-value.api-provider{background:var(--purple-alpha-15);color:var(--purple-400);padding:4px 8px;border-radius:6px;font-weight:600;width:fit-content}.detail-value.confidence-score{background:var(--success-alpha-15);color:var(--success-light);padding:4px 8px;border-radius:6px;font-weight:600;width:fit-content}.detail-link:hover{color:var(--primary-light);background:var(--primary-alpha-20);transform:translate(2px)}.extracted-data-list{margin:8px 0 0;padding:0;list-style:none}.extracted-item{background:var(--success-alpha-10);color:var(--success-light);padding:6px 12px;margin-bottom:6px;border-radius:6px;font-size:12px;font-weight:500;border-left:3px solid var(--success)}.substep{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:12px;color:var(--text-muted)}.substep.completed{color:var(--success-light)}.substep.error{color:var(--error-light)}.substep.pending{color:var(--text-muted)}.substep small{margin-left:12px;color:var(--text-secondary);font-size:11px;font-style:italic}.enhanced-progress-log-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:linear-gradient(135deg,var(--surface) 0%,var(--surface-elevated) 100%);border-top:1px solid var(--border)}.session-info{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);font-weight:500}.session-info svg{width:12px;height:12px;color:var(--text-secondary)}.clear-session-button{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-session-button:hover{background:var(--hover-bg);border-color:var(--error);color:var(--error-light)}@media (max-width: 768px){.enhanced-research-progress-log{margin:12px 0;border-radius:12px;max-height:600px}.enhanced-progress-log-header{padding:16px 16px 12px;flex-direction:column;align-items:flex-start;gap:16px}.header-controls{width:100%;justify-content:space-between}.session-select{min-width:150px}.stats-dashboard{grid-template-columns:repeat(2,1fr)}.filter-controls{padding:12px 16px;flex-direction:column;gap:12px;align-items:stretch}.real-time-metrics{justify-content:center}.current-step-enhanced{padding:16px}.step-content{flex-direction:column;text-align:center;gap:12px}.step-progress{width:100%}.enhanced-log-entry{padding:16px}.entry-header{flex-direction:column;align-items:flex-start;gap:12px}.entry-meta{order:-1;width:100%;flex-direction:row;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:8px}.entry-details-enhanced{padding:16px}.detail-row{flex-direction:column;align-items:flex-start;gap:4px;padding:6px 0}.detail-label{min-width:auto}.enhanced-progress-log-footer{padding:12px 16px;flex-direction:column;gap:12px;align-items:stretch}.session-info{justify-content:center}}.deep-research-panel-collapsed{margin:16px 0;position:sticky;top:20px;z-index:100}.deep-research-toggle{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--surface);border:2px solid var(--purple-600);border-radius:12px;color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;justify-content:space-between;box-shadow:0 8px 32px var(--purple-alpha-20);position:relative;overflow:hidden}.deep-research-toggle:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--purple-alpha-10),transparent);transition:left .5s}.deep-research-toggle:hover:before{left:100%}.deep-research-toggle:hover{background:linear-gradient(135deg,var(--border) 0%,var(--border) 100%);border-color:var(--purple-700);transform:translateY(-2px);box-shadow:0 12px 48px var(--purple-alpha-30)}.deep-research-panel-minimized{margin:16px 0;background:var(--surface);border:1px solid var(--purple-600);border-radius:12px;overflow:hidden;box-shadow:0 4px 20px var(--purple-alpha-15);position:sticky;top:20px;z-index:100}.minimized-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.minimized-left{display:flex;align-items:center;gap:12px}.minimized-icon{width:18px;height:18px;color:var(--purple-600)}.minimized-title{font-size:14px;font-weight:600;color:var(--text-primary)}.minimized-stats{display:flex;align-items:center;gap:16px}.mini-stat{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);font-weight:500}.minimized-actions{display:flex;align-items:center;gap:8px}.minimize-toggle,.close-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.minimize-toggle:hover,.close-button:hover{background:var(--hover-bg);border-color:var(--purple-600);color:var(--text-primary)}.minimized-current-activity{padding:0 16px 12px}.activity-progress-bar{width:100%;height:3px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:6px}.activity-progress-fill{height:100%;background:linear-gradient(90deg,var(--purple-600),var(--purple-700));border-radius:2px;animation:progressPulse 2s ease-in-out infinite}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.7}}.activity-text{font-size:11px;color:var(--text-secondary);line-height:1.2}.deep-research-panel{background:linear-gradient(135deg,var(--background) 0%,var(--surface) 100%);border:2px solid var(--purple-600);border-radius:16px;margin:16px 0;max-height:700px;display:flex;flex-direction:column;box-shadow:0 20px 60px var(--purple-alpha-30);overflow:hidden;animation:slideInUp .4s cubic-bezier(.4,0,.2,1);position:relative}.deep-research-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--purple-600),transparent);opacity:.6}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.deep-research-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.header-left{display:flex;align-items:center;gap:16px;flex:1}.header-title{display:flex;align-items:center;gap:12px}.header-title h3{margin:0;font-size:18px;font-weight:700;color:var(--text-primary);text-shadow:0 1px 2px rgba(0,0,0,.1)}.header-icon{width:22px;height:22px;color:var(--purple-600);filter:drop-shadow(0 2px 4px var(--purple-alpha-50))}.live-indicator{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--success-alpha-15);border:1px solid var(--success);border-radius:16px;font-size:11px;font-weight:600;color:var(--success);text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease}.live-indicator.connecting{background:var(--warning-alpha-15);border-color:var(--warning);color:var(--warning)}.live-indicator.connected{background:var(--success-alpha-15);border-color:var(--success);color:var(--success)}.live-indicator.error{background:var(--error-alpha-15);border-color:var(--error);color:var(--error)}.live-indicator.completed{background:var(--primary-alpha-15);border-color:var(--primary);color:var(--primary)}.live-indicator.disconnected{background:var(--text-muted-alpha-15);border-color:var(--text-muted);color:var(--text-muted)}.pulse-dot{width:6px;height:6px;background:var(--success);border-radius:50%;animation:pulse-glow 1.5s infinite}.live-indicator.connecting .pulse-dot{background:var(--warning);animation:pulse-warning 1s infinite}.live-indicator.connected .pulse-dot{background:var(--success);animation:pulse-glow 1.5s infinite}.live-indicator.error .pulse-dot{background:var(--error);animation:pulse-error .8s infinite}.live-indicator.completed .pulse-dot{background:var(--primary);animation:none}.live-indicator.disconnected .pulse-dot{background:var(--text-muted);animation:none}@keyframes pulse-warning{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@keyframes pulse-error{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.3)}}.pulse-indicator{width:8px;height:8px;background:var(--success);border-radius:50%;animation:pulse-glow 1.5s infinite;box-shadow:0 0 8px var(--success-alpha-50)}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 12px var(--success-alpha-50)}50%{opacity:.7;transform:scale(1.2);box-shadow:0 0 20px var(--success-alpha-80)}}.header-controls{display:flex;align-items:center;gap:16px}.session-stats{display:flex;align-items:center;gap:12px}.stat-item{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);font-weight:500;padding:4px 8px;background:var(--purple-alpha-10);border-radius:6px}.view-controls{display:flex;align-items:center;gap:8px}.control-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.control-button:hover{background:var(--hover-bg);border-color:var(--purple-600);color:var(--text-primary);transform:translateY(-1px)}.control-button.active{background:var(--purple-600);border-color:var(--purple-600);color:#fff;box-shadow:0 4px 12px var(--purple-alpha-40)}.research-target{display:flex;align-items:center;gap:16px;padding:20px 24px;background:linear-gradient(135deg,var(--border) 0%,var(--border) 100%);border-bottom:1px solid var(--border);border-left:4px solid var(--purple-600)}.target-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,var(--purple-600),var(--purple-700));border-radius:12px;color:#fff;box-shadow:0 8px 24px var(--purple-alpha-40)}.target-details{flex:1}.target-details h4{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.target-details p{margin:0;font-size:16px;color:var(--text-primary);line-height:1.4;font-weight:500}.activities-container{flex:1;overflow-y:auto;display:flex;flex-direction:column;max-height:400px;background:var(--background)}.activities-container::-webkit-scrollbar{width:8px}.activities-container::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}.activities-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--purple-600),var(--purple-700));border-radius:4px}.activities-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,var(--purple-700),var(--purple-800))}.no-activities{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;text-align:center}.no-activities-icon{margin-bottom:20px;color:var(--border);opacity:.6}.no-activities-content h4{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-secondary)}.no-activities-content p{margin:0;font-size:14px;color:var(--text-muted);line-height:1.5;max-width:300px}.activity-item{padding:20px 24px;border-bottom:1px solid var(--border);transition:all .3s ease;animation:slideInLeft .4s cubic-bezier(.4,0,.2,1);position:relative}.activity-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(135deg,var(--purple-600),var(--purple-700));transition:width .3s ease}.activity-item:hover{background:var(--purple-alpha-05)}.activity-item:hover:before{width:4px}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.activity-item.active{background:var(--purple-alpha-10);border-left:4px solid var(--purple-600)}.activity-item.complete{background:var(--success-alpha-05);border-left:4px solid var(--success)}.activity-item.error{background:var(--error-alpha-05);border-left:4px solid var(--error)}.activity-item.perplexity_search{background:var(--primary-alpha-05);border-left:4px solid var(--primary)}.activity-item.government_website{background:var(--red-alpha-05);border-left:4px solid var(--red-600);animation:pulse-highlight .5s ease-in-out}.activity-item.websites_discovered{background:var(--emerald-alpha-05);border-left:4px solid var(--emerald-600)}.activity-item.data_point_extracted{background:var(--green-alpha-05);border-left:4px solid var(--green-600)}.activity-item.stage_complete{background:var(--emerald-alpha-08);border-left:4px solid var(--emerald-600);box-shadow:0 2px 8px var(--emerald-alpha-20)}.activity-item.api_request{background:var(--primary-alpha-05);border-left:4px solid var(--primary)}.activity-item.api_response{background:var(--success-alpha-05);border-left:4px solid var(--success)}@keyframes pulse-highlight{0%{box-shadow:0 0 0 0 var(--red-alpha-40)}to{box-shadow:0 0 0 8px var(--red-alpha-0)}}.activity-header{display:flex;align-items:center;gap:16px}.activity-icon-container{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--surface);border-radius:10px;border:1px solid var(--border)}.activity-icon{width:20px;height:20px}.activity-icon.spinning{animation:spin 1s linear infinite}.activity-icon.api-connection{color:var(--purple-600)}.activity-icon.api-request{color:var(--primary)}.activity-icon.api-response{color:var(--success)}.activity-icon.search{color:var(--primary)}.activity-icon.perplexity-search{color:var(--primary-dark)}.activity-icon.website-found{color:var(--cyan-500)}.activity-icon.government-website{color:var(--red-600)}.activity-icon.websites-discovered{color:var(--emerald-600)}.activity-icon.website-analysis{color:var(--warning)}.activity-icon.data-extraction{color:var(--success)}.activity-icon.data-point-extracted{color:var(--green-600)}.activity-icon.citation-generation{color:var(--purple-500)}.activity-icon.stage-complete{color:var(--emerald-600)}.activity-icon.completion{color:var(--success)}.activity-icon.thinking{color:var(--purple-600)}.activity-icon.error{color:var(--error)}.activity-content{flex:1;min-width:0}.activity-meta{display:flex;align-items:center;gap:12px;margin-bottom:8px}.activity-time{font-size:11px;color:var(--text-muted);font-weight:600;font-family:SF Mono,Monaco,Cascadia Code,monospace}.activity-type-badge{font-size:10px;color:var(--surface);background:var(--text-secondary);padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;width:fit-content}.activity-message h4{margin:0 0 4px;font-size:14px;color:var(--text-primary);line-height:1.4;font-weight:600}.activity-message p{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.expand-button{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.expand-button:hover{background:var(--hover-bg);border-color:var(--purple-600);color:var(--text-primary);transform:scale(1.05)}.activity-details{margin-top:16px;padding:20px;background:linear-gradient(135deg,var(--surface),var(--border));border-radius:12px;border:1px solid var(--border)}.activity-details-content{display:flex;flex-direction:column;gap:20px}.detail-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:8px 0;border-bottom:1px solid var(--border-alpha-50)}.detail-row:last-child{margin-bottom:0;border-bottom:none}.detail-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600;min-width:80px}.detail-value{font-size:13px;color:var(--text-primary);font-weight:500;flex:1}.detail-value.provider{background:var(--purple-alpha-15);color:var(--purple-700);padding:4px 8px;border-radius:6px;font-weight:600;width:fit-content}.detail-value.confidence{background:var(--success-alpha-15);color:var(--green-600);padding:4px 8px;border-radius:6px;font-weight:600;width:fit-content}.detail-link{display:inline-flex;align-items:center;gap:6px;color:var(--primary);text-decoration:none;font-weight:500;transition:all .2s ease;padding:4px 8px;border-radius:6px;background:var(--primary-alpha-10)}.detail-link:hover{color:var(--primary-dark);background:var(--primary-alpha-20);transform:translate(2px)}.detail-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.extracted-list{margin:8px 0 0;padding:0;list-style:none}.extracted-item{background:var(--success-alpha-10);color:var(--green-600);padding:6px 12px;margin-bottom:6px;border-radius:6px;font-size:12px;font-weight:500;border-left:3px solid var(--success)}.substeps-list{margin:8px 0 0;padding:0;list-style:none}.substep{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:12px;color:var(--text-secondary)}.substep svg{flex-shrink:0}.substep.complete{color:var(--green-600)}.substep.error{color:var(--red-600)}.substep.active{color:var(--purple-600)}.substep.pending{color:var(--text-secondary)}.substep small{margin-left:12px;color:var(--text-muted);font-size:11px;font-style:italic}.deep-research-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--surface);border-top:1px solid var(--border)}.session-info{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);font-weight:500}.session-info svg{width:12px;height:12px;color:var(--text-muted)}.clear-button{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-button:hover{background:var(--hover-bg);border-color:var(--error);color:var(--red-600)}@media (max-width: 768px){.deep-research-panel{margin:12px 0;border-radius:12px;max-height:600px}.deep-research-header{padding:16px 16px 12px;flex-direction:column;align-items:flex-start;gap:16px}.header-controls{width:100%;justify-content:space-between}.session-stats{gap:8px}.stat-item{font-size:11px;padding:3px 6px}.research-target{padding:16px;flex-direction:column;text-align:center;gap:12px}.activity-item{padding:16px}.activity-header{flex-direction:column;align-items:flex-start;gap:12px}.activity-meta{order:-1;width:100%;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:8px}.activity-details{padding:16px}.detail-row{flex-direction:column;align-items:flex-start;gap:4px;padding:6px 0}.detail-label{min-width:auto}.deep-research-footer{padding:12px 16px;flex-direction:column;gap:12px;align-items:stretch}.session-info{justify-content:center}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@media (prefers-reduced-motion: reduce){.deep-research-panel,.activity-item,.deep-research-toggle,.activity-icon.spinning,.pulse-dot,.pulse-indicator{animation:none}}@media (prefers-contrast: high){.deep-research-panel{border-width:3px}.activity-item{border-bottom-width:2px}.detail-link{text-decoration:underline}}.deep-research-toggle:focus,.control-button:focus,.expand-button:focus,.clear-button:focus{outline:2px solid var(--purple-600);outline-offset:2px}@media print{.deep-research-panel{box-shadow:none;border:1px solid currentColor}.control-button,.expand-button,.clear-button{display:none}.activity-details{display:block!important}}.detail-section{background:rgba(var(--background-rgb),.6);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}.detail-section:last-child{margin-bottom:0}.detail-section-title{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--purple-600);padding-bottom:6px;display:flex;align-items:center;gap:8px}.detail-section-title:before{content:"";width:4px;height:16px;background:linear-gradient(135deg,var(--purple-600),var(--purple-700));border-radius:2px}.detail-subsection{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.detail-subsection-title{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-row.full-width{flex-direction:column;align-items:flex-start;gap:8px}.detail-row.full-width .detail-label{min-width:auto}.detail-value.provider.anthropic{background:var(--purple-alpha-15);color:var(--purple-700)}.detail-value.provider.perplexity{background:var(--primary-alpha-15);color:var(--primary-dark)}.detail-value.search-query{background:var(--primary-alpha-10);color:var(--primary-darker);padding:4px 8px;border-radius:6px;font-style:italic;font-family:SF Mono,Monaco,Cascadia Code,monospace}.detail-value.method,.detail-value.time-elapsed{background:var(--text-muted-alpha-15);color:var(--text-primary);padding:4px 8px;border-radius:6px;font-weight:600;font-family:SF Mono,Monaco,Cascadia Code,monospace}.prompt-content,.response-content{width:100%}.prompt-preview,.response-preview{background:var(--code-bg);color:var(--code-text);padding:12px;border-radius:8px;font-size:11px;line-height:1.4;font-family:SF Mono,Monaco,Cascadia Code,monospace;overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:0;border-left:4px solid var(--purple-600)}.response-preview{border-left-color:var(--success)}.prompt-full,.response-full{margin-top:8px}.prompt-full summary,.response-full summary{font-size:12px;color:var(--purple-600);cursor:pointer;padding:4px 8px;background:var(--purple-alpha-10);border-radius:4px;border:none;font-weight:500}.prompt-full pre,.response-full pre{background:var(--code-bg);color:var(--code-text);padding:12px;border-radius:8px;font-size:11px;line-height:1.4;font-family:SF Mono,Monaco,Cascadia Code,monospace;overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:8px 0 0;max-height:300px;overflow-y:auto}.token-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:8px}.token-stat{display:flex;flex-direction:column;align-items:center;padding:8px;background:var(--purple-alpha-05);border:1px solid var(--purple-alpha-20);border-radius:6px;text-align:center}.token-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:4px}.token-value{font-size:14px;color:var(--text-primary);font-weight:700;font-family:SF Mono,Monaco,Cascadia Code,monospace}.token-value.total{color:var(--purple-700)}.token-value.cost{color:var(--emerald-600)}.websites-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.website-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--primary-alpha-10);border:1px solid var(--primary-alpha-20);border-radius:6px;font-size:12px}.website-item svg{color:var(--primary);flex-shrink:0}.website-item a{color:var(--primary-darker);text-decoration:none;font-weight:500;truncate:ellipsis;overflow:hidden;white-space:nowrap}.website-item a:hover{color:var(--primary-dark);text-decoration:underline}.thinking-steps{display:flex;flex-direction:column;gap:12px}.thinking-step{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--purple-alpha-05);border:1px solid var(--purple-alpha-20);border-radius:8px;border-left:4px solid var(--purple-600)}.step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--purple-600);color:#fff;border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0}.step-content{font-size:13px;color:var(--text-primary);line-height:1.5;flex:1}.citation-item{padding:12px;background:var(--purple-alpha-05);border:1px solid var(--purple-alpha-20);border-radius:8px;border-left:4px solid var(--purple-500)}.citation-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.citation-header svg{color:var(--purple-500);flex-shrink:0}.citation-header a{color:var(--purple-700);text-decoration:none;font-weight:500;font-size:13px;flex:1}.citation-header a:hover{color:var(--purple-800);text-decoration:underline}.citation-confidence{background:var(--success-alpha-15);color:var(--green-600);padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600}.citation-fields{font-size:12px;color:var(--text-secondary);margin-left:22px}.citation-fields span{font-weight:600}.stage-summary{display:flex;flex-direction:column;gap:12px}.summary-stat{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--success-alpha-10);border:1px solid var(--success-alpha-20);border-radius:6px;font-size:13px;font-weight:500;color:var(--emerald-800)}.summary-stat svg{color:var(--success);flex-shrink:0}.populated-fields{margin-top:8px}.populated-fields h6{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--text-primary)}.populated-fields ul{margin:0;padding-left:16px;list-style:disc}.populated-fields li{font-size:12px;color:var(--text-secondary);margin-bottom:2px}.substep-name{font-weight:500;color:var(--text-primary)}.substep-desc{display:block;margin-top:4px;margin-left:22px;font-style:italic;line-height:1.3}.error-section{background:var(--error-alpha-05);border-color:var(--error-alpha-20)}.error-section .detail-section-title{color:var(--red-600);border-bottom-color:var(--error)}.error-message{display:flex;align-items:center;gap:8px;padding:12px;background:var(--error-alpha-10);border:1px solid var(--error-alpha-20);border-radius:6px;color:var(--red-600);font-size:13px;line-height:1.4}.error-message svg{color:var(--error);flex-shrink:0}.raw-data-section{margin-top:12px;border:1px solid var(--border);border-radius:6px}.raw-data-section summary{padding:8px 12px;background:var(--surface);cursor:pointer;font-size:12px;color:var(--text-secondary);font-weight:500;border-bottom:1px solid var(--border)}.raw-data{background:var(--code-bg);color:var(--code-text);padding:12px;font-size:10px;line-height:1.3;font-family:SF Mono,Monaco,Cascadia Code,monospace;overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:0;max-height:200px;overflow-y:auto}.website-item.government-site{background:var(--red-alpha-10);border-color:var(--red-alpha-30)}.gov-badge{background:var(--red-600);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:8px}.perplexity-info{background:var(--primary-alpha-05);border:1px solid var(--primary-alpha-20);border-radius:6px;padding:12px}.detail-value.perplexity-type{background:var(--primary-alpha-15);color:var(--primary-dark);padding:4px 8px;border-radius:6px;font-weight:600}.data-point-info{background:var(--green-alpha-05);border:1px solid var(--green-alpha-20);border-radius:6px;padding:12px}.detail-value.field-name{background:var(--green-alpha-15);color:var(--green-700);padding:4px 8px;border-radius:6px;font-weight:600}.detail-value.field-value{background:var(--text-muted-alpha-10);color:var(--text-primary);padding:4px 8px;border-radius:6px;font-family:SF Mono,Monaco,Cascadia Code,monospace}.government-section{background:var(--red-alpha-05);border:2px solid var(--red-alpha-20);border-radius:8px}.government-section .detail-section-title{color:var(--red-600);border-bottom-color:var(--red-600)}.government-info{background:var(--red-alpha-05);border-radius:6px;padding:12px}.priority-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.priority-badge.high-priority{background:var(--red-600);color:#fff;box-shadow:0 2px 4px var(--red-alpha-30)}.government-info p{color:var(--red-800);font-size:13px;line-height:1.5;margin:0 0 12px;font-style:italic}.thinking-meta{margin-top:16px;border-top:1px solid var(--purple-alpha-20);background:var(--purple-alpha-03);border-radius:6px;padding:12px}.detail-value.model-name{background:var(--purple-alpha-15);color:var(--purple-700);padding:4px 8px;border-radius:6px;font-weight:600;font-family:SF Mono,Monaco,Cascadia Code,monospace}.expected-outputs{margin-top:12px;padding:12px;background:var(--purple-alpha-05);border:1px solid var(--purple-alpha-20);border-radius:6px}.expected-outputs h6{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--purple-700);text-transform:uppercase;letter-spacing:.5px}.expected-outputs ul{margin:0;padding-left:16px;list-style:disc}.expected-outputs li{font-size:12px;color:var(--text-secondary);margin-bottom:4px;line-height:1.4}@media (max-width: 768px){.token-grid{grid-template-columns:repeat(2,1fr);gap:8px}.websites-list{grid-template-columns:1fr}.thinking-step{flex-direction:column;align-items:flex-start;gap:8px}.step-number{align-self:flex-start}.citation-header{flex-direction:column;align-items:flex-start;gap:6px}.detail-section{padding:12px}.prompt-preview,.response-preview,.raw-data{font-size:10px;padding:8px}.perplexity-info,.data-point-info,.government-info{padding:8px}.priority-badge{font-size:10px;padding:3px 6px}}.research-tabs{display:flex;gap:8px;padding:0 16px;margin-bottom:16px;border-bottom:2px solid var(--border);background:var(--surface)}.tab-button{display:flex;align-items:center;gap:8px;padding:12px 16px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative}.tab-button:hover{color:var(--text-primary);background:var(--purple-alpha-05)}.tab-button.active{color:var(--purple-600);border-bottom-color:var(--purple-600);background:var(--purple-alpha-08)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--border);border-radius:10px;font-size:12px;font-weight:600;color:var(--text-secondary);margin-left:4px}.tab-button.active .tab-count{background:var(--purple-600);color:#fff}.citations-container{flex:1;overflow-y:auto;padding:16px;background:var(--surface)}.citations-container.hidden{display:none}.no-citations{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--text-secondary)}.no-citations-icon{margin-bottom:16px;opacity:.3}.no-citations h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.no-citations p{font-size:14px;margin:0}.citations-list{display:flex;flex-direction:column;gap:12px}.citation-card{background:var(--background);border:1px solid var(--border);border-radius:12px;padding:16px;transition:all .2s ease;animation:slideIn .3s ease-out}.citation-card:hover{box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-1px)}.citation-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.citation-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--purple-600);color:#fff;font-size:12px;font-weight:600;border-radius:50%}.citation-source{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;background:var(--surface);border-radius:4px}.citation-confidence{margin-left:auto;font-size:12px;color:var(--success);font-weight:500}.citation-content{display:flex;flex-direction:column;gap:12px}.citation-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.4}.citation-quote{font-style:italic;color:var(--text-secondary);padding:12px 16px;background:var(--surface);border-left:4px solid var(--purple-600);margin:0;border-radius:4px;font-size:14px;line-height:1.6}.citation-metadata{display:flex;gap:16px;font-size:12px;color:var(--text-secondary)}.citation-field,.citation-time{display:flex;align-items:center;gap:4px}.citation-field svg,.citation-time svg{width:12px;height:12px;opacity:.6}.citation-link{display:flex;align-items:center;gap:8px;color:var(--purple-600);text-decoration:none;font-size:13px;padding:8px 12px;background:var(--purple-alpha-08);border-radius:6px;transition:all .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.citation-link:hover{background:var(--purple-alpha-15);color:var(--purple-700)}.citation-link svg{flex-shrink:0;width:14px;height:14px}.citation-link span{overflow:hidden;text-overflow:ellipsis}.activities-container.hidden{display:none}.upload-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}.upload-modal{background:var(--background);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:800px;width:90%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.upload-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border)}.upload-modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.close-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.close-button svg{width:20px;height:20px}.upload-modal-content{flex:1;padding:24px;overflow-y:auto}.jurisdiction-context{background:var(--primary-light);border:1px solid var(--primary-color);border-radius:6px;padding:12px 16px;margin-bottom:24px;font-size:14px;color:var(--text-primary)}.jurisdiction-context strong{margin-left:4px;font-weight:600}.upload-section{margin-bottom:32px}.upload-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.upload-dropzone{border:2px dashed var(--border);border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:all .2s ease}.upload-dropzone:hover{border-color:var(--primary-color);background:var(--primary-light)}.upload-prompt{display:flex;flex-direction:column;align-items:center;gap:8px}.upload-icon{width:48px;height:48px;color:var(--text-muted);margin-bottom:8px}.upload-prompt p{margin:0;font-size:16px;font-weight:500;color:var(--text-primary)}.file-types{font-size:13px;color:var(--text-secondary)}.selected-file{display:flex;align-items:center;gap:16px}.file-icon{width:40px;height:40px;color:var(--primary-color)}.file-info{display:flex;flex-direction:column;gap:4px;text-align:left}.file-name{font-size:16px;font-weight:500;color:var(--text-primary)}.file-size{font-size:13px;color:var(--text-secondary)}.format-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.format-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}.format-icon{width:32px;height:32px;color:var(--primary-color);margin:0 auto 8px}.format-card h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-primary)}.format-card p{margin:0 0 12px;font-size:12px;color:var(--text-secondary);line-height:1.4}.format-types{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.format-badge{background:var(--background);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:500;color:var(--text-secondary)}.upload-progress-section{padding:24px;background:var(--surface);border-radius:8px}.upload-progress-section h3{margin:0 0 20px;font-size:16px;font-weight:600}.overall-progress{margin-bottom:24px}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px}.progress-fill{height:100%;background:var(--primary-color);transition:width .3s ease}.stage-list{display:flex;flex-direction:column;gap:12px}.stage-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--background);border-radius:6px;border:1px solid var(--border)}.stage-item.completed{background:var(--success-bg);border-color:var(--success-color)}.stage-item.in_progress{background:var(--primary-light);border-color:var(--primary-color)}.stage-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.stage-icon svg{width:20px;height:20px}.stage-item.completed .stage-icon svg{color:var(--success-color)}.stage-item.in_progress .stage-icon svg{color:var(--primary-color)}.empty-circle{width:20px;height:20px;border:2px solid var(--border);border-radius:50%}.stage-info{flex:1;display:flex;justify-content:space-between;align-items:center}.stage-name{font-size:14px;font-weight:500;color:var(--text-primary)}.stage-progress{font-size:12px;color:var(--text-secondary)}.conflicts-section{background:var(--warning-bg);border:1px solid var(--warning-color);border-radius:8px;padding:20px}.conflicts-section h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--warning-color-text)}.conflicts-description{margin:0 0 20px;font-size:14px;color:var(--warning-color-text)}.conflict-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.conflict-item{background:var(--background);border:1px solid var(--border);border-radius:6px;padding:16px}.conflict-field{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.field-name{font-weight:600;color:var(--text-primary);text-transform:capitalize}.severity{font-size:12px;font-weight:500;padding:2px 8px;border-radius:4px;text-transform:uppercase}.severity-high{background:var(--error-bg);color:var(--error-color)}.severity-medium{background:var(--warning-bg);color:var(--warning-color)}.severity-low{background:var(--primary-light);color:var(--primary-color)}.conflict-values{display:flex;flex-direction:column;gap:8px}.conflict-option{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;cursor:pointer}.conflict-option:hover{background:var(--hover-bg)}.conflict-option input[type=radio]{flex-shrink:0}.option-content{flex:1;display:flex;justify-content:space-between;align-items:center}.option-label{font-size:14px;font-weight:500;color:var(--text-primary)}.option-value{font-size:13px;color:var(--text-secondary);font-family:monospace}.conflict-actions{display:flex;gap:12px;justify-content:flex-end}.success-section{text-align:center;padding:40px}.success-icon{width:64px;height:64px;color:var(--success-color);margin:0 auto 16px}.success-section h3{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--text-primary)}.success-section p{margin:0 0 24px;font-size:14px;color:var(--text-secondary)}.error-message{display:flex;align-items:center;gap:8px;background:var(--error-bg);border:1px solid var(--error-color);border-radius:6px;padding:12px 16px;color:var(--error-color);font-size:14px}.error-message svg{width:20px;height:20px;flex-shrink:0}.upload-modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--border)}.button{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.button:disabled{opacity:.5;cursor:not-allowed}.button-primary{background:var(--primary-color);color:#fff}.button-primary:hover:not(:disabled){background:var(--primary-hover)}.button-secondary{background:var(--background);color:var(--text-primary);border:1px solid var(--border)}.button-secondary:hover:not(:disabled){background:var(--surface)}.research-change-log{padding:1.5rem}.change-log-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-secondary)}.change-log-loading p{margin-top:1rem;font-size:.875rem}.change-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.change-log-title{display:flex;align-items:center;gap:.75rem}.change-log-title h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.change-count{background:#f3f4f6;color:var(--text-secondary);padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.filter-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border);background:var(--background);border-radius:6px;cursor:pointer;font-size:.875rem;color:var(--text-primary);transition:all .2s}.filter-toggle-btn:hover{background:var(--surface);border-color:#9ca3af}.change-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--background);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.stat-card:hover{border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.stat-card.active{border-color:currentColor;background:var(--surface)}.stat-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px}.stat-content{flex:1}.stat-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.stat-count{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.change-filters{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.filter-group{display:flex;align-items:center;gap:1rem}.filter-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.filter-group select{padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background:var(--background)}.no-changes{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-muted);text-align:center}.no-changes p{margin:1rem 0 .5rem;font-size:1.125rem;font-weight:500;color:var(--text-secondary)}.no-changes span{font-size:.875rem}.change-list{display:flex;flex-direction:column;gap:1rem}.change-item{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:1rem;transition:all .2s}.change-item:hover{box-shadow:0 2px 4px #0000000d;border-color:var(--border)}.change-item-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.change-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}.change-item-meta{flex:1}.change-item-field{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.change-item-details{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary)}.separator{color:#d1d5db}.change-type-badge{padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.change-item-body{display:flex;flex-direction:column;gap:.75rem}.value-change{display:flex;align-items:center;gap:1rem}.value-block{flex:1;padding:.75rem;border-radius:6px;background:var(--surface)}.value-block.old-value{background:#fef2f2;border:1px solid #fecaca}.value-block.new-value{background:#f0fdf4;border:1px solid #bbf7d0}.value-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.5rem}.value-content{font-size:.875rem;color:var(--text-primary);word-break:break-word}.empty-value{color:var(--text-muted);font-style:italic}.arrow{font-size:1.25rem;color:var(--text-muted);flex-shrink:0}.change-notes{padding:.75rem;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;font-size:.875rem;color:#78350f}.change-notes strong{font-weight:600}.change-pagination{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border);text-align:center;font-size:.875rem;color:var(--text-secondary)}.citation-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;cursor:pointer;transition:all .2s ease;position:relative}.citation-icon-wrapper:hover{transform:scale(1.1)}.citation-icon-wrapper:focus{outline:2px solid var(--primary, #1976d2);outline-offset:2px;border-radius:2px}.citation-icon{transition:all .2s ease}.citation-icon--verified{color:var(--success, #22c55e)}.citation-icon--cited{color:var(--info, #3b82f6)}.citation-icon--warning{color:var(--warning, #eab308)}.citation-icon--uncited{color:var(--error, #ef4444)}.citation-icon--add{color:var(--accent, #9333ea);opacity:.6}.citation-icon--add:hover{opacity:1}.citation-icon--empty{color:var(--text-muted, #a0a0a0);opacity:.5}.citation-icon--empty:hover{opacity:.8}.citation-modal-body{padding:24px}.citation-modal-field{margin-bottom:20px}.citation-modal-field label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary);font-size:.875rem}.citation-modal-field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:4px;font-size:1rem;transition:all .2s ease}.citation-modal-field input:focus{outline:none;border-color:var(--primary, #1976d2);box-shadow:0 0 0 3px var(--primary-alpha, rgba(25, 118, 210, .1))}.citation-modal-info{display:flex;align-items:center;gap:8px;padding:12px;background:var(--surface);border-radius:4px;font-size:.875rem;color:var(--text-secondary)}.citation-modal-info svg{color:var(--accent, #9333ea);flex-shrink:0}.citation-modal-footer-content{display:flex;justify-content:space-between;align-items:center;width:100%}.citation-modal-actions{display:flex;gap:12px}.form-group label{display:flex;align-items:center}.form-group label .confidence-indicator{margin-left:8px}.form-group label .citation-icon-wrapper{margin-left:4px}:root.dark .citation-icon-wrapper:focus{outline-color:#60a5fa}:root.dark .citation-icon--verified{color:#4ade80}:root.dark .citation-icon--cited{color:#60a5fa}:root.dark .citation-icon--warning{color:#fbbf24}:root.dark .citation-icon--uncited{color:#f87171}:root.dark .citation-icon--add{color:#a78bfa}:root.dark .citation-icon--empty{color:#6b7280}:root.dark .citation-modal-field label{color:var(--text-primary)}:root.dark .citation-modal-field input{background:var(--surface);border-color:var(--border);color:var(--text-primary)}:root.dark .citation-modal-field input::placeholder{color:var(--text-muted)}:root.dark .citation-modal-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha)}:root.dark .citation-modal-info{background:var(--surface);color:var(--text-secondary)}:root.dark .citation-modal-info svg{color:#a78bfa}.form-field-with-citation{margin-bottom:16px}.form-label{display:block;margin-bottom:4px;font-size:14px;font-weight:500;color:var(--text-primary)}.form-required{color:#ef4444;margin-left:2px}.form-input-wrapper{position:relative;display:flex;align-items:center}.form-input,.form-textarea,.form-select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:4px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background-color:var(--surface);color:var(--text-secondary);cursor:not-allowed}.form-input-with-citation{padding-right:28px!important}.form-field-citation-icon{position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:10;pointer-events:auto}.form-textarea{resize:vertical;min-height:80px}.form-select{background-color:var(--background);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 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px 12px;padding-right:40px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select.form-input-with-citation{padding-right:48px!important}.form-help-text{margin-top:4px;font-size:12px;color:var(--text-secondary);line-height:1.4}.form-citation-info{margin-top:6px;padding:6px 8px;background-color:var(--surface);border:1px solid var(--border);border-radius:4px;font-size:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.form-citation-label{font-weight:500;color:var(--text-secondary)}.form-citation-link{color:#3b82f6;text-decoration:none;font-weight:500}.form-citation-link:hover{text-decoration:underline}.form-citation-date{color:var(--text-muted);font-size:11px}@media (max-width: 640px){.form-citation-info{flex-direction:column;align-items:flex-start;gap:2px}}.form-field-with-citation.has-error .form-input,.form-field-with-citation.has-error .form-textarea,.form-field-with-citation.has-error .form-select{border-color:#ef4444}.form-field-with-citation.has-error .form-input:focus,.form-field-with-citation.has-error .form-textarea:focus,.form-field-with-citation.has-error .form-select:focus{box-shadow:0 0 0 3px #ef44441a}.form-field-with-citation.has-warning .form-input,.form-field-with-citation.has-warning .form-textarea,.form-field-with-citation.has-warning .form-select{border-color:#f59e0b}.form-field-with-citation.has-warning .form-input:focus,.form-field-with-citation.has-warning .form-textarea:focus,.form-field-with-citation.has-warning .form-select:focus{box-shadow:0 0 0 3px #f59e0b1a}.form-field-with-citation.has-success .form-input,.form-field-with-citation.has-success .form-textarea,.form-field-with-citation.has-success .form-select{border-color:#10b981}.form-field-with-citation.has-success .form-input:focus,.form-field-with-citation.has-success .form-textarea:focus,.form-field-with-citation.has-success .form-select:focus{box-shadow:0 0 0 3px #10b9811a}.form-field-with-citation[data-field-type=url] .form-citation-info{background-color:#f0f9ff;border-color:#bae6fd}.contact-fields-group{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px}@media (max-width: 768px){.contact-fields-group{grid-template-columns:1fr;gap:8px}}.comprehensive-research-form{padding:0;max-width:1400px;margin:0 auto;min-height:600px;background:var(--background);display:flex;flex-direction:column}.research-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.research-header h2{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.header-info{display:flex;align-items:center;gap:24px;flex:1}.last-updated{font-size:14px;color:var(--text-muted);margin-top:4px}.research-header-buttons{display:flex;gap:12px;align-items:center}.generate-button,.export-button,.import-button{display:flex;align-items:center;gap:8px;padding:8px 16px;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.generate-button{background-color:var(--purple-600)}.generate-button:hover:not(:disabled){background-color:var(--purple-700)}.export-button{background-color:var(--success)}.export-button:hover{background-color:var(--success-dark)}.import-button{background-color:var(--primary)}.import-button:hover{background-color:var(--primary-dark)}.generate-button:disabled,.export-button:disabled,.import-button:disabled{opacity:.6;cursor:not-allowed}.generate-button.loading{background-color:var(--purple-700);position:relative;overflow:hidden}.generate-button.loading:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite}.loading-dots{display:inline-flex;margin-left:4px}.loading-dots span{animation:dots 1.4s infinite ease-in-out;animation-fill-mode:both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes dots{0%,80%,to{opacity:0}40%{opacity:1}}.notification{position:fixed;top:20px;right:20px;z-index:1000;max-width:400px;border-radius:8px;box-shadow:0 4px 12px #00000026;border:1px solid;animation:slideInRight .3s ease-out}.notification-success{background-color:var(--success-bg);border-color:var(--success);color:var(--success-dark)}.notification-error{background-color:var(--error-bg);border-color:var(--error);color:var(--error-dark)}.notification-info{background-color:var(--info-bg);border-color:var(--info);color:var(--info-dark)}.notification-content{display:flex;align-items:flex-start;gap:12px;padding:16px}.notification-icon{flex-shrink:0;margin-top:2px}.notification-text{flex:1}.notification-message{font-weight:600;font-size:14px;margin-bottom:4px}.notification-details{font-size:13px;opacity:.9;line-height:1.4}.notification-close{flex-shrink:0;background:none;border:none;font-size:18px;font-weight:700;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.notification-close:hover{background-color:#0000001a}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.tabs-container{margin-bottom:24px;flex:1;display:flex;flex-direction:column}.tabs-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;border-bottom:2px solid var(--border);padding-bottom:0}.tab-button{display:flex;align-items:center;gap:6px;padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:-2px}.tab-button.active{color:var(--purple-600);border-bottom-color:var(--purple-600);background-color:transparent}.tabs-content{background-color:var(--background);border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a;flex:1;overflow-y:auto}.tab-content h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 20px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.field-label-clickable{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--text-muted);text-underline-offset:2px;transition:all .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-label-clickable:hover{color:var(--text-secondary);text-decoration-color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:8px 12px;font-size:14px;border:1px solid var(--border);border-radius:6px;background-color:var(--background);transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--purple-600);box-shadow:0 0 0 1px var(--purple-600)}.form-section{margin-top:24px;padding:16px;background-color:var(--surface);border-radius:8px}.form-section h4{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.form-section.full-width{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.save-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:var(--success);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.save-button:hover:not(:disabled){background-color:var(--success-dark)}.save-button:disabled{opacity:.6;cursor:not-allowed}.research-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted)}.research-loading p{margin-top:16px;font-size:16px}.research-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary)}.research-error h3{font-size:20px;font-weight:600;color:var(--error);margin:16px 0 8px}.research-error p{font-size:16px;color:var(--text-muted);margin-bottom:24px;max-width:500px;line-height:1.5}.error-actions{display:flex;gap:12px;align-items:center}@media (max-width: 768px){.research-header{flex-direction:column;align-items:flex-start;gap:12px}.tabs-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.tab-button span{display:none}.form-grid{grid-template-columns:1fr}.tabs-content{padding:16px}.notification{top:10px;right:10px;left:10px;max-width:none}}.dashboard-toggle-section{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:0}.dashboard-toggle{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:1px solid var(--border);border-radius:4px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.dashboard-toggle:hover{background-color:var(--surface);border-color:var(--border)}.dashboard-toggle svg{color:var(--text-secondary)}.jurisdiction-score-circle{width:60px;height:60px;border-radius:50%;background:var(--surface);border:3px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.jurisdiction-score-circle:hover{transform:scale(1.05);background:var(--hover-bg);border-color:var(--border)}.jurisdiction-score-circle .score-value{font-size:24px;font-weight:700;line-height:1;color:var(--text-primary)}.jurisdiction-score-circle .score-label{font-size:11px;color:var(--text-secondary);margin-top:2px}.empty-summary{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-summary h3{color:var(--text-primary);margin:1rem 0;font-size:1.5rem}.empty-summary p{color:var(--text-muted);line-height:1.6;max-width:600px;margin:0 auto}.empty-summary ul{list-style:disc;padding-left:2rem;max-width:600px;margin:0 auto}.empty-summary li{margin:.5rem 0;color:var(--text-secondary)}.summary-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.summary-header h3{margin:0;font-size:1.75rem;color:var(--text-primary);font-weight:600}.summary-last-updated{margin:.5rem 0 0;font-size:.875rem;color:var(--text-muted)}.summary-actions{display:flex;gap:.75rem}.summary-actions button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem}.summary-content{line-height:1.8;color:var(--text-primary)}.markdown-content h1{font-size:2rem;font-weight:700;margin:2rem 0 1rem;color:var(--text-primary);border-bottom:2px solid var(--border);padding-bottom:.5rem}.markdown-content h2{font-size:1.5rem;font-weight:600;margin:1.5rem 0 1rem;color:var(--text-primary)}.markdown-content h3{font-size:1.25rem;font-weight:600;margin:1.25rem 0 .75rem;color:var(--text-secondary)}.markdown-content p{margin:.5rem 0;color:var(--text-primary)}.markdown-content strong{font-weight:600;color:var(--text-primary)}.markdown-content br{display:block;content:"";margin:.25rem 0}.draft-banner{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;margin-bottom:16px;background:var(--warning-bg, #fef3c7);border:1px solid var(--warning-border, #f59e0b);border-radius:8px}.draft-banner-content{display:flex;align-items:center;gap:8px;color:var(--warning-text, #92400e);font-size:14px}.draft-banner-actions{display:flex;gap:8px}.draft-restore-btn{padding:6px 12px;background:var(--warning-border, #f59e0b);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.draft-restore-btn:hover{background:var(--warning-hover, #d97706)}.draft-discard-btn{padding:6px 12px;background:transparent;color:var(--warning-text, #92400e);border:1px solid var(--warning-border, #f59e0b);border-radius:4px;font-size:13px;cursor:pointer;transition:background .2s}.draft-discard-btn:hover{background:#f59e0b1a}.unsaved-indicator{display:flex;align-items:center;gap:6px;padding:8px 12px;margin-bottom:12px;background:var(--info-bg, #dbeafe);border-radius:6px;font-size:13px;color:var(--info-text, #1e40af)}.unsaved-dot{width:8px;height:8px;background:var(--info-accent, #3b82f6);border-radius:50%;animation:pulse 2s infinite}.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)}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.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-content{flex:1;min-width:0}.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)}.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-group textarea{resize:vertical;min-height:80px}.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}.wizard-content{flex:1;overflow-y:auto;padding:24px}.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}.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-grid{display:flex;flex-direction:column;gap:.5rem}.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)}.actions-left{display:flex;gap:.5rem;flex:1}.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}[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}.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-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))}.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-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.1-30{background:#fef3c7;color:#92400e}.badge.31-60{background:#fed7aa;color:#9a3412}.badge.61-90{background:#fecaca;color:#991b1b}.badge.9\+{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.1-30{background:#f59e0b26;color:#fbbf24}.dark .badge.31-60{background:#f9731626;color:#fb923c}.dark .badge.61-90{background:#ef444426;color:#f87171}.dark .badge.9\+{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;width:100%;overflow:hidden}.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-body{flex:1;width:100%;overflow-y:auto;overflow-x:hidden}.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)}.table-row.selected{background:var(--primary-bg, #eff6ff);border-left:3px solid var(--primary-color, #3b82f6)}.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:40px;flex-shrink:0;display:flex;justify-content:flex-end}.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)}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.25px}.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: 768px){.table-header{display:none}.table-row{flex-wrap:wrap;padding:12px 16px;gap:4px}.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;font-size:.875rem;color:var(--text-secondary, #666)}.col-jurisdiction{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}}.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:400;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}.panel-stats{display:flex;align-items:center;gap:12px;font-size:.875rem;color:var(--text-secondary)}.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}.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}.expand-btn:hover,.collapse-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.panel-content{flex:1;width:100%;overflow:hidden;display:flex;flex-direction:column}.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}.panel-header{padding:0 12px 8px}.panel-stats{font-size:.8125rem}.clear-filter-btn{padding:3px 6px;font-size:.6875rem}}.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}.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}}.elevation-status-panel{--elevation-border: #e5e7eb;--elevation-bg: #ffffff;--elevation-surface: #f9fafb;--elevation-text-primary: #111827;--elevation-text-secondary: #6b7280;--elevation-text-muted: #9ca3af;--elevation-success: #10b981;--elevation-warning: #f59e0b;--elevation-error: #ef4444;--elevation-info: #3b82f6;--elevation-hover-bg: #f3f4f6;display:flex;flex-direction:column;gap:16px;padding:16px;margin-top:16px;border-radius:8px;border:2px solid var(--elevation-border);background-color:var(--elevation-bg);font-size:.9rem;color:var(--elevation-text-primary)}.elevation-status-panel.compact{padding:16px;gap:12px}.elevation-status-panel.loading,.elevation-status-panel.error{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--spacing-2, 8px);padding:var(--spacing-4, 16px);color:var(--elevation-text-secondary);font-size:.875rem}.elevation-status-panel.error{color:var(--color-error, #dc3545)}.elevation-status-panel.error .retry-btn{padding:4px 8px;font-size:.75rem;background:transparent;border:1px solid currentColor;border-radius:var(--radius-sm, 4px);color:inherit;cursor:pointer}.elevation-status-panel.error .retry-btn:hover{background:var(--color-error-bg, rgba(220, 53, 69, .1))}.elevation-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2, 8px)}.elevation-title{display:flex;align-items:center;gap:var(--spacing-2, 8px);font-weight:600;font-size:.875rem;color:var(--elevation-text-primary)}.elevation-icon{color:var(--color-primary, #6366f1)}.elevation-actions{display:flex;align-items:center;gap:var(--spacing-2, 8px)}.refresh-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm, 4px);color:var(--elevation-text-secondary);cursor:pointer;transition:all .2s ease}.refresh-btn:hover:not(:disabled){background:var(--color-bg-hover, rgba(0, 0, 0, .05));color:var(--elevation-text-primary)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-btn .spinning{animation:spin 1s linear infinite}.elevation-thumbnail{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-sm, 4px);overflow:hidden;background:var(--color-bg-tertiary, #fff);border:1px solid var(--elevation-border);cursor:pointer;transition:all .2s ease}.elevation-thumbnail:hover{border-color:var(--color-primary, #6366f1);box-shadow:0 0 0 2px var(--color-primary-alpha, rgba(99, 102, 241, .2))}.elevation-thumbnail img{width:100%;height:100%;object-fit:contain;background:#fff}.elevation-details{display:flex;flex-direction:column;gap:8px;padding:8px 0}.detail-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.75rem;color:var(--elevation-text-secondary)}.detail-label{font-weight:500;color:var(--color-text-tertiary, #999)}.detail-value{color:var(--elevation-text-primary)}.elevation-status-panel.compact .elevation-title{font-size:.8125rem}.elevation-status-panel.compact .elevation-details{display:none}:root.dark .elevation-status-panel{--elevation-border: #4b5563;--elevation-bg: #1f2937;--elevation-surface: #111827;--elevation-text-primary: #f9fafb;--elevation-text-secondary: #9ca3af;--elevation-text-muted: #6b7280;--elevation-success: #10b981;--elevation-warning: #f59e0b;--elevation-error: #ef4444;--elevation-info: #3b82f6;--elevation-hover-bg: #374151}:root.dark .elevation-status-panel__header{border-bottom-color:var(--elevation-border)}:root.dark .elevation-status-panel__section{border-color:var(--elevation-border)}:root.dark .elevation-status-panel__button:hover{background-color:var(--elevation-hover-bg)}.poleforge-offline-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.poleforge-offline-modal{background:#fff;padding:32px;border-radius:12px;max-width:400px;text-align:center;box-shadow:0 8px 32px #0003}.poleforge-offline-modal .warning-icon{color:#f59e0b;margin-bottom:16px}.poleforge-offline-modal h3{font-size:1.25rem;font-weight:600;margin-bottom:12px;color:#111827}.poleforge-offline-modal p{font-size:.95rem;color:#6b7280;margin-bottom:24px;line-height:1.5}:root.dark .poleforge-offline-modal{background:#1f2937}:root.dark .poleforge-offline-modal h3{color:#f9fafb}:root.dark .poleforge-offline-modal p{color:#9ca3af}.site-quick-view{position:absolute;top:0;right:0;width:320px;max-width:90vw;height:100%;background:var(--background);box-shadow:-4px 0 20px #00000026;z-index:1200;display:flex;flex-direction:column;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.quick-view-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid var(--border)}.site-id-row{display:flex;align-items:center;gap:8px}.site-id{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.site-id.site-id-link{cursor:pointer;transition:color .2s ease}.site-id.site-id-link:hover{color:#3b82f6;text-decoration:underline}.site-id.site-id-link:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:4px}.flag-icon{color:var(--warning-color)}.close-btn{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);transition:all .2s ease}.close-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.status-row{padding:0 16px 12px}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.quick-view-content{flex:1;overflow-y:auto;padding:16px}.detail-row{display:flex;gap:12px;margin-bottom:16px}.detail-icon{flex-shrink:0;color:var(--text-tertiary);margin-top:2px}.detail-icon-placeholder{width:16px;flex-shrink:0}.detail-text{display:flex;flex-direction:column;gap:2px}.detail-label{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.detail-value{font-size:.875rem;color:var(--text-primary);word-break:break-word}.detail-value.mono{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:.8125rem}.notes-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.notes-text{margin:8px 0 0;font-size:.875rem;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap}.quick-view-actions{padding:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.action-btn.primary{background:var(--primary-color);border:none;color:#fff}.action-btn.primary:hover{background:var(--primary-hover)}.action-btn.secondary{background:var(--background);border:1px solid var(--border);color:var(--text-primary)}.action-btn.secondary:hover{background:var(--hover-bg);border-color:var(--border)}@media (max-width: 768px){.site-quick-view{width:100%;max-width:none;height:auto;max-height:70vh;top:auto;bottom:0;right:0;left:0;border-radius:16px 16px 0 0;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.quick-view-content{max-height:40vh}.quick-view-actions{flex-direction:row}.action-btn{flex:1}}.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:8px 24px;background:var(--primary-color, #3b82f6);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem}.map-home-error button:hover{background:var(--primary-hover, #2563eb)}.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-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}.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-group{display:flex;align-items:center;gap:8px}.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)}.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}.link-with-edit{display:inline-flex;align-items:center;gap:8px;max-width:100%}.link-with-edit__link{color:var(--link-color, #1976d2);text-decoration:none;display:inline-flex;align-items:center;gap:4px;max-width:calc(100% - 40px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s ease}.link-with-edit__link:hover{color:var(--link-hover-color, #1565c0);text-decoration:underline}.link-with-edit__link:focus{outline:2px solid var(--link-color, #1976d2);outline-offset:2px;border-radius:2px}.external-link-icon{flex-shrink:0;opacity:.7}.link-with-edit__empty{color:var(--text-secondary);font-style:italic}.link-with-edit__content{display:inline-flex;align-items:center;gap:8px;flex:1;min-width:0}.link-with-edit__actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.link-with-edit__action-btn{padding:4px 8px;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .2s ease}.link-with-edit__action-btn:hover{background:var(--hover-bg);border-color:var(--border);color:var(--text-primary)}.link-with-edit__action-btn:focus{outline:2px solid var(--link-color, #1976d2);outline-offset:2px}.link-with-edit__revalidate-btn:hover{color:var(--link-color, #1976d2)}.status-icon{flex-shrink:0;transition:all .2s ease}.status-icon--high-confidence{color:var(--status-high-confidence, #198038)}.status-icon--medium-confidence{color:var(--status-medium-confidence, #F1C21B)}.status-icon--low-confidence{color:var(--status-low-confidence, #DA1E28)}.status-icon--unverified{color:var(--text-tertiary, #6F6F6F);opacity:.7}.status-icon--valid{color:var(--success-color, #4caf50)}.status-icon--redirect{color:var(--warning-color, #ff9800)}.status-icon--invalid,.status-icon--not_found{color:var(--error-color, #f44336)}.status-icon--timeout{color:var(--text-tertiary, #9e9e9e)}.status-icon--dns-error{color:var(--status-dns-error, #795548)}.status-icon--ssl-error{color:var(--status-ssl-error, #ff5722)}.status-icon--pending{color:var(--text-tertiary, #9e9e9e);opacity:.6}.status-icon--error{color:var(--error-color, #f44336)}.link-confidence--medium .link-with-edit__link{color:var(--status-medium-link, #F57C00)}.link-confidence--medium .link-with-edit__link:hover{color:var(--status-medium-link-hover, #E65100)}.link-confidence--low .link-with-edit__link{color:var(--status-low-confidence, #DA1E28);text-decoration:line-through;opacity:.8}.link-confidence--low .link-with-edit__link:hover{color:var(--status-low-confidence-hover, #B91C1C)}.link-confidence--none .link-with-edit__link{color:var(--text-tertiary, #6F6F6F);opacity:.8}.link-status--invalid .link-with-edit__link,.link-status--not_found .link-with-edit__link{color:var(--error-color, #f44336);text-decoration:line-through;opacity:.8}.link-status--invalid .link-with-edit__link:hover,.link-status--not_found .link-with-edit__link:hover{color:var(--error-hover-color, #d32f2f)}.link-status--redirect .link-with-edit__link{color:var(--warning-color, #ff9800)}.link-status--redirect .link-with-edit__link:hover{color:var(--warning-hover-color, #f57c00)}.link-status--ssl-error .link-with-edit__link{color:var(--status-ssl-error, #ff5722)}.link-status--timeout .link-with-edit__link,.link-status--dns-error .link-with-edit__link{color:var(--text-tertiary, #9e9e9e);text-decoration:line-through;opacity:.8}.status-icon[title]{cursor:help}.link-edit-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg, rgba(0, 0, 0, .5));display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.link-edit-modal{background:var(--background);border-radius:8px;box-shadow:0 4px 24px var(--shadow-color, rgba(0, 0, 0, .15));width:90%;max-width:500px;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.link-edit-modal__header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.link-edit-modal__header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.link-edit-modal__close{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);border-radius:4px;transition:all .2s ease}.link-edit-modal__close:hover{background:var(--hover-bg);color:var(--text-primary)}.link-edit-modal__close:focus{outline:2px solid var(--link-color, #1976d2);outline-offset:2px}.link-edit-modal__body{padding:24px}.link-edit-modal__label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary);font-size:.875rem}.link-edit-modal__input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:4px;font-size:1rem;transition:all .2s ease;font-family:inherit;background:var(--background);color:var(--text-primary)}.link-edit-modal__input:focus{outline:none;border-color:var(--link-color, #1976d2);box-shadow:0 0 0 3px var(--focus-ring, rgba(25, 118, 210, .1))}.link-edit-modal__input.error{border-color:var(--error-color, #d32f2f)}.link-edit-modal__input.error:focus{box-shadow:0 0 0 3px var(--error-focus-ring, rgba(211, 47, 47, .1))}.link-edit-modal__error{margin:8px 0 0;color:var(--error-color, #d32f2f);font-size:.875rem}.link-edit-modal__hint{margin:8px 0 0;color:var(--text-secondary);font-size:.875rem}.link-edit-modal__footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--surface);border-radius:0 0 8px 8px}.link-edit-modal__btn{padding:8px 16px;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px;font-family:inherit}.link-edit-modal__btn--cancel{background:var(--background);border:1px solid var(--border);color:var(--text-secondary)}.link-edit-modal__btn--cancel:hover{background:var(--hover-bg);border-color:var(--border);color:var(--text-primary)}.link-edit-modal__btn--save{background:var(--primary-color, #1976d2);border:1px solid var(--primary-color, #1976d2);color:#fff}.link-edit-modal__btn--save:hover:not(:disabled){background:var(--primary-hover-color, #1565c0);border-color:var(--primary-hover-color, #1565c0)}.link-edit-modal__btn--save:disabled{opacity:.5;cursor:not-allowed}.link-edit-modal__btn:focus{outline:2px solid var(--link-color, #1976d2);outline-offset:2px}.form-group .link-with-edit{margin-top:8px}@media (max-width: 600px){.link-edit-modal{width:95%;margin:16px}.link-edit-modal__header,.link-edit-modal__body,.link-edit-modal__footer{padding:16px}}:root.dark .link-edit-modal{box-shadow:0 4px 24px #0006}:root.dark .link-edit-modal__input:focus{box-shadow:0 0 0 3px #60a5fa33}:root.dark .link-edit-modal__input.error:focus{box-shadow:0 0 0 3px #f8717133}:root.dark .status-icon--high-confidence{color:#4ade80}:root.dark .status-icon--dns-error{color:#a1887f}:root.dark .status-icon--ssl-error{color:#ff8a65}:root.dark .link-confidence--medium .link-with-edit__link{color:#fb923c}:root.dark .link-confidence--medium .link-with-edit__link:hover{color:#fdba74}:root.dark .link-status--ssl-error .link-with-edit__link{color:#ff8a65}.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 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)}.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}.research-import-modal{max-width:700px}.info-section{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{color:var(--primary);flex-shrink:0;margin-top:.25rem}.info-section h4{margin:0 0 .5rem;font-size:1rem;color:var(--info-text, var(--primary))}.info-section p{margin:0 0 .5rem;font-size:.9rem;color:var(--info-text, var(--primary))}.info-section ul{margin:0;padding-left:1.25rem;font-size:.85rem;color:var(--info-text, var(--primary))}.info-section li{margin:.25rem 0}.file-selected{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--success-bg, #e8f5e9);border:1px solid var(--success-border, #66bb6a);border-radius:6px;margin-top:1rem}.file-selected svg{color:var(--success, #2e7d32);flex-shrink:0}.file-selected span{flex:1;font-weight:500;color:var(--success, #2e7d32)}.remove-file-btn{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--success, #2e7d32);transition:color .2s;display:flex;align-items:center;justify-content:center}.remove-file-btn:hover{color:var(--success-dark, #1b5e20)}.import-options{margin-top:1.5rem;padding:1rem;background:var(--surface);border-radius:6px}.import-options h4{margin:0 0 1rem;font-size:.95rem;color:var(--text-primary)}.import-options label{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;cursor:pointer;font-size:.9rem;color:var(--text-primary)}.import-options label:last-child{margin-bottom:0}.import-options input[type=checkbox]{width:18px;height:18px;cursor:pointer}.export-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border);text-align:center}.export-section p{margin:0 0 1rem;color:var(--text-secondary);font-size:.9rem}.file-upload-area{border:2px dashed var(--border);border-radius:8px;padding:2.5rem 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);font-size:1.1rem}.file-upload-area p{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.9rem}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}@media (max-width: 768px){.research-import-modal{max-width:100%}.info-section{flex-direction:column}.file-upload-area{padding:2rem 1rem}}[data-theme=dark] .info-section{background:#2196f326}[data-theme=dark] .info-section h4,[data-theme=dark] .info-section p,[data-theme=dark] .info-section ul{color:#64b5f6}[data-theme=dark] .file-selected{background:#66bb6a26;border-color:#66bb6a66}[data-theme=dark] .file-selected svg,[data-theme=dark] .file-selected span,[data-theme=dark] .remove-file-btn{color:#81c784}[data-theme=dark] .remove-file-btn:hover{color:#a5d6a7}.markdown-import-modal{max-width:900px;width:90%;max-height:85vh;display:flex;flex-direction:column}.markdown-import-modal .modal-header{position:relative}.markdown-import-modal .stage-indicator{color:var(--primary);font-size:.9em;font-weight:400;margin-left:10px}.markdown-import-modal .modal-body{flex:1;overflow-y:auto;padding:20px}.import-info{display:flex;gap:15px;padding:15px;background:var(--info-bg, #f0f8ff);border:1px solid var(--primary);border-radius:8px;margin-bottom:20px}.import-info svg{color:var(--primary);flex-shrink:0}.import-info p{margin:0 0 8px;color:var(--text-primary)}.import-info ul{margin:8px 0 0;padding-left:20px;color:var(--text-primary)}.import-info li{margin:4px 0}.file-drop-zone{border:2px dashed var(--border);border-radius:8px;padding:40px;text-align:center;transition:all .2s;cursor:pointer;margin:20px 0;background:var(--background)}.file-drop-zone.drag-active{border-color:var(--primary);background:var(--info-bg, var(--surface))}.file-drop-zone:hover{border-color:var(--text-muted);background:var(--surface)}.file-drop-label{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px}.file-drop-label svg{color:var(--text-secondary)}.file-drop-label h3{margin:10px 0;color:var(--text-primary)}.file-drop-label p{margin:5px 0;color:var(--text-secondary)}.template-hint{font-size:.9em;color:var(--text-muted)!important;font-style:italic}.files-list{margin:20px 0}.files-list h4{margin-bottom:10px;color:var(--text-primary)}.files-grid{display:grid;gap:8px;max-height:200px;overflow-y:auto;padding:10px;background:var(--surface);border-radius:4px}.file-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--background);border:1px solid var(--border);border-radius:4px}.file-item svg{color:var(--text-secondary);flex-shrink:0}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9em;color:var(--text-primary)}.file-size{color:var(--text-muted);font-size:.85em;flex-shrink:0}.remove-file{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:color .2s}.remove-file:hover{color:var(--error, #ff4444)}.import-options{display:flex;flex-direction:column;gap:10px;padding:15px;background:var(--surface);border-radius:4px;margin:20px 0}.import-options label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.95em;color:var(--text-primary)}.import-options input[type=checkbox]{cursor:pointer}.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(--background);border:2px solid var(--border);border-radius:8px}.summary-card.new{border-color:var(--success, #4caf50);background:var(--success-bg, #f1f8f4)}.summary-card.new svg{color:var(--success, #4caf50)}.summary-card.update{border-color:var(--primary, #2196f3);background:var(--info-bg, #f0f8ff)}.summary-card.update svg{color:var(--primary, #2196f3)}.summary-card.error{border-color:var(--error, #f44336);background:var(--error-bg, #fef1f0)}.summary-card.error svg{color:var(--error, #f44336)}.summary-card .count{font-size:1.8em;font-weight:700;color:var(--text-primary)}.summary-card .label{font-size:.9em;color:var(--text-secondary)}.validation-files h4{margin-bottom:15px;color:var(--text-primary)}.validation-list{max-height:300px;overflow-y:auto;border:1px solid var(--border);border-radius:4px}.validation-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-bottom:1px solid var(--border);background:var(--background)}.validation-item:last-child{border-bottom:none}.validation-item.duplicate{background:var(--warning-bg, #fff8e1)}.validation-item.error{background:var(--error-bg, #fef1f0)}.validation-item svg{margin-top:2px;flex-shrink:0}.file-info{flex:1}.file-info .file-name{font-size:.9em;color:var(--text-secondary);margin-bottom:4px}.jurisdiction-info{font-size:.95em;margin-bottom:4px;color:var(--text-primary)}.jurisdiction-info .error{color:var(--error, #f44336)}.validation-message{font-size:.85em;color:var(--text-muted);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(--primary)}.progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:20px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light, #0088ff));transition:width .3s ease;border-radius:4px}.progress-details{text-align:center}.current-file{font-size:.95em;color:var(--text-secondary);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)}.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(--success, #4caf50)}.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;margin-bottom:30px}.result-card{padding:20px;background:var(--surface);border-radius:8px;border:2px solid var(--border)}.result-card.success{background:var(--success-bg, #f1f8f4);border-color:var(--success, #4caf50)}.result-card.info{background:var(--info-bg, #f0f8ff);border-color:var(--primary, #2196f3)}.result-card.error{background:var(--error-bg, #fef1f0);border-color:var(--error, #f44336)}.result-number{font-size:2em;font-weight:700;color:var(--text-primary);margin-bottom:5px}.result-label{font-size:.9em;color:var(--text-secondary)}.results-note{display:flex;align-items:flex-start;gap:10px;padding:15px;background:var(--warning-bg, #fff8e1);border:1px solid var(--warning-border, #ffc107);border-radius:4px;text-align:left}.results-note svg{color:var(--warning, #ffc107);flex-shrink:0;margin-top:2px}.results-note p{margin:0;font-size:.95em;color:var(--text-primary)}.markdown-import-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-top:1px solid var(--border)}.footer-actions{display:flex;gap:10px}.icon-success{color:var(--success, #4caf50)}.icon-info{color:var(--primary, #2196f3)}.icon-error{color:var(--error, #f44336)}.icon-muted{color:var(--text-muted)}@media (max-width: 768px){.markdown-import-modal{width:95%;max-height:90vh}.validation-summary,.results-summary{grid-template-columns:1fr}.progress-stats{flex-direction:column;gap:10px}}[data-theme=dark] .import-info{background:#0066cc26;border-color:#06c6}[data-theme=dark] .summary-card.new{background:#4caf5026;border-color:#4caf5066}[data-theme=dark] .summary-card.update{background:#2196f326;border-color:#2196f366}[data-theme=dark] .summary-card.error{background:#f4433626;border-color:#f4433666}[data-theme=dark] .validation-item.duplicate{background:#ffc10726}[data-theme=dark] .validation-item.error{background:#f4433626}[data-theme=dark] .result-card.success{background:#4caf5026;border-color:#4caf5066}[data-theme=dark] .result-card.info{background:#2196f326;border-color:#2196f366}[data-theme=dark] .result-card.error{background:#f4433626;border-color:#f4433666}[data-theme=dark] .results-note{background:#ffc10726;border-color:#ffc10766}.jurisdictions-manager{padding:1.5rem;background:var(--surface);min-height:100vh}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;background:var(--background);padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000000d}.page-header h1{margin:0;font-size:1.75rem;color:var(--text-primary)}.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:1rem}.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}.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)}.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{flex-shrink: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}: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}.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}.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 auto 1fr;gap:1rem;padding:1rem}@media (max-width: 768px){.media-notes-content{grid-template-columns:1fr}.section-divider{display:none}}.media-section{display:flex;flex-direction:column}.section-divider{width:1px;background:var(--border)}.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}.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-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-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-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{max-width:1400px;margin:0 auto;padding:2rem}.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}.deliverables-panel{background:var(--background);border:1px solid var(--border);border-radius:.5rem;padding:1.5rem}.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}.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}/*! 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-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-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-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-teal-100: oklch(95.3% .051 180.801);--color-teal-400: oklch(77.7% .152 181.912);--color-teal-600: oklch(60% .118 184.704);--color-teal-900: oklch(38.6% .063 188.416);--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-100: oklch(93% .034 272.788);--color-indigo-300: oklch(78.5% .115 274.713);--color-indigo-400: oklch(67.3% .182 276.935);--color-indigo-600: oklch(51.1% .262 276.966);--color-indigo-700: oklch(45.7% .24 277.023);--color-indigo-900: oklch(35.9% .144 278.697);--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-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-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-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-wider: .05em;--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;--blur-sm: 8px;--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-text: #059669;--color-warning: #f59e0b;--color-warning-text: #b45309;--color-error: #ef4444;--color-error-light: #fee2e2;--color-error-text: #dc2626;--color-surface: #f8f9fa;--color-border: #e5e7eb}}@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}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\!{visibility:visible!important}.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-5{top:calc(var(--spacing) * 5)}.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)}.-bottom-1{bottom:calc(var(--spacing) * -1)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-0\.5{left:calc(var(--spacing) * .5)}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-5{left:calc(var(--spacing) * 5)}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.float-left{float:left}.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}}.m-1{margin:calc(var(--spacing) * 1)}.m-2{margin:calc(var(--spacing) * 2)}.m-3{margin:calc(var(--spacing) * 3)}.m-4{margin:calc(var(--spacing) * 4)}.m-5{margin:calc(var(--spacing) * 5)}.-mx-1\.5{margin-inline:calc(var(--spacing) * -1.5)}.-mx-6{margin-inline:calc(var(--spacing) * -6)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-5{margin-inline:calc(var(--spacing) * 5)}.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)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-5{margin-block:calc(var(--spacing) * 5)}.-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-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.-mr-0\.5{margin-right:calc(var(--spacing) * -.5)}.-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-4{margin-right:calc(var(--spacing) * 4)}.mr-5{margin-right:calc(var(--spacing) * 5)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.-mb-\[1px\]{margin-bottom:-1px}.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-5{margin-bottom:calc(var(--spacing) * 5)}.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-auto{margin-left:auto}.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-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.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-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.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-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-full{max-height:100%}.min-h-\[28px\]{min-height:28px}.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\/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-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-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.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-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-64{min-width:calc(var(--spacing) * 64)}.min-w-\[60px\]{min-width:60px}.min-w-\[120px\]{min-width:120px}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-2{flex:2}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.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)}.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-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-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.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-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)))}.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)))}.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-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-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-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-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style: dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.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-300{border-color:var(--color-gray-300)}.border-green-200{border-color:var(--color-green-200)}.border-green-500{border-color:var(--color-green-500)}.border-orange-200{border-color:var(--color-orange-200)}.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-transparent{border-color:transparent}.border-yellow-200{border-color:var(--color-yellow-200)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black{background-color:var(--color-black)}.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-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.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-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-indigo-100{background-color:var(--color-indigo-100)}.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-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-500{background-color:var(--color-red-500)}.bg-teal-100{background-color:var(--color-teal-100)}.bg-transparent{background-color:transparent}.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-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))}.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-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))}.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-5{padding:calc(var(--spacing) * 5)}.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-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-5{padding-block:calc(var(--spacing) * 5)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-1{padding-right:calc(var(--spacing) * 1)}.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-5{padding-right:calc(var(--spacing) * 5)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-11{padding-right:calc(var(--spacing) * 11)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.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)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.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-\[10px\]{font-size:10px}.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-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.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-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-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-gray-100{color:var(--color-gray-100)}.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-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-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-orange-800{color:var(--color-orange-800)}.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-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-teal-600{color:var(--color-teal-600)}.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}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.placeholder-red-300::placeholder{color:var(--color-red-300)}.opacity-0{opacity:0%}.opacity-25{opacity:25%}.opacity-50{opacity:50%}.opacity-75{opacity:75%}.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-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{--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-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)}}.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,)}.backdrop-blur-sm{--tw-backdrop-blur: blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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\!{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!important;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration, var(--default-transition-duration))!important}.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}.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)}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}@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%}.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\:pb-0:last-child{padding-bottom:calc(var(--spacing) * 0)}@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-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-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-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-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-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-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-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-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-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\: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-primary-500:focus{border-color:var(--color-primary-500)}.focus\:border-red-500:focus{border-color:var(--color-red-500)}.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-blue-500:focus{--tw-ring-color: var(--color-blue-500)}.focus\:ring-current:focus{--tw-ring-color: currentcolor}.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\/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-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-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-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-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)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-50:disabled{background-color:var(--color-gray-50)}.disabled\:opacity-50:disabled{opacity:50%}@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\: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-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-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-800:where(.dark,.dark *){border-color:var(--color-green-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-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\: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-900:where(.dark,.dark *){background-color:var(--color-blue-900)}.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-gray-400:where(.dark,.dark *){background-color:var(--color-gray-400)}.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\/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-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-900:where(.dark,.dark *){background-color:var(--color-orange-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\/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-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-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\: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-300:where(.dark,.dark *){color:var(--color-blue-300)}.dark\:text-blue-400:where(.dark,.dark *){color:var(--color-blue-400)}.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-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-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-teal-400:where(.dark,.dark *){color:var(--color-teal-400)}.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\: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-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\: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\/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-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\/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-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\/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-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-300:where(.dark,.dark *):hover{color:var(--color-blue-300)}}@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)}}.dark\:focus\:border-primary-400:where(.dark,.dark *):focus{border-color:var(--color-primary-400)}.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)}@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)}}}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{--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;--input-bg: #ffffff;--border: #e5e7eb;--border-focus: #2563eb;--text-primary: #1a1a1a;--text-secondary: #6b7280;--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)}: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);--background: #111827;--surface: #1f2937;--surface-elevated: #374151;--hover-bg: #374151;--input-bg: #374151;--border: #374151;--border-focus: #3b82f6;--text-primary: #f9fafb;--text-secondary: #9ca3af;--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)}#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-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-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{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-backdrop-blur{syntax: "*"; inherits: false;}@property --tw-backdrop-brightness{syntax: "*"; inherits: false;}@property --tw-backdrop-contrast{syntax: "*"; inherits: false;}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false;}@property --tw-backdrop-invert{syntax: "*"; inherits: false;}@property --tw-backdrop-opacity{syntax: "*"; inherits: false;}@property --tw-backdrop-saturate{syntax: "*"; inherits: false;}@property --tw-backdrop-sepia{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-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-font-weight: initial;--tw-tracking: 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-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-duration: initial;--tw-ease: initial;--tw-content: ""}}}
