/* Crossroads brand tokens shared by Bootstrap and isolated app components. */
:root, [data-bs-theme="dark"] {
    --co-canvas: #020b18;
    --co-panel: #071b34;
    --co-panel-raised: #102b4b;
    --co-border: #304b70;
    --co-text: #f7fbff;
    --co-muted: #a9bad1;
    --co-accent: #075fe5;
    --bs-body-bg: var(--co-canvas);
    --bs-body-color: var(--co-text);
    --bs-body-color-rgb: 247, 251, 255;
    --bs-secondary-color: var(--co-muted);
    --bs-secondary-bg: var(--co-panel-raised);
    --bs-tertiary-bg: var(--co-panel);
    --bs-border-color: var(--co-border);
    --bs-link-color: #94c4ff;
    --bs-link-color-rgb: 148, 196, 255;
    --bs-link-hover-color: #c5e0ff;
    --bs-emphasis-color: var(--co-text);
    --bs-emphasis-color-rgb: 247, 251, 255;
}
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
a, .btn-link { color: var(--bs-link-color); }
a:hover { color: var(--bs-link-hover-color); }
h1, h2, h3 { letter-spacing: -.025em; }
.card, .modal-content, .dropdown-menu, .list-group-item {
    --bs-card-bg: var(--co-panel);
    --bs-card-border-color: var(--co-border);
    --bs-modal-bg: var(--co-panel);
    --bs-dropdown-bg: var(--co-panel);
    --bs-list-group-bg: var(--co-panel);
    --bs-list-group-color: var(--co-text);
}
.card { box-shadow: 0 12px 32px #0003, inset 0 1px #bfe0ff0d; }
.btn-primary, .btn-dark {
    --bs-btn-bg: #075fe5;
    --bs-btn-border-color: #3989f5;
    --bs-btn-hover-bg: #2275ef;
    --bs-btn-hover-border-color: #5ba7ff;
    --bs-btn-active-bg: #064ebc;
    --bs-btn-active-border-color: #5ba7ff;
    --bs-btn-disabled-bg: #234c83;
    --bs-btn-disabled-border-color: #234c83;
    color: #fff;
    background-color: var(--bs-btn-bg);
    border-color: var(--bs-btn-border-color);
}
.btn-outline-dark, .btn-outline-primary {
    --bs-btn-color: #94c4ff;
    --bs-btn-border-color: #507eaf;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #075fe5;
    --bs-btn-hover-border-color: #5ba7ff;
    --bs-btn-active-bg: #075fe5;
    --bs-btn-active-color: #fff;
}
.form-control, .form-select, .input-group-text { background-color: #06152a; color: var(--co-text); border-color: var(--co-border); }
.form-control:focus, .form-select:focus { background-color: #091e38; color: var(--co-text); border-color: #5ba7ff; }
.form-control::placeholder { color: #8ca4c1; }
.btn:focus-visible, .form-control:focus, .form-select:focus, .form-check-input:focus { box-shadow: 0 0 0 .2rem #5ba7ff40; }
.table { --bs-table-bg: var(--co-panel); --bs-table-color: var(--co-text); --bs-table-border-color: var(--co-border); --bs-table-striped-bg: #102b4b; --bs-table-striped-color: var(--co-text); --bs-table-hover-bg: #173758; --bs-table-hover-color: var(--co-text); }
.table-light { --bs-table-bg: var(--co-panel-raised); --bs-table-color: var(--co-text); --bs-table-border-color: var(--co-border); }
.bg-light, .bg-white { background-color: var(--co-panel) !important; }
.text-dark { color: var(--co-text) !important; }
.text-primary { color: #94c4ff !important; }
.validation-message { color: #ff9fa9; }
.hero-tagline { background-image: linear-gradient(90deg, #5ba7ff, #c5e0ff); }
.carrier-link.active::after, .carrier-menu-trigger.active::after { background: #5ba7ff; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid #94c4ff; outline-offset: 3px; }
.branding-section .suggested-colors { background: var(--co-panel); border-color: var(--co-border); }
.carrier-legal-footer { border-color: var(--co-border); color: var(--co-muted); }
.carrier-legal-footer a { color: var(--co-muted); }
.carrier-legal-footer a:hover { color: #94c4ff; }
.carrier-powered-by { display: inline-flex; align-items: center; gap: .65rem; margin-bottom: 1rem; text-decoration: none; font-weight: 600; }
.carrier-powered-by img { object-fit: contain; filter: drop-shadow(0 0 8px #0877ff40); }
@media print {
    :root, [data-bs-theme="dark"] { color-scheme: light; --co-canvas: #fff; --co-panel: #fff; --co-panel-raised: #f2f4f8; --co-text: #111827; --co-muted: #4b5563; --co-border: #ccd3dd; --bs-body-bg: #fff; --bs-body-color: #111827; --bs-body-color-rgb: 17, 24, 39; }
    .card { box-shadow: none; }
}

.carrier-legal-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem 2rem; }
.carrier-legal-footer .carrier-powered-by { margin-bottom: 0; padding: .25rem; border-radius: .375rem; }

@media screen {
    .text-success { color: #87d2ad !important; }
    .text-danger { color: #ff9fa9 !important; }
    .text-warning { color: #ffda83 !important; }
    .text-info { color: #8eddf2 !important; }
    .btn-outline-success { --bs-btn-color: #87d2ad; --bs-btn-border-color: #67aa88; }
    .btn-outline-danger { --bs-btn-color: #ff9fa9; --bs-btn-border-color: #ce7781; }
    .btn-outline-warning { --bs-btn-color: #ffda83; --bs-btn-border-color: #c8a355; }
}
