/* NASORA CRM — Tableau de bord Visiteur médical : finition graphique additive */
.v31-dashboard{max-width:1240px;margin:0 auto 32px;padding:0 2px}
.v31-dashboard-heading{position:relative;overflow:hidden;padding:24px 26px;margin:4px 0 18px;border:1px solid #d9e7df;border-radius:18px;background:linear-gradient(135deg,#edf8f2 0%,#ffffff 58%,#f5faf7 100%);box-shadow:0 10px 28px rgba(19,67,48,.07);align-items:center}
.v31-dashboard-heading:after{content:"";position:absolute;right:-42px;top:-58px;width:170px;height:170px;border-radius:50%;background:rgba(34,139,94,.09)}
.v31-dashboard-heading>div{position:relative;z-index:1}.v31-dashboard-heading h2{margin:4px 0 5px;font-size:1.65rem;letter-spacing:-.03em;color:#17352a}.v31-dashboard-heading p{font-size:.86rem}.v31-dashboard-heading .v31-data-boundary{max-width:720px}
.v31-hors-planning-link{position:relative;z-index:2;white-space:nowrap;border-radius:11px!important;padding:11px 16px!important;font-weight:800!important;box-shadow:0 5px 14px rgba(19,67,48,.08)}
.v31-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.v31-kpi-card{position:relative;overflow:hidden;min-height:118px;padding:18px 19px;border:1px solid #dce8e1;border-radius:15px;background:linear-gradient(145deg,#fff,#f9fcfa);box-shadow:0 7px 20px rgba(19,67,48,.055);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.v31-kpi-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:#cfe4d8}.v31-kpi-card:nth-child(2):before{background:#76b892}.v31-kpi-card:nth-child(3):before{background:#9db9cc}.v31-kpi-card:nth-child(4):before{background:#b49bc3}.v31-kpi-card:nth-child(5):before{background:#d3b36c}.v31-kpi-card:nth-child(6):before{background:#228b5e}
.v31-kpi-card:after{content:"";position:absolute;right:-28px;bottom:-34px;width:92px;height:92px;border-radius:50%;background:rgba(34,139,94,.045)}
.v31-kpi-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(19,67,48,.09);border-color:#c9ddd1}.v31-kpi-label{position:relative;z-index:1;font-size:.68rem;letter-spacing:.065em;color:#607169}.v31-kpi-card strong{position:relative;z-index:1;margin:9px 0 4px;font-size:2rem;letter-spacing:-.045em;color:#17352a}.v31-kpi-card small{position:relative;z-index:1;font-size:.73rem;line-height:1.35}.v31-kpi-rate{border-color:#b9d8c5;background:linear-gradient(145deg,#f7fcf9,#edf8f2)}
.v31-planning-card{margin-bottom:18px;border:1px solid #dce8e1!important;border-radius:16px!important;box-shadow:0 8px 24px rgba(19,67,48,.055)!important;background:#fff!important;padding:20px!important}.v31-section-heading{padding-bottom:13px;margin-bottom:14px;border-bottom:1px solid #edf2ef}.v31-section-heading h3{font-size:1.03rem;color:#17352a}.v31-planning-count{padding:6px 10px;border-radius:999px;background:#edf7f1;color:#1d754f;font-size:.73rem}.v31-planning-row{padding:14px 15px;border-color:#e2ebe5;border-radius:12px;grid-template-columns:82px minmax(0,1fr) auto;transition:background .15s ease,border-color .15s ease}.v31-planning-row:hover{background:#f7fbf8;border-color:#cfe0d5}.v31-planning-time{font-size:.68rem}.v31-planning-main strong{font-size:.88rem}.v31-planning-main small{font-size:.74rem}.v31-status{padding:6px 11px;font-size:.7rem}
.v31-empty-state{align-items:center;justify-content:center;min-height:120px;padding:22px;border:1px dashed #cbdcd2;background:#f8fbf9;text-align:center;border-radius:12px}.v31-empty-state strong{font-size:.88rem}.v31-empty-state span{font-size:.76rem}
.v31-dashboard+.commercial-actions{max-width:1240px;margin:0 auto 22px;gap:12px}.v31-dashboard+.commercial-actions .action-card{min-height:74px;padding:13px 15px;border:1px solid #dce8e1;border-radius:13px;background:#fff;box-shadow:0 6px 18px rgba(19,67,48,.045);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.v31-dashboard+.commercial-actions .action-card:hover{transform:translateY(-2px);border-color:#bfd6c8;box-shadow:0 10px 24px rgba(19,67,48,.08)}.v31-dashboard+.commercial-actions .action-card>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#edf7f1}.v31-dashboard+.commercial-actions .action-card strong{font-size:.82rem}.v31-dashboard+.commercial-actions .action-card small{font-size:.69rem}
@media(max-width:900px){.v31-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v31-dashboard-heading{align-items:flex-start}.v31-hors-planning-link{margin-top:4px}}
@media(max-width:650px){.v31-dashboard{padding:0}.v31-dashboard-heading{padding:20px;border-radius:15px}.v31-dashboard-heading h2{font-size:1.4rem}.v31-kpi-grid{grid-template-columns:1fr}.v31-kpi-card{min-height:104px}.v31-planning-card{padding:16px!important}.v31-dashboard+.commercial-actions{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.v31-kpi-card,.v31-planning-row,.v31-dashboard+.commercial-actions .action-card{transition:none}.v31-kpi-card:hover,.v31-dashboard+.commercial-actions .action-card:hover{transform:none}}
