/* assets/custom.css */ /* --- General & Typography (Item 7, 11) --- */ body { background-color: #F7F9FC; /* Neutral background */ color: #212B36; /* Dark text */ font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif; font-size: 14px; } /* Use H1 from dbc.Container/app.layout directly */ .h1, h1 { font-size: 24px; /* H2 equivalent in request */ font-weight: 600; } /* Card titles */ .card-title.h5, .h5.card-title { font-size: 18px; /* H3 equivalent */ font-weight: 600; margin-bottom: 1rem; /* Add space below title */ } /* Form labels (Item 2) */ .form-label { font-size: 14px; font-weight: 500; margin-bottom: 0.3rem; /* Space between label and input */ display: block; /* Ensure it takes full width */ } /* Form inputs (Item 2) */ .form-control, .form-select { font-size: 14px; /* width: 100%; Ensure inputs take full width - Bootstrap usually handles this in columns */ padding: 0.5rem 0.75rem; border-radius: 0.375rem; /* Softer corners */ } /* Form help text */ .form-text { font-size: 12px; color: #6c757d; /* Muted color */ } /* --- Layout & Spacing (Item 1, 7) --- */ .container-fluid { padding-top: 2rem; padding-bottom: 2rem; } /* Spacing between form rows inside cards */ .card-body .mb-3 { margin-bottom: 1rem !important; /* Default is 1rem, ensure consistency */ } /* Spacing between cards */ .card { margin-bottom: 24px; border: 1px solid #dee2e6; /* Subtle border */ border-radius: 0.5rem; /* Consistent radius */ box-shadow: 0 2px 4px rgba(0,0,0,0.05); /* Subtle shadow */ /* Padding is handled by card-body */ } /* --- Button Styling (Item 4, 5, 11) --- */ /* Primary Action Button (Generate Schedule) */ #generate-button.btn-primary { background-color: #0A74DA; /* Accent color */ border-color: #0A74DA; font-weight: 500; padding: 0.6rem 1.2rem; /* Slightly larger padding */ } #generate-button.btn-primary:hover, #generate-button.btn-primary:focus { background-color: #085ead; /* Darker accent on hover/focus */ border-color: #085ead; } #generate-button.btn-primary:disabled { background-color: #a0cff7; /* Lighter, muted accent when disabled */ border-color: #a0cff7; } /* Strategy Toggle Buttons */ .btn-group .btn { margin-right: 0.5rem; /* Space between buttons */ margin-bottom: 0.5rem; /* Space for wrapping */ border-radius: 1rem; /* Pill shape */ padding: 0.4rem 0.8rem; font-size: 13px; } /* Active strategy button */ .btn-group .btn.btn-primary:not(.disabled):not(:disabled).active, .btn-group .btn.btn-primary:not(.disabled):not(:disabled):active { background-color: #0A74DA; /* Accent color */ border-color: #0A74DA; color: white; box-shadow: none; /* Remove default active shadow if needed */ } /* Inactive strategy button (using outline secondary) */ .btn-group .btn.btn-outline-secondary { border-color: #ced4da; color: #495057; } .btn-group .btn.btn-outline-secondary:hover { background-color: #e9ecef; } /* --- Validation Feedback --- */ .invalid-feedback { font-size: 12px; margin-top: 0.25rem; } /* --- Responsive Adjustments (Item 10) --- */ /* Bootstrap handles column stacking. We might need more specific rules later */ /* e.g., adjust chart container width/scrolling on smaller screens */ /* Chart Container - Add basic styles, will be refined (Item 9) */ #graph-output-container .plotly.graph-div { /* Add styles for the chart itself if needed */ }