/* Gabriella GIS Premium Glassmorphism Theme (Dark/Glass) */
:root {
    --ggis-bg-glass: rgba(18, 18, 24, 0.85);
    --ggis-bg-glass-hover: rgba(31, 41, 55, 0.95);
    --ggis-border: rgba(255, 255, 255, 0.16);
    --ggis-border-light: rgba(255, 255, 255, 0.08);
    --ggis-text: #f3f4f6; /* gray-100 */
    --ggis-text-muted: #9ca3af; /* gray-400 */
    --ggis-accent: #00bcd4; /* cyan */
    --ggis-accent-hover: #00acc1;
    --ggis-danger: #f44336;
    --ggis-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.35);
    --ggis-font: 'Outfit', 'Inter', system-ui, -apple-system, sans-serif;
}

body, #app {
    font-family: var(--ggis-font) !important;
    color: var(--ggis-text);
    background-color: #111827; /* Fallback dark bg */
}

/* Glassmorphism Panel Base */
.glass-panel-dark {
    background: var(--ggis-bg-glass);
    backdrop-filter: blur(12px) saturate(180%);
    -webkit-backdrop-filter: blur(12px) saturate(180%);
    border: 1px solid var(--ggis-border);
    box-shadow: var(--ggis-shadow);
    color: var(--ggis-text);
}

/* Sidebar Overrides */
.app-sidebar {
    background: var(--ggis-bg-glass) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-right: 1px solid var(--ggis-border) !important;
    color: var(--ggis-text) !important;
}

.sidebar-tabs {
    background: rgba(15, 15, 20, 0.9) !important;
    border-right: 1px solid var(--ggis-border-light) !important;
}

.sidebar-tab-btn {
    color: var(--ggis-text-muted) !important;
}
.sidebar-tab-btn:hover {
    color: var(--ggis-text) !important;
    background: rgba(255, 255, 255, 0.05) !important;
}
.sidebar-tab-btn.is-active {
    color: var(--ggis-accent) !important;
    background: rgba(0, 188, 212, 0.1) !important;
    border-left-color: var(--ggis-accent) !important;
}

.sidebar-content h2, .sidebar-content h3 {
    color: var(--ggis-text) !important;
    border-bottom: 1px solid var(--ggis-border-light) !important;
}

/* Toolbar Overrides */
.map-toolbar {
    background: var(--ggis-bg-glass) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid var(--ggis-border) !important;
    border-radius: 8px !important;
    box-shadow: var(--ggis-shadow) !important;
}

.toolbar-btn {
    color: var(--ggis-text) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
}

.toolbar-btn:hover {
    background: var(--ggis-bg-glass-hover) !important;
    border-color: var(--ggis-border-light) !important;
}

.toolbar-separator {
    background-color: var(--ggis-border-light) !important;
}

/* Bottom Pane Overrides */
.app-bottom-pane {
    background: var(--ggis-bg-glass) !important;
    backdrop-filter: blur(12px) !important;
    border-top: 1px solid var(--ggis-border) !important;
    color: var(--ggis-text) !important;
}

.bottom-pane-header {
    border-bottom: 1px solid var(--ggis-border-light) !important;
    background: transparent !important;
}

.bottom-pane-header h3 {
    color: var(--ggis-text) !important;
}

/* Table Overrides */
.attribute-table th {
    background: rgba(255, 255, 255, 0.05) !important;
    color: var(--ggis-text) !important;
    border: 1px solid var(--ggis-border-light) !important;
}

.attribute-table td {
    border: 1px solid var(--ggis-border-light) !important;
    color: var(--ggis-text-muted) !important;
}

.attribute-table tr.is-selected td {
    background: rgba(0, 188, 212, 0.15) !important;
    color: var(--ggis-text) !important;
}

/* Layer Items */
.layer-list-item {
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid var(--ggis-border-light) !important;
    color: var(--ggis-text) !important;
}
.layer-list-item[style*="#f4f8ff"], .layer-list-item:active, .layer-list-item[style*="rgb(244, 248, 255)"] {
    background: rgba(0, 188, 212, 0.1) !important;
    border: 1px solid var(--ggis-accent) !important;
}

/* Inputs & Buttons */
input[type="text"], input[type="number"], select {
    background: rgba(0,0,0,0.2) !important;
    border: 1px solid var(--ggis-border-light) !important;
    color: var(--ggis-text) !important;
}
input::placeholder {
    color: var(--ggis-text-muted) !important;
}
