:root {
    --aicm-blue: #37a4e4;
    --aicm-blue-deep: #065fa3;
    --aicm-black: #000000;
    --aicm-white: #ffffff;
    --aicm-bg: #f5f8fb;
    --aicm-surface: #ffffff;
    --aicm-text: #1f2933;
    --aicm-muted: #667582;
    --aicm-border: #d9e4ec;
    --aicm-shadow: 0 18px 40px rgba(6, 95, 163, 0.12);
    --aicm-radius: 18px;
    --aicm-radius-lg: 28px;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Source Sans Pro", "Source Sans 3", sans-serif;
    font-weight: 400;
    color: var(--aicm-text);
    background: var(--aicm-bg);
}

a {
    color: var(--aicm-blue-deep);
}

a:hover {
    color: var(--aicm-blue);
}

.btn-primary {
    background: var(--aicm-blue-deep);
    border-color: var(--aicm-blue-deep);
}

.btn-primary:hover,
.btn-primary:focus {
    background: var(--aicm-blue);
    border-color: var(--aicm-blue);
}

.btn-outline-secondary {
    border-color: var(--aicm-border);
    color: var(--aicm-text);
}

.btn-outline-secondary:hover {
    background: var(--aicm-blue-deep);
    border-color: var(--aicm-blue-deep);
    color: var(--aicm-white);
}

.btn-outline-info {
    border-color: var(--aicm-blue);
    color: var(--aicm-blue-deep);
}

.btn-outline-info:hover {
    background: var(--aicm-blue-deep);
    border-color: var(--aicm-blue-deep);
    color: var(--aicm-white);
}

.btn-aicm-primary {
    background: var(--aicm-blue-deep);
    border-color: var(--aicm-blue-deep);
    color: var(--aicm-white);
}

.btn-aicm-primary:hover,
.btn-aicm-primary:focus {
    background: var(--aicm-blue);
    border-color: var(--aicm-blue);
    color: var(--aicm-white);
}

.btn-aicm-danger {
    background: #c0392b;
    border-color: #c0392b;
    color: var(--aicm-white);
}

.btn-aicm-danger:hover,
.btn-aicm-danger:focus {
    background: #a93226;
    border-color: #a93226;
    color: var(--aicm-white);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--aicm-blue);
    box-shadow: 0 0 0 0.2rem rgba(55, 164, 228, 0.18);
}

.text-accent {
    color: var(--aicm-blue);
}

.text-accent-deep {
    color: var(--aicm-blue-deep);
}

.text-info {
    color: var(--aicm-blue) !important;
}

.surface-card {
    background: var(--aicm-surface);
    border: 1px solid rgba(6, 95, 163, 0.08);
    border-radius: var(--aicm-radius-lg);
    box-shadow: var(--aicm-shadow);
}

.swal2-container {
    font-family: "Source Sans Pro", "Source Sans 3", sans-serif;
    z-index: 20000 !important;
}

.swal2-popup.aicm-swal {
    border-radius: 22px;
    border: 1px solid rgba(44, 71, 114, 0.12);
    box-shadow: 0 24px 60px rgba(17, 28, 40, 0.22);
    padding: 1.4rem 1.25rem 1.2rem;
}

.swal2-popup.aicm-swal.aicm-toast {
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(17, 28, 40, 0.18);
    padding: 0.95rem 1rem;
}

.swal2-popup.aicm-swal.aicm-toast .swal2-title {
    font-size: 1rem;
}

.swal2-popup.aicm-swal.aicm-toast .swal2-html-container {
    font-size: 0.92rem;
}

.swal2-popup.aicm-swal .swal2-title {
    color: var(--aicm-black);
    font-size: 1.35rem;
    font-weight: 700;
}

.swal2-popup.aicm-swal .swal2-html-container {
    color: var(--aicm-muted);
    font-size: 1rem;
    line-height: 1.45;
}

.swal2-popup.aicm-swal .swal2-icon {
    border-color: rgba(44, 71, 114, 0.18);
}

.swal2-popup.aicm-swal .swal2-confirm,
.swal2-popup.aicm-swal .btn-aicm-primary {
    background: var(--aicm-blue-deep);
    color: var(--aicm-white);
    border-radius: 999px;
    padding: 0.7rem 1.15rem;
    font-weight: 700;
    box-shadow: none;
}

.swal2-popup.aicm-swal .swal2-cancel {
    background: #eef3f7;
    color: var(--aicm-text);
    border-radius: 999px;
    padding: 0.7rem 1.15rem;
    font-weight: 700;
}

.swal2-popup.aicm-swal .btn-aicm-danger,
.swal2-popup.aicm-swal .swal2-confirm.btn-aicm-danger {
    background: #c0392b;
    color: var(--aicm-white);
}

.swal2-popup.aicm-swal .btn-aicm-danger:hover,
.swal2-popup.aicm-swal .swal2-confirm.btn-aicm-danger:hover {
    background: #a93226;
    color: var(--aicm-white);
}

.swal2-popup.aicm-swal .swal2-actions {
    gap: 0.65rem;
    margin-top: 1rem;
}
