@charset "UTF-8";
/*!
 * Material Dark Theme for Bryntum Gantt
 * Adapted for Groundplan's Material Design 3 Dark Theme
 * Based on Bryntum Gantt 7.1.1
 */

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');

:root:not(.b-nothing), :host(:not(.b-nothing)) {
    /* === Material Design 3 Color System === */
    /* Primary - Blue from Groundplan palette */
    --b-primary: #2D72D2;
    --b-primary-container: #1a4d8f;
    --b-on-primary: #ffffff;
    --b-on-primary-container: #d8e6f5;
    
    /* Secondary - Teal/Blue accent */
    --b-secondary: #4CAF50;
    --b-secondary-container: #2e7d32;
    --b-on-secondary: #ffffff;
    
    /* Surface colors - from Groundplan palette */
    --b-surface: #1C2127;           /* bg-primary */
    --b-surface-variant: #252A31;   /* bg-secondary */
    --b-surface-elevated: #2F343C;  /* bg-tertiary */
    --b-on-surface: #F6F7F9;        /* text-primary */
    --b-on-surface-variant: #A7B6C2; /* text-secondary */
    
    /* Error colors */
    --b-error: #CD4246;
    --b-on-error: #ffffff;
    
    /* Warning/Success */
    --b-warning: #C87619;
    --b-success: #238551;
    
    /* === Material Neutral Palette === */
    --b-neutral-100: #1C2127;
    --b-neutral-99: #1e2329;
    --b-neutral-98: #21262d;
    --b-neutral-97: #232930;
    --b-neutral-96: #252A31;
    --b-neutral-95: #282d35;
    --b-neutral-94: #2a3039;
    --b-neutral-93: #2d323b;
    --b-neutral-92: #2F343C;
    --b-neutral-91: #32373f;
    --b-neutral-90: #353a43;
    --b-neutral-85: #3d4350;
    --b-neutral-80: #454c5a;
    --b-neutral-75: #4d5564;
    --b-neutral-70: #555e6e;
    --b-neutral-65: #5d6778;
    --b-neutral-60: #657082;
    --b-neutral-55: #6d798c;
    --b-neutral-50: #738091;
    --b-neutral-45: #8390a0;
    --b-neutral-40: #93a0af;
    --b-neutral-35: #a3afbe;
    --b-neutral-30: #A7B6C2;
    --b-neutral-25: #bdc8d3;
    --b-neutral-20: #cdd7e1;
    --b-neutral-15: #dde6ef;
    --b-neutral-10: #edf5fd;
    --b-neutral-5: #f6f9fc;
    --b-neutral-2: #fbfcfd;
    --b-neutral-1: #fcfdfe;
    --b-neutral-0: #ffffff;
    
    /* === Base Variables === */
    --b-mix: #1C2127;
    --b-opposite: #ffffff;
    --b-widget-color-scheme: dark;
    
    /* === Material Design Elevation === */
    --b-elevation-0: none;
    --b-elevation-1: 0px 1px 2px 0px rgba(0, 0, 0, 0.3), 
                     0px 1px 3px 1px rgba(0, 0, 0, 0.15);
    --b-elevation-2: 0px 1px 2px 0px rgba(0, 0, 0, 0.3), 
                     0px 2px 6px 2px rgba(0, 0, 0, 0.15);
    --b-elevation-3: 0px 4px 8px 3px rgba(0, 0, 0, 0.15), 
                     0px 1px 3px 0px rgba(0, 0, 0, 0.3);
    --b-elevation-4: 0px 6px 10px 4px rgba(0, 0, 0, 0.15), 
                     0px 2px 3px 0px rgba(0, 0, 0, 0.3);
    --b-elevation-5: 0px 8px 12px 6px rgba(0, 0, 0, 0.15), 
                     0px 4px 4px 0px rgba(0, 0, 0, 0.3);
    
    /* === Typography === */
    --b-font-family: 'Roboto', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --b-font-weight-light: 300;
    --b-font-weight-regular: 400;
    --b-font-weight-medium: 500;
    --b-font-weight-bold: 700;
    
    /* === Widget Styling === */
    --b-widget-border-radius: 4px;
    --b-widget-border-radius-large: 12px;
    --b-widget-border-color: rgba(255, 255, 255, 0.12);
    --b-widget-color: var(--b-on-surface);
    
    /* === Buttons === */
    --b-button-font-weight: 500;
    --b-button-border-radius: 4px;
    --b-button-padding: 10px 24px;
    --b-button-group-padded-background: var(--b-neutral-92);
    --b-button-tonal-background: rgba(45, 114, 210, 0.12);
    --b-button-type-text-hover-background: rgba(255, 255, 255, 0.08);
    --b-button-type-text-focused-background: rgba(255, 255, 255, 0.12);
    --b-button-type-text-pressed-background: rgba(255, 255, 255, 0.16);
    
    /* === Checkbox & Radio === */
    --b-checkbox-background: transparent;
    --b-checkbox-hover-background: rgba(255, 255, 255, 0.08);
    --b-checkbox-checked-background: var(--b-primary);
    --b-checkbox-checked-hover-background: var(--b-primary-container);
    --b-checkbox-checked-check-color: var(--b-on-primary);
    
    --b-radio-checked-color: var(--b-primary);
    --b-radio-checked-background: rgba(45, 114, 210, 0.12);
    --b-radio-checked-border-color: var(--b-primary);
    
    /* === Panel & Popup === */
    --b-panel-background: var(--b-surface-variant);
    --b-popup-background: var(--b-surface-elevated);
    --b-popup-padding: 16px;
    
    /* === Slide Toggle === */
    --b-slide-toggle-border-color: var(--b-neutral-60);
    --b-slide-toggle-thumb-background: var(--b-neutral-50);
    --b-slide-toggle-thumb-size: 20px;
    --b-slide-toggle-hovered-thumb-background: var(--b-neutral-45);
    --b-slide-toggle-checked-thumb-background: var(--b-primary);
    --b-slide-toggle-checked-border-color: var(--b-primary);
    --b-slide-toggle-checked-background: rgba(45, 114, 210, 0.3);
    
    /* === Splitter === */
    --b-splitter-color: var(--b-widget-border-color);
    
    /* === Toolbar === */
    --b-toolbar-background: var(--b-surface-variant);
    
    /* === Tooltip === */
    --b-tooltip-rich-padding: 8px 12px;
    --b-tooltip-rich-background: var(--b-neutral-85);
    --b-tooltip-plain-background: var(--b-neutral-85);
    
    /* === Text Field === */
    --b-text-field-focus-border-width: 2px;
    --b-text-field-focus-border-color: var(--b-primary);
    --b-text-field-outlined-input-padding: 16px;
    --b-text-field-filled-hover-border-color: var(--b-primary);
    --b-text-field-selection-background: rgba(45, 114, 210, 0.3);
    --b-field-trigger-edge-gap: 12px;
    
    /* === Grid Styling === */
    --b-grid-header-background: var(--b-surface-variant);
    --b-grid-header-color: var(--b-on-surface);
    --b-grid-cell-color: var(--b-on-surface-variant);
    --b-grid-cell-border-color: rgba(255, 255, 255, 0.08);
    --b-grid-header-font-weight: 500;
    --b-grid-footer-background: var(--b-grid-header-background);
    --b-grid-toolbar-background: var(--b-grid-header-background);
    --b-grid-panel-header-border-bottom: none;
    --b-stripe-odd-color: rgba(255, 255, 255, 0.02);
    --b-group-header-background: var(--b-surface-elevated);
    --b-grid-header-icon-color: var(--b-neutral-50);
    --b-column-lines-tick-color: rgba(255, 255, 255, 0.08);
    
    /* === Grid Hover & Selection === */
    --b-grid-cell-hover-background: rgba(45, 114, 210, 0.08);
    --b-grid-cell-selected-background: rgba(45, 114, 210, 0.12);
    --b-grid-cell-hover-selected-background: rgba(45, 114, 210, 0.16);
    
    /* === Task Board === */
    --b-task-board-card-background: var(--b-surface-elevated);
    --b-task-board-card-hover-background: var(--b-neutral-90);
    --b-task-board-card-selected-background: var(--b-neutral-88);
    
    /* === List === */
    --b-list-checkbox-checked-background: rgba(45, 114, 210, 0.12);
    --b-list-checkbox-checked-check-color: var(--b-checkbox-checked-check-color);
    --b-list-checkbox-checked-border-color: var(--b-primary);
    
    /* === Menu === */
    --b-menu-background: var(--b-surface-elevated);
    
    /* === Chip === */
    --b-chip-view-chip-background: var(--b-neutral-85);
    --b-chip-view-chip-hover-background: var(--b-neutral-80);
    
    /* === Slider === */
    --b-slider-color: var(--b-primary);
    
    /* === Tab === */
    --b-tab-indicator-color: var(--b-primary);
    
    /* === Panel Header === */
    --b-panel-header-background: var(--b-surface-elevated);
    --b-panel-header-color: var(--b-on-surface);
    
    /* === Scheduler Event (Gantt Tasks) === */
    --b-sch-event-tonal-background: rgba(45, 114, 210, 0.2);
    --b-sch-event-tonal-hover-background: rgba(45, 114, 210, 0.3);
    --b-sch-event-indented-background: rgba(45, 114, 210, 0.2);
    --b-sch-event-indented-hover-background: rgba(45, 114, 210, 0.25);
    --b-sch-event-indented-selected-background: rgba(45, 114, 210, 0.35);
    
    /* === Quick Find === */
    --b-quick-find-background: rgba(45, 114, 210, 0.15);
    
    /* === Resource Time Range === */
    --b-resource-time-range-background: rgba(45, 114, 210, 0.25);
    --b-resource-time-range-color: rgba(45, 114, 210, 0.25);
    
    /* === Day View === */
    --b-day-view-body-background: var(--b-surface-variant);
}

/* === Material Design Shape System === */
.b-widget,
.b-panel,
.b-popup {
    border-radius: var(--b-widget-border-radius) !important;
}

.b-button {
    border-radius: var(--b-button-border-radius) !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* === Material Typography === */
.b-widget {
    font-family: var(--b-font-family);
}

.b-grid-header {
    font-weight: var(--b-font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 12px;
}

/* === Material Elevation === */
.b-popup,
.b-floating {
    box-shadow: var(--b-elevation-3) !important;
}

.b-tooltip {
    box-shadow: var(--b-elevation-2) !important;
}

/* === Ripple Effect (simplified) === */
.b-button:active {
    transform: scale(0.98);
    transition: transform 0.1s ease;
}

/* === Focus Indicators === */
.b-widget:focus-visible,
.b-button:focus-visible {
    outline: 2px solid var(--b-primary);
    outline-offset: 2px;
}

/* === Theme Info === */
.b-theme-info {
    --b-theme-name: "MaterialDark";
    --b-theme-filename: "material-dark";
    --b-theme-button-rendition: "filled";
    --b-theme-label-position: "align-before";
    --b-theme-overlap-label: "false";
}
