/* Habillage « Apple » global de Dossilia (toutes les pages du portail). */
body { background: #f5f5f7; color: #1d1d1f; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Inter, "Segoe UI", Roboto, sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { letter-spacing: -.02em; color: #1d1d1f; }
h1 { font-weight: 700; } h2 { font-weight: 650; } h3, h4, h5 { font-weight: 600; }
.navbar-portal { background: rgba(255,255,255,.78) !important; -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); border-bottom: 1px solid rgba(0,0,0,.08) !important; position: sticky; top: 0; z-index: 1030; }
.navbar-portal .navbar-brand { font-weight: 700; letter-spacing: -.02em; }
.navbar-portal .nav-link { font-weight: 500; font-size: .95rem; color: #1d1d1f; opacity: .8; border-radius: 980px; }
.navbar-portal .nav-link:hover, .navbar-portal .nav-link:focus { background: rgba(0,0,0,.05); opacity: 1; }
.navbar-portal .nav-link.active { opacity: 1; background: rgba(0,0,0,.06); color: #1d1d1f; font-weight: 600; }
.navbar-portal .dropdown-menu { border: 0; border-radius: 16px; padding: .4rem; box-shadow: 0 10px 40px rgba(0,0,0,.14); margin-top: .35rem; }
.navbar-portal .dropdown-item { border-radius: 10px; padding: .5rem .8rem; font-weight: 500; }
.navbar-portal .dropdown-item.active, .navbar-portal .dropdown-item:active { background: rgba(0,0,0,.07); color: #1d1d1f; }
.card { border: 0 !important; border-radius: 20px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 6px 24px rgba(0,0,0,.05) !important; }
.card-header, .card-footer { background: transparent; border-color: rgba(0,0,0,.06); }
.btn { border-radius: 980px; padding: .45rem 1.1rem; font-weight: 500; transition: transform .12s ease, background-color .12s ease; }
.btn:active { transform: scale(.98); }
.btn-sm { padding: .28rem .8rem; } .btn-lg { padding: .7rem 1.7rem; }
.form-control, .form-select { border-radius: 12px; border-color: rgba(0,0,0,.12); background-color: #fbfbfd; padding-top: .55rem; padding-bottom: .55rem; }
.form-control:focus, .form-select:focus { background: #fff; box-shadow: 0 0 0 4px rgba(0,113,227,.18); }
.table { --bs-table-bg: transparent; }
.table > :not(caption) > * > * { border-color: rgba(0,0,0,.06); padding-top: .7rem; padding-bottom: .7rem; }
.table thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: #6e6e73; font-weight: 600; }
.alert { border: 0; border-radius: 16px; }
.badge, .pill { border-radius: 980px; }
.modal-content { border: 0; border-radius: 22px; box-shadow: 0 20px 60px rgba(0,0,0,.2); }
.nav-tabs { border-bottom-color: rgba(0,0,0,.08); }
.nav-pills .nav-link { border-radius: 980px; }
.text-body-secondary { color: #6e6e73 !important; }
a { text-underline-offset: 3px; }

/* Icônes */
.ic { width: 1.15em; height: 1.15em; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.2em; flex: none; }
.navbar-portal .nav-link .ic, .navbar-portal .dropdown-item .ic { margin-right: .45rem; opacity: .85; }
.navbar-portal .dropdown-item { display: flex; align-items: center; }
main h1 .ic, main h2 .ic { margin-right: .4em; color: var(--acc, #0071e3); width: .95em; height: .95em; vertical-align: -.1em; }
main h2 .ic { width: .9em; height: .9em; }
.btn .ic { margin-right: .4em; width: 1.05em; height: 1.05em; vertical-align: -.2em; }
summary.btn .ic { margin-right: .4em; }
@media (max-width: 991px) { .navbar-portal .nav-link .ic { width: 1.25em; height: 1.25em; } }

.p-chart{max-width:560px;max-height:220px;display:block}
