.card, .bg-white.border.rounded, .stats-kpi {
    background: var(--cde-surface) !important;
    border: 1px solid var(--cde-border) !important;
    border-radius: var(--cde-radius) !important;
    box-shadow: var(--cde-shadow-sm);
}
.card { overflow: hidden; }
.card-body { padding: 1.25rem; }

.btn { border-radius: var(--cde-radius-sm); font-size:.86rem; font-weight:700; padding:.58rem .9rem; transition:all var(--cde-transition); }
.btn:hover { transform: translateY(-1px); }
.btn-success, .btn-primary { background:var(--cde-primary) !important; border-color:var(--cde-primary) !important; color:#fff !important; }
.btn-success:hover, .btn-primary:hover { background:var(--cde-primary-hover) !important; border-color:var(--cde-primary-hover) !important; }
.btn-outline-success, .btn-outline-primary { border-color:var(--cde-primary) !important; color:var(--cde-primary) !important; }
.btn-outline-success:hover, .btn-outline-primary:hover { background:var(--cde-primary) !important; color:#fff !important; }
.btn-warning { background:var(--cde-warning); border-color:var(--cde-warning); color:var(--cde-navy); }
.btn-danger { background:var(--cde-danger); border-color:var(--cde-danger); }

.form-label { color:var(--cde-navy); font-size:.8rem; font-weight:700; margin-bottom:.4rem; }
.form-control, .form-select {
    border-color: #d7dee8;
    border-radius: var(--cde-radius-sm);
    color: var(--cde-navy);
    min-height: 42px;
    transition: border var(--cde-transition), box-shadow var(--cde-transition);
}
.form-control:focus, .form-select:focus { border-color:var(--cde-primary); box-shadow:0 0 0 3px rgba(20,100,214,.12); }
.form-control.is-invalid,.form-select.is-invalid { background-color:#fff5f5!important; border-color:#dc3545!important; color:#842029; }
.form-control.is-invalid:focus,.form-select.is-invalid:focus { border-color:#dc3545!important; box-shadow:0 0 0 3px rgba(220,53,69,.16)!important; }
.form-control::placeholder { color:var(--cde-subtle); }
.form-check-input:checked { background-color:var(--cde-primary) !important; border-color:var(--cde-primary) !important; }

.table { --bs-table-bg: transparent; --bs-table-color: var(--cde-text); font-size:.86rem; }
.table > thead > tr > th { background:#f8fafc; border-bottom:1px solid var(--cde-border); color:var(--cde-muted); font-size:.7rem; font-weight:800; letter-spacing:.045em; padding:.8rem .75rem; text-transform:uppercase; white-space:nowrap; }
.table > tbody > tr > td { border-color:#edf1f5; padding:.85rem .75rem; vertical-align:middle; }
.table > tbody > tr { transition:background var(--cde-transition); }
.table > tbody > tr:hover { background:#f8fbff; }
.table-responsive { border-radius:var(--cde-radius-sm); }

.badge { border-radius:999px; font-size:.68rem; font-weight:700; padding:.38em .68em; }
.bg-success, .badge.bg-success { background-color:var(--cde-success) !important; }
.text-success { color:#15803d !important; }
.border-success { border-color:#bbf7d0 !important; }
.bg-primary, .badge.bg-primary { background-color:var(--cde-primary) !important; }
.bg-warning { background-color:var(--cde-warning) !important; }
.text-muted { color:var(--cde-muted) !important; }

.alert { border:1px solid transparent; border-radius:var(--cde-radius); font-size:.87rem; }
.alert-warning { background:#fffbeb; border-color:#fde68a; color:#854d0e; }
.alert-danger { background:#fef2f2; border-color:#fecaca; color:#991b1b; }
.alert-success { background:#f0fdf4; border-color:#bbf7d0; color:#166534; }
.alert-secondary { background:#f8fafc; border-color:var(--cde-border); color:var(--cde-muted); }

.dropdown-menu { border:1px solid var(--cde-border); border-radius:var(--cde-radius); box-shadow:var(--cde-shadow-lg); padding:.45rem; }
.dropdown-item { border-radius:7px; font-size:.84rem; padding:.55rem .7rem; }
.dropdown-item:active, .dropdown-item:hover { background:var(--cde-primary-soft); color:var(--cde-primary-hover); }
.nav-pills { gap:.35rem; }
.nav-pills .nav-link { border-radius:var(--cde-radius-sm); color:var(--cde-muted); font-size:.8rem; font-weight:700; }
.nav-pills .nav-link.active { background:var(--cde-primary) !important; box-shadow:0 5px 14px rgba(20,100,214,.18); }

.stats-kpi-grid { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); }
.stats-kpi { padding:1.15rem; position:relative; }
.stats-kpi::before { background:linear-gradient(90deg,var(--cde-primary),var(--cde-accent)); border-radius:12px 12px 0 0; content:""; height:3px; left:-1px; position:absolute; right:-1px; top:-1px; }
.stats-kpi span { color:var(--cde-muted); display:block; font-size:.76rem; font-weight:600; margin-bottom:.4rem; }
.stats-kpi strong { color:var(--cde-navy); display:block; font-size:1.45rem; letter-spacing:-.04em; line-height:1.2; }
.stats-filter .form-label { color:var(--cde-muted); font-size:.75rem; }
.affaire-map, .stats-geographie-map { border:1px solid var(--cde-border); border-radius:var(--cde-radius); min-height:360px; overflow:hidden; }
.stats-geographie-map { min-height:560px; }

.dashboard-hero { align-items:center; background:linear-gradient(125deg,#fff 55%,var(--cde-primary-soft)) !important; display:flex; justify-content:space-between; overflow:hidden; position:relative; }
.dashboard-eyebrow { color:var(--cde-primary); font-size:.7rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.dashboard-title { font-size:clamp(1.45rem,2.5vw,2rem); margin:.25rem 0 .4rem; }
.kpi-card { border-top:3px solid var(--cde-primary) !important; }
.kpi-card.accent { border-top-color:var(--cde-accent) !important; }
.kpi-card.warning { border-top-color:var(--cde-warning) !important; }
.kpi-label { color:var(--cde-muted); font-size:.75rem; font-weight:700; margin-bottom:.55rem; }
.kpi-value { color:var(--cde-navy); font-size:clamp(1.45rem,2.6vw,2rem); font-weight:800; letter-spacing:-.045em; line-height:1.1; }
.kpi-help { color:var(--cde-muted); display:block; font-size:.71rem; margin-top:.5rem; }

.auth-card { margin:auto; max-width:460px; overflow:hidden; }
.auth-brand { align-items:center; display:flex; flex-direction:column; margin-bottom:1.6rem; text-align:center; }
.auth-brand-wordmark { display:block; height:auto; margin-bottom:.7rem; width:230px; }
.auth-brand-name { color:var(--cde-navy); font-size:1.45rem; font-weight:800; letter-spacing:.06em; }
.auth-brand-tagline { color:var(--cde-muted); font-size:.72rem; }

.page-header { align-items:flex-start; display:flex; gap:1rem; justify-content:space-between; margin-bottom:1.5rem; }
.page-header-main { min-width:0; }
.page-eyebrow { color:var(--cde-primary); font-size:.68rem; font-weight:800; letter-spacing:.1em; margin-bottom:.25rem; text-transform:uppercase; }
.page-title { color:var(--cde-navy); font-size:clamp(1.35rem,2.2vw,1.8rem); margin:0; }
.page-description { color:var(--cde-muted); font-size:.84rem; margin:.4rem 0 0; max-width:720px; }
.page-actions { align-items:center; display:flex; flex-wrap:wrap; gap:.5rem; justify-content:flex-end; }

.filter-panel { box-shadow:none !important; }
.filter-panel::before { color:var(--cde-muted); content:"Filtres"; display:block; font-size:.68rem; font-weight:800; letter-spacing:.08em; margin-bottom:.8rem; text-transform:uppercase; }

.entity-list { display:grid; gap:.75rem; list-style:none; padding:0; }
.entity-list .list-group-item {
    background:var(--cde-surface);
    border:1px solid var(--cde-border) !important;
    border-radius:var(--cde-radius) !important;
    box-shadow:var(--cde-shadow-sm);
    padding:1.15rem;
    transition:border var(--cde-transition), box-shadow var(--cde-transition), transform var(--cde-transition);
}
.entity-list .list-group-item:hover { border-color:#c7d8ee !important; box-shadow:var(--cde-shadow); transform:translateY(-1px); }
.entity-list .list-group-item-danger { background:#fffafa; border-left:3px solid var(--cde-danger) !important; }
.entity-title { color:var(--cde-navy); font-size:.98rem; font-weight:800; }
.entity-number { background:var(--cde-primary-soft) !important; color:var(--cde-primary) !important; }
.entity-value { color:var(--cde-navy); font-size:1.05rem; font-weight:800; }
.entity-actions { align-items:center; display:flex; flex-wrap:wrap; gap:.4rem; justify-content:flex-end; margin-top:.75rem; }

.empty-state { background:var(--cde-surface); border:1px dashed #cbd5e1; border-radius:var(--cde-radius); color:var(--cde-muted); padding:2.5rem 1.5rem; text-align:center; }
.empty-state::before { content:"○"; display:block; color:var(--cde-subtle); font-size:2rem; line-height:1; margin-bottom:.7rem; }

.section-card-title { color:var(--cde-navy); font-size:.94rem; margin-bottom:1rem; }
.progress { background:#edf1f5; border-radius:999px; overflow:hidden; }
.progress-bar { background:linear-gradient(90deg,var(--cde-primary),var(--cde-accent)) !important; }
.modal-content { border:0; border-radius:var(--cde-radius-lg); box-shadow:var(--cde-shadow-lg); }
.modal-header, .modal-footer { border-color:var(--cde-border); }
.list-group-item { border-color:var(--cde-border); }

.profile-avatar { align-items:center; background:var(--cde-primary-soft); border:1px solid #cfe0f8; border-radius:50%; color:var(--cde-primary); display:inline-flex; flex:0 0 auto; font-weight:800; height:48px; justify-content:center; object-fit:cover; width:48px; }
.chart-panel { min-height:100%; }
.chart-panel canvas { max-height:360px; }

.form-shell { background:var(--cde-surface); border:1px solid var(--cde-border); border-radius:var(--cde-radius-lg); box-shadow:var(--cde-shadow-sm); padding:clamp(1rem,2.5vw,1.75rem); }
.form-shell > h3, .form-section-title { border-top:1px solid var(--cde-border); color:var(--cde-navy); font-size:.9rem !important; margin:1.5rem 0 1rem !important; padding-top:1.25rem; }
.form-shell > h3:first-child { border-top:0; margin-top:0 !important; padding-top:0; }
.form-actions { align-items:center; border-top:1px solid var(--cde-border); display:flex; flex-wrap:wrap; gap:.5rem; justify-content:flex-end; margin-top:1.5rem; padding-top:1rem; }
.detail-grid > [class*="col-"] { color:var(--cde-text); font-size:.86rem; }
.detail-grid > [class*="col-"] > strong:first-child { color:var(--cde-muted); display:block; font-size:.68rem; letter-spacing:.04em; margin-bottom:.3rem; text-transform:uppercase; }
.invoice-party { line-height:1.65; }
.invoice-logo { display:block; margin-bottom:1rem; max-height:100px; max-width:180px; object-fit:contain; }
.invoice-totals { background:#f8fafc; border-radius:var(--cde-radius-sm); margin-left:auto; max-width:380px; padding:1rem; }
.invoice-total-main { border-top:1px solid var(--cde-border); color:var(--cde-navy); font-size:1.08rem; margin-top:.7rem; padding-top:.7rem; }
.read-only-panel { background:#f8fafc !important; }
.profile-avatar-lg { height:88px; width:88px; }
.profile-avatar-md { height:72px; width:72px; }
.company-logo-preview { max-height:90px; max-width:160px; object-fit:contain; }
.audit-user-agent { max-width:360px; overflow-wrap:anywhere; }
.error-state { background:var(--cde-surface); border:1px solid var(--cde-border); border-radius:var(--cde-radius-lg); box-shadow:var(--cde-shadow); margin:8vh auto; max-width:620px; padding:clamp(2rem,6vw,4rem); text-align:center; }
.error-code { background:linear-gradient(135deg,var(--cde-primary),var(--cde-accent)); background-clip:text; color:transparent; font-size:clamp(3.5rem,10vw,6rem); font-weight:800; letter-spacing:-.08em; line-height:1; margin-bottom:1rem; }

/* Premium cockpit */
.premium-hero { background:linear-gradient(118deg,#101827 0%,#17243a 58%,#123d67 100%); border-radius:20px; box-shadow:0 22px 50px rgba(18,35,60,.18); color:#fff; min-height:260px; overflow:hidden; padding:clamp(1.5rem,4vw,3rem); position:relative; }
.premium-hero::after { background:radial-gradient(circle,rgba(0,184,169,.22),transparent 66%); content:""; height:420px; position:absolute; right:-100px; top:-180px; width:420px; }
.premium-hero-content { max-width:720px; position:relative; z-index:1; }
.premium-hero .dashboard-eyebrow { color:#66e0d7; }
.premium-hero-title { color:#fff; font-size:clamp(1.65rem,3.2vw,2.45rem); margin:.4rem 0; }
.premium-hero-lead { color:#c9d4e5; font-size:clamp(.92rem,1.5vw,1.08rem); margin-bottom:1.6rem; }
.hero-metric-row { align-items:flex-end; display:flex; flex-wrap:wrap; gap:1rem 1.5rem; }
.hero-metric-label { color:#9fb0c7; display:block; font-size:.7rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.hero-metric-value { color:#fff; display:block; font-size:clamp(1.8rem,4vw,3rem); letter-spacing:-.055em; line-height:1.05; }
.trend-chip { align-items:center; border-radius:999px; display:inline-flex; font-size:.78rem; font-weight:800; gap:.35rem; padding:.48rem .72rem; }
.trend-chip small { font-size:.65rem; font-weight:600; opacity:.8; }
.trend-chip.positive { background:rgba(34,197,94,.14); color:#86efac; }
.trend-chip.negative { background:rgba(239,68,68,.14); color:#fca5a5; }
.premium-hero-signal { display:grid; gap:12px; position:absolute; right:clamp(2rem,7vw,7rem); top:50%; transform:translateY(-50%) rotate(-9deg); z-index:1; }
.premium-hero-signal i { background:linear-gradient(90deg,var(--cde-primary),var(--cde-accent)); border-radius:8px; box-shadow:0 10px 30px rgba(0,184,169,.18); display:block; height:22px; width:110px; }
.premium-hero-signal i:nth-child(2) { margin-left:22px; width:150px; }
.premium-hero-signal i:nth-child(3) { margin-left:44px; width:90px; }

.attention-banner { align-items:center; background:#fff8e8; border:1px solid #fde3a7; border-radius:14px; color:#76530b; display:flex; gap:1rem; padding:1rem 1.15rem; }
.attention-icon { align-items:center; background:var(--cde-warning); border-radius:10px; color:#fff; display:flex; flex:0 0 34px; font-weight:900; height:34px; justify-content:center; }
.premium-kpi-grid { display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
.metric-card { background:#fff; border:1px solid var(--cde-border); border-radius:16px; box-shadow:0 7px 24px rgba(26,31,43,.05); min-height:154px; overflow:hidden; padding:1.25rem; position:relative; transition:transform 180ms ease,box-shadow 180ms ease,border 180ms ease; }
.metric-card::after { background:var(--metric-color,var(--cde-primary)); border-radius:50%; content:""; filter:blur(1px); height:80px; opacity:.055; position:absolute; right:-22px; top:-25px; width:80px; }
.metric-card:hover { border-color:#cbd9eb; box-shadow:0 16px 38px rgba(26,31,43,.09); transform:translateY(-3px); }
.metric-blue { --metric-color:var(--cde-primary); }.metric-teal{--metric-color:var(--cde-accent)}.metric-violet{--metric-color:#8b5cf6}.metric-amber{--metric-color:var(--cde-warning)}
.metric-card-head { align-items:center; display:flex; gap:.6rem; margin-bottom:1rem; }
.metric-icon { align-items:center; background:color-mix(in srgb,var(--metric-color) 11%,white); border-radius:9px; color:var(--metric-color); display:flex; font-size:.9rem; font-weight:900; height:32px; justify-content:center; width:32px; }
.metric-label { color:var(--cde-muted); font-size:.72rem; font-weight:700; }
.metric-value { color:var(--cde-navy); display:block; font-size:clamp(1.4rem,2.4vw,1.9rem); letter-spacing:-.045em; line-height:1.1; }
.metric-value-row { align-items:center; display:flex; flex-wrap:wrap; gap:.55rem; }
.metric-trend { align-items:center; background:#eef2f7; border-radius:999px; color:#64748b; display:inline-flex; font-size:.64rem; font-weight:800; line-height:1; padding:.38rem .5rem; white-space:nowrap; }
.metric-trend.hausse,.metric-trend.nouveau { background:#e9f8ef; color:#15803d; }
.metric-trend.baisse { background:#fff0f0; color:#dc2626; }
.metric-trend.stable { background:#eaf2ff; color:#1464d6; }
.stats-kpi { color:inherit; text-decoration:none; transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease; }
.stats-kpi:hover { border-color:#bfd3f2; box-shadow:0 10px 24px rgba(26,31,43,.08); color:inherit; transform:translateY(-2px); }
.metric-trend-sm { margin-top:.35rem; padding:.3rem .42rem; }
.metric-trend-icon { cursor:help; font-size:.75rem; height:1.55rem; justify-content:center; padding:0; width:1.55rem; }
.agency-metric-details { display:grid; gap:.8rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.agency-metric-details > span { min-width:0; }
.agency-metric-details strong { color:var(--cde-navy); display:block; font-size:.8rem; overflow-wrap:anywhere; }
.agency-trend-caption { color:#94a3b8; display:block; font-size:.58rem; margin-top:.8rem; }
.metric-context,.metric-link { color:var(--cde-muted); display:block; font-size:.68rem; margin-top:.65rem; text-decoration:none; }
.metric-link { color:var(--cde-primary); font-weight:700; }

.premium-panel { background:#fff; border:1px solid var(--cde-border); border-radius:16px; box-shadow:var(--cde-shadow-sm); padding:1.25rem; }
.panel-heading,.section-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:1rem; }
.panel-heading h2,.section-heading h2 { font-size:1rem; margin:0; }
.panel-link { font-size:.72rem; font-weight:700; text-decoration:none; }
.attention-grid { display:grid; gap:.55rem; }
.attention-item { align-items:center; border:1px solid transparent; border-radius:11px; color:var(--cde-text); display:grid; gap:.75rem; grid-template-columns:auto 1fr auto; padding:.75rem; text-decoration:none; transition:all var(--cde-transition); }
.attention-item:hover { background:#f8fbff; border-color:#dae6f5; color:var(--cde-navy); transform:translateX(2px); }
.attention-item-icon { align-items:center; border-radius:9px; display:flex; font-weight:900; height:36px; justify-content:center; width:36px; }.attention-item-icon.warning{background:#fff3d6;color:#b77900}.attention-item-icon.info{background:var(--cde-primary-soft);color:var(--cde-primary)}.attention-item-icon.success{background:#eafaf0;color:#15803d}
.attention-item strong,.attention-item small,.timeline-item strong,.timeline-item small { display:block; }.attention-item strong{font-size:.8rem}.attention-item small{color:var(--cde-muted);font-size:.67rem;margin-top:.1rem}
.timeline-item { align-items:center; border-bottom:1px solid #edf1f5; color:var(--cde-text); display:flex; gap:.8rem; padding:.7rem .2rem; text-decoration:none; }.timeline-item:last-child{border-bottom:0}.timeline-item:hover{color:var(--cde-primary)}
.timeline-date { background:var(--cde-primary-soft); border-radius:9px; color:var(--cde-primary); flex:0 0 52px; font-size:.58rem; padding:.4rem; text-align:center; }.timeline-date strong{font-size:1rem;line-height:1}
.timeline-item strong{font-size:.78rem}.timeline-item small{color:var(--cde-muted);font-size:.65rem;margin-top:.15rem}
.premium-empty { align-items:center; color:var(--cde-muted); display:flex; flex-direction:column; font-size:.78rem; justify-content:center; min-height:130px; text-align:center; }.premium-empty strong,.premium-empty small{display:block}.premium-empty small{font-size:.68rem;margin-top:.2rem}
.cde-loader { display:flex; flex-direction:column; gap:4px; margin-bottom:.65rem; }.cde-loader i{animation:triple-bar-pulse 1.1s ease-in-out infinite;background:var(--cde-accent);border-radius:3px;display:block;height:5px;width:30px}.cde-loader i:nth-child(2){animation-delay:.14s}.cde-loader i:nth-child(3){animation-delay:.28s}@keyframes triple-bar-pulse{0%,100%{opacity:.35;transform:scaleX(.78)}50%{opacity:1;transform:scaleX(1)}}
.quick-action-grid { display:grid; gap:.75rem; grid-template-columns:repeat(6,minmax(0,1fr)); }
.quick-action { align-items:center; background:#fff; border:1px solid var(--cde-border); border-radius:14px; color:var(--cde-text); display:flex; gap:.7rem; min-height:86px; padding:.9rem; text-decoration:none; transition:all 180ms ease; }.quick-action:hover{border-color:#bdd2ed;box-shadow:0 12px 28px rgba(20,100,214,.09);color:var(--cde-navy);transform:translateY(-2px)}
.quick-action-icon { align-items:center; background:var(--cde-primary-soft); border-radius:10px; color:var(--cde-primary); display:flex; flex:0 0 36px; font-size:1rem; font-weight:900; height:36px; justify-content:center; }.quick-action strong,.quick-action small{display:block}.quick-action strong{font-size:.72rem}.quick-action small{color:var(--cde-muted);font-size:.6rem;margin-top:.15rem}

@media (max-width:1199.98px){.premium-kpi-grid{grid-template-columns:repeat(2,1fr)}.quick-action-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767.98px){.premium-hero-signal{opacity:.24;right:-35px}.premium-kpi-grid{grid-template-columns:1fr}.quick-action-grid{grid-template-columns:repeat(2,1fr)}.attention-banner{align-items:flex-start;flex-wrap:wrap}}
@media (max-width:420px){.quick-action-grid{grid-template-columns:1fr}}

/* Premium deal cards */
.deal-card-layout { display:grid; gap:1.25rem; grid-template-columns:minmax(0,1fr) auto; }
.deal-card-main { display:grid; gap:1rem; grid-template-columns:112px minmax(0,1fr); min-width:0; }
.deal-thumbnail { align-items:center; background:linear-gradient(145deg,#eef5fd,#e6f8f6); border:1px solid #d8e7f5; border-radius:12px; display:flex; flex-direction:column; gap:6px; justify-content:center; min-height:128px; overflow:hidden; position:relative; }
.deal-thumbnail::after { background:linear-gradient(140deg,transparent 49%,rgba(20,100,214,.08) 50%); content:""; inset:0; position:absolute; }
.deal-thumbnail span { background:linear-gradient(90deg,var(--cde-primary),var(--cde-accent)); border-radius:3px; display:block; height:7px; position:relative; width:48px; z-index:1; }.deal-thumbnail span:nth-child(2){margin-left:14px;width:62px}.deal-thumbnail span:nth-child(3){margin-left:28px;opacity:.55;width:38px}
.deal-card-content { min-width:0; }
.deal-location { color:var(--cde-muted); font-size:.64rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.deal-address { color:var(--cde-muted); display:block; font-size:.72rem; margin-top:.2rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.deal-meta { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin-top:.8rem; }.deal-meta span{color:var(--cde-navy);font-size:.72rem}.deal-meta b{color:var(--cde-muted);display:block;font-size:.58rem;letter-spacing:.04em;margin-bottom:.15rem;text-transform:uppercase}
.deal-participants { align-items:center; display:flex; gap:.5rem; margin-top:.8rem; }.deal-participants small{color:var(--cde-muted);font-size:.65rem;line-height:1.35}.deal-avatar-stack{display:flex;padding-left:7px}.deal-avatar-stack i{background:var(--cde-primary-soft);border:2px solid #fff;border-radius:50%;display:block;height:24px;margin-left:-7px;width:24px}.deal-avatar-stack i:nth-child(2){background:var(--cde-accent-soft)}
.deal-progress { margin-top:.8rem; max-width:440px; }.deal-progress small{color:var(--cde-muted);font-size:.6rem}.deal-progress .progress{height:5px;margin-top:.28rem}
.deal-card-side { min-width:240px; }.deal-card-side .entity-value{display:inline-block;margin-top:.5rem}.deal-card-side > small{font-size:.65rem}
@media(max-width:991.98px){.deal-card-layout{grid-template-columns:1fr}.deal-card-side{border-top:1px solid var(--cde-border);min-width:0;padding-top:1rem;text-align:left!important}.deal-card-side .entity-actions{justify-content:flex-start}}
@media(max-width:575.98px){.deal-card-main{grid-template-columns:1fr}.deal-thumbnail{min-height:72px}.deal-address{white-space:normal}}

/* Recherche globale */
.search-page { margin:clamp(.5rem,2vw,1.5rem) auto 3rem; max-width:1040px; }
.search-results-shell { background:#fff; border:1px solid #dce4ef; border-radius:22px; box-shadow:0 24px 65px rgba(19,38,68,.11); overflow:hidden; }
.search-results-header { align-items:center; background:linear-gradient(135deg,#f8fbff 0%,#fff 58%,#f1fbfa 100%); border-bottom:1px solid #e5ebf3; display:flex; gap:1.1rem; padding:clamp(1.35rem,3vw,2rem); }
.search-results-header h1 { color:var(--cde-navy); font-size:clamp(1.35rem,2.4vw,1.8rem); letter-spacing:-.035em; margin:.15rem 0 .25rem; }
.search-results-header p { color:var(--cde-muted); font-size:.78rem; margin:0; }
.search-results-icon { align-items:center; background:linear-gradient(135deg,var(--cde-primary),#2b7ee8); border-radius:14px; box-shadow:0 10px 24px rgba(20,100,214,.23); color:#fff; display:flex; flex:0 0 48px; font-size:1.5rem; height:48px; justify-content:center; }
.search-results-body { display:grid; gap:1rem; padding:clamp(1rem,2.5vw,1.6rem); }
.search-category { border:1px solid #e3e9f1; border-radius:16px; overflow:hidden; }
.search-category-heading { align-items:center; background:#f9fbfd; border-bottom:1px solid #e8edf4; display:flex; gap:.75rem; padding:.85rem 1rem; }
.search-category-heading h2 { color:var(--cde-navy); font-size:.86rem; margin:0; }
.search-category-heading small { color:var(--cde-muted); display:block; font-size:.64rem; margin-top:.05rem; }
.search-category-icon { align-items:center; border-radius:9px; display:flex; flex:0 0 32px; font-weight:900; height:32px; justify-content:center; }
.search-category-icon.blue{background:#e9f2ff;color:var(--cde-primary)}.search-category-icon.violet{background:#f1eaff;color:#7950d8}.search-category-icon.teal{background:#e4f8f6;color:#15998f}.search-category-icon.amber{background:#fff3dc;color:#c47b00}
.search-result-list { padding:.35rem; }
.search-result-row { align-items:center; border-radius:11px; color:var(--cde-text); display:flex; gap:.8rem; min-height:56px; padding:.65rem .75rem; text-decoration:none; transition:background 150ms ease,transform 150ms ease; }
.search-result-row + .search-result-row { border-top:1px solid #f0f3f7; }
.search-result-row:hover { background:#f3f8ff; color:var(--cde-navy); transform:translateX(2px); }
.search-result-main { min-width:0; width:100%; }
.search-result-main strong { display:block; font-size:.8rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.search-result-main small { color:var(--cde-muted); display:block; font-size:.68rem; margin-top:.12rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.search-result-avatar { align-items:center; background:var(--cde-primary-soft); border-radius:50%; color:var(--cde-primary); display:flex; flex:0 0 34px; font-size:.72rem; font-weight:900; height:34px; justify-content:center; }
.search-result-status { background:#eaf8ef; border-radius:999px; color:#18854a; flex:0 0 auto; font-size:.63rem; font-weight:800; padding:.28rem .55rem; }.search-result-status.muted{background:#f0f2f5;color:#758095}
.search-result-amount { color:var(--cde-navy); flex:0 0 auto; font-size:.76rem; }
.search-result-chevron { color:#a2adbd; flex:0 0 auto; font-size:1.35rem; line-height:1; }
.search-result-row:hover .search-result-chevron { color:var(--cde-primary); }
.search-results-empty { align-items:center; color:var(--cde-muted); display:flex; flex-direction:column; padding:5rem 1.5rem; text-align:center; }.search-results-empty>span{align-items:center;background:var(--cde-primary-soft);border-radius:50%;color:var(--cde-primary);display:flex;font-size:1.5rem;height:52px;justify-content:center;margin-bottom:1rem;width:52px}.search-results-empty strong{color:var(--cde-navy);font-size:1rem}.search-results-empty p{font-size:.76rem;margin:.35rem 0 0}
.search-results-footer { background:#f9fbfd; border-top:1px solid #e8edf4; color:var(--cde-muted); font-size:.68rem; padding:.8rem 1.5rem; text-align:center; }
@media(max-width:575.98px){.search-page{margin:0 auto 2rem}.search-results-shell{border-radius:16px}.search-results-header{padding:1.1rem}.search-results-icon{height:42px;flex-basis:42px}.search-result-row{gap:.55rem}.search-result-status{display:none}.search-result-amount{font-size:.68rem}}
