/* CARDLY design tokens and cross-product interface refinements. */
:root {
    --cardly-navy: #0b1f3a;
    --cardly-teal: #14b8a6;
    --cardly-teal-dark: #0f9488;
    --cardly-ink: #172033;
    --cardly-muted: #64748b;
    --cardly-canvas: #f6f8fb;
    --cardly-surface: #ffffff;
    --cardly-border: #dbe4ee;
    --cardly-success: #15803d;
    --cardly-warning: #b45309;
    --cardly-danger: #b91c1c;
    --cardly-radius: 12px;
    --cardly-focus: 0 0 0 3px rgba(20, 184, 166, .24);
}

body { color: var(--cardly-ink); background: var(--cardly-canvas); }
a { color: var(--cardly-teal-dark); }
a:hover { color: var(--cardly-navy); }

.btn-primary, .login-btn {
    background: var(--cardly-navy) !important;
    border-color: var(--cardly-navy) !important;
    border-radius: 10px;
    font-weight: 600;
}
.btn-primary:hover, .btn-primary:focus, .login-btn:hover, .login-btn:focus {
    background: #12315a !important;
    border-color: #12315a !important;
}
.btn-outline-primary { color: var(--cardly-navy) !important; border-color: var(--cardly-navy) !important; border-radius: 10px; }
.btn-outline-primary:hover { background: var(--cardly-navy) !important; }

.form-control, .form-select, .select2-selection, .form-check-input {
    border-color: var(--cardly-border) !important;
    border-radius: 10px !important;
}
.form-control:focus, .form-select:focus, .form-check-input:focus, button:focus-visible, a:focus-visible {
    border-color: var(--cardly-teal) !important;
    box-shadow: var(--cardly-focus) !important;
    outline: 0;
}
.form-check-input:checked { background-color: var(--cardly-teal) !important; border-color: var(--cardly-teal) !important; }

.card, .setting-tab, .dataTables_wrapper .dataTables_filter input {
    border-color: var(--cardly-border) !important;
    border-radius: var(--cardly-radius) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
}
.table > :not(caption) > * > * { border-color: var(--cardly-border); }
.table thead th { color: var(--cardly-muted); font-size: .75rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.badge-primary, .bg-primary { background-color: var(--cardly-navy) !important; }
.text-primary { color: var(--cardly-navy) !important; }

.aside-menu-container__aside-menu .nav-item.active > .nav-link,
.aside-menu-container__aside-menu .nav-item .nav-link:hover { background-color: var(--cardly-navy) !important; }
.page-item.active .page-link { background-color: var(--cardly-navy) !important; border-color: var(--cardly-navy) !important; }
.page-link { color: var(--cardly-navy); }
.alert-success { border-color: #bbf7d0; color: #166534; background: #f0fdf4; }
.alert-danger { border-color: #fecaca; color: var(--cardly-danger); background: #fef2f2; }

@media (max-width: 767px) {
    .card { border-radius: 10px !important; }
    .btn { min-height: 42px; }
    .table-responsive { border: 1px solid var(--cardly-border); border-radius: 10px; }
}
