/* Thème visuel "façon Claude.ai" : palette chaude (crème/terracotta), typographie sobre,
   coins arrondis généreux, ombres douces — remplace les couleurs Bootstrap par défaut. */

:root {
    --cm-bg: #F5F4EE;
    --cm-surface: #FFFFFF;
    --cm-surface-muted: #EDEBE3;
    --cm-border: #E1DFD5;
    --cm-text: #3D3D3A;
    --cm-text-muted: #6B6A64;
    --cm-accent: #C15F3C;
    --cm-accent-hover: #A94F30;
    --cm-accent-soft: #F1E4DB;
    --cm-success: #4A7A5E;
    --cm-danger: #B3452F;
    --cm-warning: #C9922F;
    --cm-radius: 10px;
    --cm-shadow: 0 1px 2px rgba(61, 61, 58, 0.06), 0 2px 8px rgba(61, 61, 58, 0.06);

    --bs-body-bg: var(--cm-bg);
    --bs-body-color: var(--cm-text);
    --bs-border-radius: var(--cm-radius);
    --bs-border-color: var(--cm-border);
    --bs-primary: var(--cm-accent);
    --bs-primary-rgb: 193, 95, 60;
}

html, body {
    background-color: var(--cm-bg);
    color: var(--cm-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

a, .btn-link {
    color: var(--cm-accent);
}
a:hover, .btn-link:hover {
    color: var(--cm-accent-hover);
}

/* Sidebar */
.sidebar {
    background: linear-gradient(180deg, #3D3D3A 0%, #2E2E2B 100%);
}
.sidebar .navbar-brand {
    color: var(--cm-bg) !important;
    font-weight: 600;
}
.sidebar .nav-item .nav-link {
    color: #E8E6DE;
    border-radius: var(--cm-radius);
    margin: 2px 8px;
}
.sidebar .nav-item .nav-link:hover, .sidebar .nav-item .nav-link.active {
    background-color: rgba(193, 95, 60, 0.35);
    color: #fff;
}

.content {
    padding-top: 1.5rem;
}

/* Buttons */
.btn {
    border-radius: var(--cm-radius);
    font-weight: 500;
}
.btn-primary {
    color: #fff;
    background-color: var(--cm-accent);
    border-color: var(--cm-accent);
}
.btn-primary:hover, .btn-primary:focus {
    background-color: var(--cm-accent-hover);
    border-color: var(--cm-accent-hover);
}
.btn-danger {
    background-color: var(--cm-danger);
    border-color: var(--cm-danger);
}
.btn-outline-secondary, .btn-outline-dark {
    border-color: var(--cm-border);
    color: var(--cm-text);
}
.btn-outline-secondary:hover, .btn-outline-dark:hover {
    background-color: var(--cm-surface-muted);
    color: var(--cm-text);
}
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.2rem var(--cm-accent-soft);
}

/* Surfaces: tables, cards, forms */
.table {
    background-color: var(--cm-surface);
    border-radius: var(--cm-radius);
    overflow: hidden;
    box-shadow: var(--cm-shadow);
}
.table thead {
    background-color: var(--cm-surface-muted);
}
.table td, .table th {
    border-color: var(--cm-border);
}

.form-control, .form-select {
    border-radius: var(--cm-radius);
    border-color: var(--cm-border);
    background-color: var(--cm-surface);
}
.form-control:focus, .form-select:focus {
    border-color: var(--cm-accent);
}

.alert {
    border-radius: var(--cm-radius);
    border: 1px solid var(--cm-border);
}
.alert-warning {
    background-color: var(--cm-accent-soft);
    color: #6B3A22;
    border-color: #E0C2AE;
}
.alert-info {
    background-color: #EAF0EC;
    color: #33513F;
    border-color: #C9DBCF;
}
.alert-danger {
    background-color: #F5E4DF;
    color: #6B2C1B;
    border-color: #E3BCAD;
}

.badge.bg-success { background-color: var(--cm-success) !important; }
.badge.bg-secondary { background-color: var(--cm-text-muted) !important; }

h1, h2, h3 {
    color: var(--cm-text);
    font-weight: 600;
}
