/* DSA CRM v10.4 — lisibilité, ventes, calendrier unifié et navigation fluide */
:root{--v104-ease:cubic-bezier(.22,1,.36,1)}
html{font-size:16px;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body,input,select,textarea,button{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-size:14px;letter-spacing:-.006em}
.content{font-size:14px}
.tb-title{font-size:18px!important;font-weight:650!important;letter-spacing:-.025em}
.ni{min-height:42px!important;font-size:14px!important;line-height:1.25!important}
.nsec{font-size:11px!important;letter-spacing:.09em!important}
.btn,.inp,.fsel,.fsearch,.v10-input{font-size:14px!important}
.btn{min-height:36px}
.lbl,.v10-field label{font-size:12px!important;letter-spacing:.025em!important}
table{font-size:13px}
th{font-size:11px!important}
.cs{font-size:13px!important;line-height:1.5}
.ct{font-size:16px!important;letter-spacing:-.015em}
img{image-rendering:auto}
/* L'ancien fichier contient encore des micro-libellés en style direct. */
.content [style*="font-size:8px"]{font-size:11px!important}
.content [style*="font-size:9px"]{font-size:11.5px!important}
.content [style*="font-size:10px"]{font-size:12px!important}
.content [style*="font-size:11px"]{font-size:12.5px!important}
.content [style*="font-size:12px"]{font-size:13px!important}

/* Transitions courtes et cohérentes, sans ralentir les mises à jour de données. */
.view.on{animation:v104-view-in .24s var(--v104-ease) both}
@keyframes v104-view-in{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}
.btn,.ni,.chip,.card,.agent-card,.v10-tile,.v10-person,.sales-agent-card,.v9-gcal-event,.doc-card{transition:background-color .2s var(--v104-ease),border-color .2s var(--v104-ease),box-shadow .22s var(--v104-ease),transform .22s var(--v104-ease),opacity .2s var(--v104-ease)}
.btn:hover,.v10-tile:hover,.doc-card:hover{transform:translateY(-1px)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Logo vectoriel affiché proprement dans l'application. */
.sb-logo{height:74px!important;margin:12px 10px 16px!important;padding:8px 10px!important;border-radius:13px!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important}
.sb-logo img{display:block!important;width:100%!important;max-width:142px!important;height:50px!important;object-fit:contain!important;filter:none!important}
.l-logo img{image-rendering:auto!important;object-fit:contain!important}

/* Planning : typographie et repère horaire réellement lisibles. */
.v9-calendar-shell{border-radius:18px!important;box-shadow:0 14px 42px rgba(20,24,32,.07)!important;overflow:hidden}
.v9-calendar-header{padding:24px 26px 18px!important;gap:18px!important}
.v9-calendar-header h2{font-size:27px!important;font-weight:680!important;letter-spacing:-.035em!important}
.v9-calendar-header p{font-size:14px!important;line-height:1.45!important;margin-top:6px!important}
.v9-calendar-eyebrow{font-size:11px!important;letter-spacing:.095em!important}
.v9-calendar-header-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.v9-calendar-site-select{display:grid;gap:4px;min-width:190px}
.v9-calendar-site-select>span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3)}
.v9-calendar-site-select select,.v9-calendar-site-fixed{height:38px;border:1px solid var(--bord);border-radius:10px;background:var(--bg);color:var(--ink);padding:0 34px 0 12px;font-size:13px;font-weight:650}
.v9-calendar-site-fixed{display:flex;align-items:center;padding-right:12px}
.v9-calendar-toolbar{padding:0 26px 14px!important}
.v9-calendar-nav strong{font-size:14px!important}
.v9-week-kind{height:38px!important;font-size:13px!important}
.v9-calendar-legend{padding:11px 26px!important;gap:18px!important;font-size:12px!important}
.v9-calendar-legend i{width:10px!important;height:10px!important}
.v9-gcal-head{grid-template-columns:74px repeat(var(--day-count,5),minmax(175px,1fr))!important;min-width:949px!important}
.v9-gcal-head button{height:68px!important}
.v9-gcal-head button span{font-size:11px!important;font-weight:650!important}
.v9-gcal-head button strong{width:38px!important;height:38px!important;font-size:19px!important}
.v9-gcal-scroll{grid-template-columns:74px minmax(0,1fr)!important;scroll-behavior:smooth!important}
.v9-gcal-hours span{right:12px!important;font-size:11px!important;font-weight:560!important;color:var(--ink2)!important}
.v9-gcal-days{grid-template-columns:repeat(var(--day-count),minmax(175px,1fr))!important;min-width:calc(var(--day-count) * 175px)!important}
.v9-gcal-event{min-height:40px!important;padding:7px 9px!important;border-left-width:5px!important;border-radius:9px!important;background:color-mix(in srgb,var(--agent-color) 25%,var(--bg))!important;box-shadow:0 3px 10px rgba(20,24,32,.1)!important;color:var(--ink)!important}
.v9-gcal-event:hover{z-index:12!important;filter:saturate(1.15)!important;box-shadow:0 8px 20px rgba(20,24,32,.16)!important}
.v9-gcal-event strong{font-size:12px!important;font-weight:720!important;line-height:1.3!important}
.v9-gcal-event span{font-size:10.5px!important;line-height:1.3!important;margin-top:3px!important;opacity:.8!important}
.v9-gcal-reminders{grid-template-columns:74px repeat(var(--day-count),minmax(175px,1fr))!important;min-width:949px!important}
.v9-reminder-label{font-size:10px!important}
.v9-reminder-day button{font-size:11px!important;min-height:42px!important}
.v9-reminder-day button span{font-size:9.5px!important}
.v9-now-line{height:3px!important;background:#d01743!important;z-index:20!important;box-shadow:0 0 0 1px rgba(255,255,255,.75),0 2px 8px rgba(208,23,67,.45)!important}
.v9-now-line:before{left:-6px!important;top:-5px!important;width:13px!important;height:13px!important;background:#d01743!important;box-shadow:0 0 0 2px #fff!important}
.v9-now-line span{left:10px!important;top:-12px!important;padding:4px 7px!important;font-size:10px!important;line-height:1!important;box-shadow:0 2px 7px rgba(208,23,67,.28)!important}

/* Le calendrier de To Do est le même planning horaire, en pleine largeur. */
.todo-shell{max-width:none!important}
.todo-workspace{display:block!important}
.todo-calendar-card{padding:0!important;overflow:hidden!important}
.todo-calendar-card>.todo-card-title{padding:20px 22px 14px!important;margin:0!important;align-items:flex-end!important}
.todo-card-title strong{font-size:19px!important;letter-spacing:-.02em}
.todo-card-title small{font-size:12.5px!important;line-height:1.45!important;margin-top:4px!important}
.todo-calendar-tools{align-items:flex-end!important;gap:8px!important;flex-wrap:wrap!important}
.todo-week-label{font-size:13px!important;margin:0 22px 12px!important;padding:7px 11px!important}
.todo-shared-calendar{border-top:1px solid var(--bord);overflow:hidden}
.todo-shared-calendar .v9-gcal-scroll{height:min(620px,calc(100vh - 330px))!important;min-height:470px!important}
.todo-side-stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin-top:16px!important}
.todo-compact-card{min-height:260px!important;padding:18px!important}
.todo-hero{font-size:14px!important}
.todo-title{font-size:25px!important}
.todo-sub{font-size:13px!important}
.todo-relance{min-height:62px!important}

/* Ventes : un tableau métier distinct par commercial. */
.sales-agents{display:grid;gap:22px}
.sales-agent-card{border:1px solid var(--bord);border-radius:16px;background:var(--bg);overflow:hidden;box-shadow:0 8px 28px rgba(20,24,32,.055)}
.sales-agent-head{display:flex!important;align-items:center!important;padding:19px 22px!important;background:linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--bg2) 72%,var(--bg)))}
.sales-agent-id{display:flex;align-items:center;gap:13px}
.sales-agent-name{font-size:18px!important;font-weight:680!important;letter-spacing:-.025em}
.sales-agent-count{font-size:12px!important;margin-top:3px;color:var(--ink3)}
.sales-table{width:100%;border-collapse:collapse}
.sales-table th{padding:12px 20px!important;background:var(--bg2);text-transform:uppercase;letter-spacing:.055em;color:var(--ink3)}
.sales-table td{padding:16px 20px!important;vertical-align:middle}
.sales-table th:nth-child(n+2),.sales-table td:nth-child(n+2){text-align:right}
.sales-table th:nth-child(4),.sales-table th:nth-child(5),.sales-table td:nth-child(4),.sales-table td:nth-child(5){text-align:center}
.sales-car{font-size:14px!important;font-weight:650!important}
.sales-car-sub{font-size:11px!important;margin-top:4px!important;color:var(--ink3)}
.sales-amount{font-size:14px!important;font-variant-numeric:tabular-nums;white-space:nowrap}
.sales-amount.net,.sales-table .net{color:#18713b!important}
.sales-service{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:70px;font-size:12px;font-weight:650}
.sales-service b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;font-size:16px;line-height:1}
.sales-service.yes{color:#18713b}.sales-service.yes b{background:#e6f5eb}
.sales-service.no{color:#b32835}.sales-service.no b{background:#fdebed}
.sales-table tfoot td{border-top:2px solid var(--ink)!important;background:var(--bg2);padding-top:15px!important;padding-bottom:15px!important}
.sales-table tfoot strong{display:block;font-size:15px;font-variant-numeric:tabular-nums}
.sales-table tfoot small{display:block;margin-top:3px;font-size:10px;color:var(--ink3)}
.sales-empty{font-size:15px!important;padding:28px!important}

/* Identités historiques récupérables. */
.v10-person.historical{border-left:4px solid #b88322}
.v10-history-key{margin-left:6px;padding:2px 6px;border-radius:999px;background:var(--bg2);color:var(--ink3);font-size:10px;font-weight:600}

@media(max-width:980px){
  .todo-side-stack{grid-template-columns:1fr!important}
  .v9-calendar-header{align-items:flex-start!important}
  .v9-calendar-header-actions{justify-content:flex-start}
  .sales-table-wrap{overflow-x:auto}
  .sales-table{min-width:830px}
}
@media(max-width:680px){
  body{font-size:14px}
  .v9-calendar-header{padding:17px!important}.v9-calendar-header h2{font-size:23px!important}
  .v9-calendar-toolbar{padding:0 17px 12px!important}.v9-calendar-legend{padding:9px 17px!important}
  .v9-gcal-head{grid-template-columns:64px repeat(var(--day-count,5),minmax(155px,1fr))!important;min-width:839px!important}
  .v9-gcal-scroll{grid-template-columns:64px minmax(0,1fr)!important}
  .v9-gcal-days{grid-template-columns:repeat(var(--day-count),minmax(155px,1fr))!important;min-width:calc(var(--day-count) * 155px)!important}
  .v9-gcal-reminders{grid-template-columns:64px repeat(var(--day-count),minmax(155px,1fr))!important;min-width:839px!important}
  .todo-calendar-card>.todo-card-title{align-items:flex-start!important;flex-direction:column!important}
}
