/* AEROSIG corporate theme
   Based on the 030526_v2 website backup palette.
   Primary #004e92, secondary #1b5e20, accent #0ea5e9, body #f8fafc.
*/
:root {
    --primary-color: #004e92 !important;
    --primary-dark: #003b6d !important;
    --primary-light: #0ea5e9 !important;
    --secondary-color: #1b5e20 !important;
    --success-color: #1b5e20 !important;
    --warning-color: #d97706 !important;
    --danger-color: #b91c1c !important;
    --info-color: #0ea5e9 !important;
    --bg-dark: #f8fafc !important;
    --bg-darker: #f1f5f9 !important;
    --bg-panel: #ffffff !important;
    --bg-hover: #f1f5f9 !important;
    --bg-active: #e0f2fe !important;
    --bg-input: #ffffff !important;
    --text-primary: #1e293b !important;
    --text-secondary: #475569 !important;
    --text-muted: #64748b !important;
    --text-bright: #0f172a !important;
    --border-color: #e2e8f0 !important;
    --border-light: #cbd5e1 !important;
    --border-radius: 6px !important;
    --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
    --shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
    --font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

html,
body,
body.app-body,
body.dashboard-body {
    background: #f8fafc !important;
    color: #1e293b !important;
}

body { font-size: 13px; letter-spacing: 0; }

/* Login */
.login-page {
    background:
        linear-gradient(180deg, rgba(248,250,252,.96), rgba(248,250,252,.96)),
        linear-gradient(135deg, #004e92 0%, #1b5e20 100%) !important;
    min-height: 100vh;
}

.login-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-top: 5px solid #004e92 !important;
    border-radius: 8px !important;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12) !important;
    color: #1e293b !important;
}

