:root,
[data-bs-theme="light"] {
    --robotics-navy: #001c32;
    --robotics-yellow: #f9c200;
    --robotics-text: #10273a;
    --robotics-muted: #527084;
    --robotics-border: #d6e0e8;
    --robotics-canvas: #f7fafc;
    --robotics-panel: #ffffff;
    --bs-primary: #f9c200;
    --bs-primary-rgb: 249, 194, 0;
    --bs-secondary: #527084;
    --bs-secondary-rgb: 82, 112, 132;
    --bs-body-bg: #f7fafc;
    --bs-body-color: #10273a;
    --bs-emphasis-color: #001c32;
    --bs-secondary-color: #527084;
    --bs-tertiary-bg: #eef3f7;
    --bs-border-color: #d6e0e8;
    --bs-link-color: #164a70;
    --bs-link-hover-color: #001c32;
    --bs-focus-ring-color: rgba(249, 194, 0, .35);
}

html, body {
    min-height: 100%;
    background: var(--robotics-canvas);
    color: var(--robotics-text);
    font-size: 17px;
}

body { font-family: Roboto, system-ui, -apple-system, "Segoe UI", sans-serif; }
.mud-typography-body1, .mud-input, .mud-table-cell { font-size: 1rem; }
.mud-typography-body2, .mud-input-helper-text { font-size: .925rem; }
.mud-button-label, .mud-input-label { font-size: .95rem; }
.mud-table-head .mud-table-cell { font-size: .9rem; font-weight: 700; }
a { color: #164a70; }
a:hover { color: var(--robotics-navy); }

.robotics-shell, .mud-layout, .mud-main-content { background: var(--robotics-canvas); }
.robotics-navbar.mud-appbar {
    background: var(--robotics-navy) !important;
    border-bottom: 3px solid var(--robotics-yellow);
    color: #fff !important;
}
.robotics-navbar .mud-button-root, .robotics-navbar .mud-icon-button { color: #fff !important; }
.robotics-navbar .mud-button-root:hover, .robotics-navbar .mud-icon-button:hover {
    background: rgba(249, 194, 0, .14) !important;
    color: var(--robotics-yellow) !important;
}

.mud-paper, .mud-card, .card, .modal-content, .dropdown-menu, .mud-popover, .mud-dialog {
    background-color: var(--robotics-panel) !important;
    color: var(--robotics-text) !important;
    border-color: var(--robotics-border) !important;
}
.mud-paper-outlined, .card { border: 1px solid var(--robotics-border) !important; }
.hero-panel { border-top: 1px solid var(--robotics-border) !important; }
.feature-card { transition: border-color .15s ease, transform .15s ease; }
.feature-card:hover { border-color: #9eb2c1 !important; box-shadow: 0 .35rem 1rem rgba(0, 28, 50, .08); transform: translateY(-2px); }

.btn-primary, .mud-button-filled.mud-button-filled-primary {
    --bs-btn-color: #001c32;
    --bs-btn-bg: #f9c200;
    --bs-btn-border-color: #f9c200;
    --bs-btn-hover-color: #001c32;
    --bs-btn-hover-bg: #ffd33d;
    --bs-btn-hover-border-color: #ffd33d;
    background: var(--robotics-yellow) !important;
    border-color: var(--robotics-yellow) !important;
    color: var(--robotics-navy) !important;
    font-weight: 700;
}
.btn-outline-primary, .mud-button-outlined.mud-button-outlined-primary {
    border-color: var(--robotics-navy) !important;
    color: var(--robotics-navy) !important;
}
.btn-outline-primary:hover, .mud-button-outlined.mud-button-outlined-primary:hover {
    background: #fff7d6 !important;
    color: var(--robotics-navy) !important;
}
.mud-button-text-primary, .mud-icon-root.mud-primary-text { color: var(--robotics-navy) !important; }

.form-control, .form-select, .mud-input-control .mud-input-root, .mud-picker-input-button {
    color: var(--robotics-text) !important;
}
.form-control, .form-select {
    background-color: #fff;
    border-color: #9eb2c1;
}
.form-control:focus, .form-select:focus {
    background-color: #fff;
    border-color: var(--robotics-navy);
    box-shadow: 0 0 0 .2rem rgba(0, 28, 50, .12);
    color: var(--robotics-text);
}
.mud-input-outlined-border { border-color: #9eb2c1 !important; }
.mud-input-control:focus-within .mud-input-outlined-border { border-color: var(--robotics-navy) !important; border-width: 2px !important; }
.mud-input-label, .mud-input-helper-text, .mud-typography-color-secondary { color: var(--robotics-muted) !important; }
.mud-checkbox .mud-icon-root, .mud-radio .mud-icon-root { color: var(--robotics-navy) !important; }

.table, .mud-table { --bs-table-bg: #fff; --bs-table-color: #10273a; --bs-table-border-color: #d6e0e8; color: var(--robotics-text) !important; }
.mud-table-head, .table thead { background: #eef3f7; color: var(--robotics-navy); }
.mud-table-row:hover, .table-hover > tbody > tr:hover > * { background-color: #fff9e6 !important; color: var(--robotics-text); }
.mud-table-cell { border-color: var(--robotics-border) !important; }

.alert-info, .mud-alert-filled-info, .mud-alert-outlined-info { border-color: #4f829f !important; }
.alert-warning {
    --bs-alert-color: #624500;
    --bs-alert-bg: #fff8dc;
    --bs-alert-border-color: var(--robotics-yellow);
    color: #624500 !important;
    background-color: #fff8dc !important;
    border-color: var(--robotics-yellow) !important;
}
.alert-warning strong { color: #3e2b00; }
.alert-warning a { color: #594000 !important; }
.mud-alert-filled-warning,
.mud-alert-filled-warning .mud-alert-message,
.mud-alert-filled-warning .mud-alert-icon,
.mud-alert-filled-warning .mud-alert-close-button {
    color: var(--robotics-navy) !important;
}
.mud-alert-outlined-warning,
.mud-alert-outlined-warning .mud-alert-message,
.mud-alert-outlined-warning .mud-alert-icon,
.mud-alert-outlined-warning .mud-alert-close-button,
.mud-alert-text-warning,
.mud-alert-text-warning .mud-alert-message {
    color: #765300 !important;
}
.validation-message, .text-danger, .invalid-feedback { color: #b42318 !important; }
.invalid, .form-control.invalid, .mud-input-error .mud-input-outlined-border { border-color: #b42318 !important; }
.valid.modified:not([type=checkbox]) { outline-color: #287a4b; }

.mud-chip-color-primary { background: var(--robotics-yellow) !important; color: var(--robotics-navy) !important; }
.mud-divider { border-color: var(--robotics-border) !important; }
.mud-progress-linear-bar { background: var(--robotics-yellow) !important; }
.mud-dialog-title, .mud-dialog-content, .mud-dialog-actions { background: #fff; color: var(--robotics-text); }

#blazor-error-ui { background: #5c111b; color: #fff; }
#blazor-error-ui a { color: var(--robotics-yellow); }

@media (max-width: 991.98px) {
    .robotics-navbar .mud-toolbar-root { flex-wrap: wrap; height: auto; padding-block: .5rem; }
}

.home-schedule-item { display:flex; gap:1rem; padding:1rem 0; border-top:1px solid var(--robotics-border); }
.home-schedule-item:first-child { border-top:0; padding-top:0; }
.home-schedule-date { flex:0 0 3.25rem; min-height:3.25rem; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #9eb2c1; border-radius:.5rem; line-height:1; text-transform:uppercase; }
.home-schedule-date span { font-size:.78rem; color:var(--robotics-muted); }
.home-schedule-date strong { margin-top:.2rem; font-size:1.4rem; color:var(--robotics-navy); }
.home-schedule-details { min-width:0; }
.home-schedule-button { width:100%; background:transparent; color:inherit; border-right:0; border-bottom:0; border-left:0; text-align:left; cursor:pointer; font:inherit; }
.home-schedule-button:hover, .home-schedule-button:focus-visible { background:rgba(249,194,0,.06); outline:2px solid transparent; }
.home-schedule-button:focus-visible { box-shadow:0 0 0 2px var(--robotics-yellow) inset; }
.home-schedule-chevron { align-self:center; margin-left:auto; }
.home-event-description { white-space:pre-wrap; }
.home-work-button .mud-button-label { justify-content:flex-start; text-align:left; }
.home-work-copy { display:flex; flex-direction:column; align-items:flex-start; gap:.15rem; white-space:normal; }
.home-work-copy small { color:var(--robotics-muted); font-weight:400; line-height:1.3; }
.home-message-item { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; border-top:1px solid var(--robotics-border); }
.home-message-item:first-child { border-top:0; padding-top:0; }
.home-message-copy { min-width:0; }
@media (max-width: 599.98px) { .home-message-item { align-items:flex-start; flex-direction:column; } }
.home-attention-item { height:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; border:1px solid var(--robotics-border); border-radius:.5rem; }
@media (max-width: 599.98px) { .home-schedule-item { gap:.75rem; } .home-schedule-card { margin-inline:-.5rem; } }
@media (max-width: 599.98px) { .home-attention-item { align-items:stretch; flex-direction:column; } }
@media (max-width: 599.98px) { .home-calendar-action { align-items:stretch !important; flex-direction:column; } }