.login-logo p,
.login-card .form-label { color: #64748b !important; }
.login-card .form-control { background: #ffffff !important; border-color: #cbd5e1 !important; color: #1e293b !important; }
.login-card .form-control::placeholder { color: #94a3b8 !important; }
.login-card a { color: #004e92 !important; }

/* General controls */
.btn,
.toolbar-btn,
.btn-icon-small,
.btn-icon-add,
.btn-icon-logout,
.project-action-btn,
.polygon-btn,
.modal-close {
    border-radius: 6px !important;
    box-shadow: none !important;
}

.btn-primary,
.toolbar-btn.upload-btn,
.toolbar-btn.active,
.btn-icon-small:hover,
.btn-icon-add:hover,
.polygon-btn[data-action="save"] {
    background: #004e92 !important;
    border: 1px solid #004e92 !important;
    color: #ffffff !important;
}

.btn-primary:hover:not(:disabled),
.toolbar-btn.upload-btn:hover,
.toolbar-btn.active:hover,
.polygon-btn[data-action="save"]:hover {
    background: #003b6d !important;
    border-color: #003b6d !important;
}

.btn-secondary,
.btn-ghost,
.toolbar-btn,
.btn-icon-logout,
.btn-clear,
.btn-close,
.project-action-btn,
.polygon-btn,
.btn-edit-user {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #1e293b !important;
}

.btn-secondary:hover:not(:disabled),
.btn-ghost:hover:not(:disabled),
.toolbar-btn:hover,
.btn-icon-logout:hover,
.btn-clear:hover,
.btn-close:hover,
.project-action-btn:hover,
.polygon-btn:hover,
.btn-edit-user:hover:not(:disabled) {
    background: #f1f5f9 !important;
    border-color: #94a3b8 !important;
    color: #004e92 !important;
}

.btn-danger,
.toolbar-btn.danger:hover,
.project-action-btn.delete:hover,
.polygon-btn.delete:hover,
.btn-delete-user,
.btn-delete-capture:hover {
    background: #b91c1c !important;
    border-color: #b91c1c !important;
    color: #ffffff !important;
}

.btn-success,
.status-badge.active {
    background: #1b5e20 !important;
    color: #ffffff !important;
}

.btn-report,
.btn-kml {
    background: #004e92 !important;
    color: #ffffff !important;
}

/* Dashboard */
.dashboard-nav {
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
}

.dashboard-main { background: #f8fafc !important; }
.dashboard-header h1,
.users-section .section-header h2,
.project-name,
.empty-state h3,
.modal-header h2,
.users-table td,
.upload-label,
.user-name { color: #1e293b !important; }

.dashboard-header .subtitle,
.project-meta,
.empty-state,
.upload-section h3,
.upload-hint,
.modal-body p,
.modal .form-group label,
.project-access-row label,
.project-selector-container label,
.form-hint,
.users-table .empty-cell { color: #64748b !important; }

.project-card,
.user-create-form,
.users-table-container,
.upload-box,
.project-selector-container,
.modal-content {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
}

.project-card:hover {
    border-color: #0ea5e9 !important;
    box-shadow: 0 16px 32px rgba(0, 78, 146, 0.12) !important;
    transform: translateY(-2px) !important;
}

.project-card:hover .project-thumbnail img { transform: none !important; }
.project-info { border-top: 1px solid #e2e8f0 !important; }
.project-thumbnail,
.project-thumbnail-placeholder { background: #e2e8f0 !important; color: #64748b !important; }

.project-badge.ortofoto { background: #004e92 !important; color: #ffffff !important; }
.project-badge.dem { background: #1b5e20 !important; color: #ffffff !important; }
.project-badge,
.user-badge,
.role-badge,
.status-badge { border-radius: 999px !important; }

.user-badge.admin,
.role-badge.admin { background: #004e92 !important; color: #ffffff !important; }
.user-badge.superadmin,
.role-badge.superadmin { background: #0f172a !important; color: #ffffff !important; }
.user-badge.user,
.role-badge.user { background: #e0f2fe !important; color: #075985 !important; }
.status-badge.active { background: #dcfce7 !important; color: #166534 !important; }
.status-badge.inactive { background: #fee2e2 !important; color: #991b1b !important; }

.users-section,
.modal-header,
.modal-footer,
.project-access-row { border-color: #e2e8f0 !important; }
.users-table th { background: #f1f5f9 !important; color: #475569 !important; }
.users-table td { border-top: 1px solid #e2e8f0 !important; }
.users-table tr:hover td { background: #f8fafc !important; }

/* Forms */
.form-control,
.modal .form-group input,
.modal .form-group textarea,
.modal .form-group select,
.user-create-form input,
.user-create-form select,
input,
select,
textarea {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #1e293b !important;
    border-radius: 6px !important;
}

.form-control:focus,
.modal .form-group input:focus,
.modal .form-group textarea:focus,
.modal .form-group select:focus,
.user-create-form input:focus,
.user-create-form select:focus,
input:focus,
select:focus,
textarea:focus {
    outline: none !important;
    border-color: #0ea5e9 !important;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .16) !important;
}

input::placeholder,
textarea::placeholder { color: #94a3b8 !important; }

/* App shell */
.app-layout-three-panel,
.main-panel,
.map-container {
    background: #f8fafc !important;
}

.sidebar-left,
.sidebar-right,
.toolbar-top,
.sidebar-left .sidebar-header,
.sidebar-right .sidebar-header,
.sidebar-footer,
.workspace-header,
.report-section,
.current-project-section,
.captures-section,
.polygons-section,
.results-section {
    background: #ffffff !important;
    color: #1e293b !important;
    border-color: #e2e8f0 !important;
}

.sidebar-left { border-right: 1px solid #e2e8f0 !important; }
.sidebar-right { border-left: 1px solid #e2e8f0 !important; }
.toolbar-top { border-bottom: 1px solid #e2e8f0 !important; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important; }
.sidebar-footer { border-top: 1px solid #e2e8f0 !important; }

.section-header h4,
.sidebar-right .sidebar-header h3,
.workspace-header h4,
.toolbar-hint,
.current-project-label,
.help-text,
.empty-text,
.loading-text,
.project-date,
.file-status,
.metric-label,
.polygon-area,
.capture-files,
.capture-file,
.user-info-compact,
#user-name-display {
    color: #64748b !important;
}

.project-name-display,
.capture-name,
.polygon-name,
.layer-name,
.metric-value,
.sidebar-right h3,
.sidebar-left h4,
.toolbar-left,
.upload-label {
    color: #1e293b !important;
}

.project-info-panel,
.capture-item,
.polygon-item,
.results-content,
.layer-controls,
.layer-checkbox,
.project-checkbox-item,
.profile-panel,
.compare-controls,
.capture-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    color: #1e293b !important;
}

.capture-item:hover,
.polygon-item:hover,
.layer-checkbox:hover,
.project-checkbox-item:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
}

.capture-item.active,
.polygon-item.selected,
.polygon-item.calculated {
    background: #eef6ff !important;
    border-color: #0ea5e9 !important;
    border-left-color: #004e92 !important;
}

.capture-file.uploaded,
.file-status.uploaded,
.status-ok { color: #1b5e20 !important; }

#map,
.leaflet-container {
    background: #e2e8f0 !important;
}

.leaflet-control-zoom a,
.leaflet-bar a,
.leaflet-control-layers {
    background: #ffffff !important;
    color: #1e293b !important;
    border-color: #cbd5e1 !important;
}

.leaflet-control-zoom a:hover,
.leaflet-bar a:hover {
    background: #f1f5f9 !important;
    color: #004e92 !important;
}

.modal,
.modal-overlay,
.loading-overlay {
    background: rgba(15, 23, 42, .42) !important;
}

.toast {
    background: #ffffff !important;
    color: #1e293b !important;
    border-color: #e2e8f0 !important;
    border-left-color: #004e92 !important;
}

/* Keep map labels readable over imagery */
.polygon-label-name,
.polygon-label-area,
.polygon-label-volume,
.polygon-label-height,
.polygon-label-pending {
    color: #ffffff !important;
}

@media (max-width: 768px) {
    .dashboard-nav { align-items: flex-start; gap: 12px; }
    .nav-actions { width: 100%; flex-wrap: wrap; gap: 10px; }
}
