/* DSA CRM v11.69 — planning compact inspiré de Liquid Glass. */
#v-calendar{
  --v1169-glass:rgba(255,255,255,.72);
  --v1169-glass-strong:rgba(255,255,255,.88);
  --v1169-line:rgba(15,23,42,.085);
  --v1169-shadow:0 14px 42px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.82);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
#v-calendar .v9-calendar-shell.v1169-calendar{
  min-height:0!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 8% -20%,rgba(95,132,255,.13),transparent 34%),
    radial-gradient(circle at 96% -12%,rgba(139,26,47,.10),transparent 30%),
    color-mix(in srgb,var(--bg) 94%,#eef4ff)!important;
  box-shadow:0 18px 55px rgba(15,23,42,.09),inset 0 0 0 1px rgba(15,23,42,.035)!important;
}

/* Une seule barre de commande, au lieu de deux grands bandeaux superposés. */
#v-calendar .v1169-planning-bar{
  display:grid;
  grid-template-columns:minmax(185px,1fr) auto minmax(170px,240px) minmax(260px,370px) auto;
  grid-template-areas:"title nav site view new";
  align-items:center;
  gap:8px;
  margin:8px 9px 6px;
  padding:7px 8px 7px 13px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(246,248,252,.62));
  box-shadow:var(--v1169-shadow);
  backdrop-filter:blur(28px) saturate(175%);
  -webkit-backdrop-filter:blur(28px) saturate(175%);
}
#v-calendar .v1169-planning-title{grid-area:title;min-width:0;padding-right:6px}
#v-calendar .v1169-planning-title>span{
  display:block;
  margin-bottom:1px;
  color:var(--acc);
  font-size:8.5px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.13em;
  text-transform:uppercase;
}
#v-calendar .v1169-planning-title h2{
  overflow:hidden;
  margin:0!important;
  color:var(--ink);
  font-size:16.5px!important;
  font-weight:720!important;
  line-height:1.2!important;
  letter-spacing:-.025em!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#v-calendar .v1169-planning-bar .v9-calendar-nav{grid-area:nav;display:flex!important;align-items:center!important;gap:5px!important;min-height:36px!important}
#v-calendar .v1169-planning-bar .v9-calendar-nav .btn{
  display:grid!important;
  place-items:center!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 10px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.68)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 2px 7px rgba(15,23,42,.045)!important;
  color:var(--ink2)!important;
  font-size:11px!important;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important;
}
#v-calendar .v1169-planning-bar .v9-calendar-nav .btn:hover{transform:translateY(-1px);background:#fff!important;box-shadow:0 6px 15px rgba(15,23,42,.09)!important}
#v-calendar .v1169-planning-bar .v9-calendar-nav strong{
  margin:0 0 0 4px!important;
  color:var(--ink2)!important;
  font-size:11.5px!important;
  font-weight:680!important;
  white-space:nowrap;
}
#v-calendar .v1169-planning-bar .v9-calendar-site-select,
#v-calendar .v1169-planning-bar .v9-calendar-site-fixed{grid-area:site;display:block!important;width:100%!important;min-width:0!important;margin:0!important}
#v-calendar .v1169-planning-bar .v9-calendar-site-select>span,
#v-calendar .v1169-planning-bar .v9-calendar-site-fixed>small{display:none!important}
#v-calendar .v1169-planning-bar .v9-calendar-site-select select,
#v-calendar .v1169-planning-bar .v9-calendar-site-fixed{
  width:100%!important;
  height:36px!important;
  min-height:36px!important;
  padding:0 32px 0 12px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  border-radius:999px!important;
  background-color:rgba(255,255,255,.7)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
  color:var(--ink2)!important;
  font-size:11.5px!important;
}
#v-calendar .v1169-planning-bar .v9-calendar-site-fixed{display:flex!important;align-items:center!important;padding-right:12px!important}
#v-calendar .v1169-planning-bar .v9-calendar-view-controls{grid-area:view;display:grid!important;grid-template-columns:minmax(150px,1fr) 116px!important;align-items:center!important;gap:6px!important;width:100%!important}
#v-calendar .v1169-planning-bar .v9-week-kind,
#v-calendar .v1169-planning-bar .v9-calendar-modes{
  width:100%!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  border:1px solid rgba(15,23,42,.08)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.62)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86)!important;
}
#v-calendar .v1169-planning-bar .v9-week-kind{padding:0 30px 0 11px!important;color:var(--ink2)!important;font-size:10.5px!important}
#v-calendar .v1169-planning-bar .v9-calendar-modes{display:grid!important;grid-template-columns:1fr 1fr!important;padding:3px!important}
#v-calendar .v1169-planning-bar .v9-calendar-modes button{height:28px!important;padding:0 8px!important;border-radius:999px!important;font-size:10px!important}
#v-calendar .v1169-planning-bar .v9-calendar-modes button.on{background:var(--v1169-glass-strong)!important;box-shadow:0 3px 10px rgba(15,23,42,.09),inset 0 1px 0 #fff!important}
#v-calendar .v1169-new-rdv{
  grid-area:new;
  height:38px!important;
  min-height:38px!important;
  padding:0 15px!important;
  border:1px solid color-mix(in srgb,var(--acc) 70%,#fff)!important;
  border-radius:999px!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--acc) 88%,#fff),var(--acc))!important;
  box-shadow:0 7px 18px color-mix(in srgb,var(--acc) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.32)!important;
  color:#fff!important;
  font-size:11.5px!important;
  font-weight:720!important;
  white-space:nowrap;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
#v-calendar .v1169-new-rdv:hover{transform:translateY(-1px);filter:saturate(1.08);box-shadow:0 10px 24px color-mix(in srgb,var(--acc) 29%,transparent)!important}

/* Légende légère et plus proche de la grille. */
#v-calendar .v9-calendar-legend{
  min-height:30px!important;
  margin:0 9px 5px!important;
  padding:3px 5px!important;
  gap:5px!important;
  border:0!important;
  background:transparent!important;
}
#v-calendar .v9-calendar-legend span{
  min-height:25px;
  padding:3px 8px 3px 6px;
  gap:5px!important;
  border:1px solid rgba(15,23,42,.075);
  border-radius:999px;
  background:rgba(255,255,255,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
  color:var(--ink2)!important;
  font-size:10px!important;
  font-weight:620;
}
#v-calendar .v9-calendar-legend i{width:8px!important;height:8px!important;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 0 0 3px rgba(15,23,42,.1)}

/* La grille récupère tout l'espace vertical disponible. */
#v-calendar .v9-gcal-head{
  grid-template-columns:62px repeat(var(--day-count,5),minmax(160px,1fr))!important;
  min-height:54px!important;
  padding:0!important;
  border-color:var(--v1169-line)!important;
  background:rgba(255,255,255,.76)!important;
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
}
#v-calendar .v9-gcal-head:has(>button:only-of-type){grid-template-columns:62px minmax(420px,1fr)!important;min-width:0!important}
#v-calendar .v9-gcal-head button{height:54px!important;padding:5px 0!important;border-color:var(--v1169-line)!important}
#v-calendar .v9-gcal-head button span{font-size:8.5px!important;letter-spacing:.12em!important}
#v-calendar .v9-gcal-head button strong{width:31px!important;height:31px!important;font-size:17px!important;font-weight:560!important}
#v-calendar .v9-gcal-head button.today strong{box-shadow:0 6px 15px color-mix(in srgb,var(--acc) 24%,transparent),inset 0 1px 0 rgba(255,255,255,.28)}
#v-calendar .v9-gcal-scroll{
  flex:1 1 auto!important;
  grid-template-columns:62px minmax(0,1fr)!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  border-top:0!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
#v-calendar .v9-gcal-hours{width:62px!important;background:color-mix(in srgb,var(--bg) 92%,#f4f7fb)!important;border-color:var(--v1169-line)!important}
#v-calendar .v9-gcal-hours span{right:10px!important;color:var(--ink3)!important;font-size:10px!important;font-weight:620!important}
#v-calendar .v9-gcal-day{border-color:var(--v1169-line)!important}
#v-calendar .v9-gcal-day.today{
  background-color:color-mix(in srgb,var(--v1169-state,#2f6fed) 3.5%,var(--bg))!important;
  box-shadow:inset 1px 0 0 rgba(47,111,237,.08),inset -1px 0 0 rgba(47,111,237,.08);
}

/* Cartes de rendez-vous : relief discret, texte net, animation courte. */
#v-calendar .v9-gcal-event{
  border:1px solid color-mix(in srgb,var(--agent-color) 22%,rgba(255,255,255,.8))!important;
  border-left:4px solid var(--agent-color)!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--agent-color) 17%,#fff),color-mix(in srgb,var(--agent-color) 10%,#fff))!important;
  box-shadow:0 2px 6px rgba(15,23,42,.07),inset 0 1px 0 rgba(255,255,255,.72)!important;
  padding:6px 8px!important;
  transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,filter .18s ease!important;
}
#v-calendar .v9-gcal-event:hover{
  z-index:12!important;
  transform:translateY(-2px) scale(1.006)!important;
  filter:saturate(1.06)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.14),0 2px 6px rgba(15,23,42,.08),inset 0 1px 0 #fff!important;
}
#v-calendar .v9-gcal-event strong{color:var(--ink)!important;font-size:11.5px!important;font-weight:720!important;line-height:1.25!important;letter-spacing:-.01em}
#v-calendar .v9-gcal-event span{color:var(--ink2)!important;font-size:9.5px!important;line-height:1.25!important;margin-top:3px!important;opacity:.72!important}

/* Dialogue RDV réellement central et immédiatement visible. */
body.v1169-rdv-open{overflow:hidden}
body.v1169-rdv-open::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:10050;
  background:rgba(15,18,24,.28);
  backdrop-filter:blur(11px) saturate(115%);
  -webkit-backdrop-filter:blur(11px) saturate(115%);
  animation:v1169-backdrop-in .2s ease both;
}
.v1127-card.v1169-centered{
  position:fixed!important;
  z-index:10060!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:min(700px,calc(100vw - 34px))!important;
  max-height:min(780px,calc(100dvh - 34px))!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(246,248,252,.91))!important;
  box-shadow:0 34px 90px rgba(15,23,42,.28),0 8px 28px rgba(15,23,42,.15),inset 0 1px 0 #fff!important;
  transform:translate(-50%,-50%)!important;
  animation:v1169-dialog-in .24s cubic-bezier(.2,.8,.2,1) both!important;
  backdrop-filter:blur(32px) saturate(170%);
  -webkit-backdrop-filter:blur(32px) saturate(170%);
  color:var(--ink)!important;
}
.v1127-card.v1169-centered .v1127-head{
  padding:20px 22px 16px!important;
  border-left:0!important;
  border-bottom:1px solid rgba(15,23,42,.065);
  background:linear-gradient(120deg,color-mix(in srgb,var(--agent-color) 9%,rgba(255,255,255,.72)),rgba(255,255,255,.45));
  box-shadow:inset 4px 0 0 var(--agent-color);
}
.v1127-card.v1169-centered .v1127-head small{color:var(--ink3)!important;font-size:10px!important;letter-spacing:.12em!important}
.v1127-card.v1169-centered .v1127-head h3{margin-top:5px!important;color:var(--ink)!important;font-size:21px!important;font-weight:740!important;letter-spacing:-.025em!important}
.v1127-card.v1169-centered .v1127-x{width:34px!important;height:34px!important;border:1px solid rgba(15,23,42,.08)!important;background:rgba(255,255,255,.62)!important;box-shadow:inset 0 1px 0 #fff}
.v1127-card.v1169-centered .v1127-body{padding:17px 22px 18px!important}
.v1127-card.v1169-centered .v1127-grid{gap:12px 14px!important}
.v1127-card.v1169-centered .v1127-f{gap:6px!important}
.v1127-card.v1169-centered .v1127-f>span{color:var(--ink3)!important;font-size:9.5px!important;font-weight:750!important;letter-spacing:.09em!important}
.v1127-card.v1169-centered .v1127-f input,
.v1127-card.v1169-centered .v1127-f select,
.v1127-card.v1169-centered .v1127-f textarea{
  min-height:44px;
  padding:9px 12px!important;
  border:1px solid rgba(15,23,42,.11)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.67)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
  font-size:14px!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.v1127-card.v1169-centered .v1127-f textarea{min-height:112px;line-height:1.5!important}
.v1127-card.v1169-centered .v1127-f input:focus,
.v1127-card.v1169-centered .v1127-f select:focus,
.v1127-card.v1169-centered .v1127-f textarea:focus{background:rgba(255,255,255,.94)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--agent-color) 13%,transparent),inset 0 1px 0 #fff!important}
.v1127-card.v1169-centered .v1127-veh{font-size:12.5px!important}
.v1127-card.v1169-centered .v1127-foot{
  position:sticky;
  bottom:0;
  padding:13px 16px!important;
  border-color:rgba(15,23,42,.07)!important;
  background:rgba(248,249,252,.74)!important;
  backdrop-filter:blur(24px) saturate(160%);
  -webkit-backdrop-filter:blur(24px) saturate(160%);
}
.v1127-card.v1169-centered .v1127-foot button{min-height:38px;padding:8px 15px!important;border-radius:999px!important;background:var(--bg)!important;color:var(--ink2)!important;font-size:12px!important;font-weight:680!important}
.v1127-card.v1169-centered .v1127-foot .v1127-del{color:var(--acc)!important}
.v1127-card.v1169-centered .v1127-foot .v1127-ok{background:var(--acc)!important;color:#fff!important}
.v1127-card.v1169-centered .v1127-foot .v1127-ok{box-shadow:0 7px 18px rgba(139,26,47,.2),inset 0 1px 0 rgba(255,255,255,.25)}

@keyframes v1169-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes v1169-dialog-in{from{opacity:0;transform:translate(-50%,calc(-50% + 16px)) scale(.965)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

body.dark #v-calendar{--v1169-glass:rgba(34,37,43,.73);--v1169-glass-strong:rgba(45,48,55,.9);--v1169-line:rgba(255,255,255,.08)}
body.dark #v-calendar .v9-calendar-shell.v1169-calendar{border-color:rgba(255,255,255,.08)!important;background:radial-gradient(circle at 8% -20%,rgba(76,111,210,.17),transparent 34%),radial-gradient(circle at 96% -12%,rgba(139,26,47,.16),transparent 30%),var(--bg)!important}
body.dark #v-calendar .v1169-planning-bar,body.dark #v-calendar .v9-gcal-head{border-color:rgba(255,255,255,.08)!important;background:rgba(29,32,38,.76)!important}
body.dark #v-calendar .v1169-planning-bar .btn,body.dark #v-calendar .v1169-planning-bar select,body.dark #v-calendar .v9-calendar-legend span{border-color:rgba(255,255,255,.08)!important;background:rgba(255,255,255,.055)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.07)!important}
body.dark #v-calendar .v9-gcal-event{border-color:color-mix(in srgb,var(--agent-color) 36%,rgba(255,255,255,.08))!important;background:linear-gradient(145deg,color-mix(in srgb,var(--agent-color) 25%,#252930),color-mix(in srgb,var(--agent-color) 15%,#202329))!important;box-shadow:0 3px 9px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.07)!important}
body.dark .v1127-card.v1169-centered{border-color:rgba(255,255,255,.1)!important;background:linear-gradient(145deg,rgba(38,41,48,.97),rgba(28,31,37,.94))!important}
body.dark .v1127-card.v1169-centered .v1127-head,body.dark .v1127-card.v1169-centered .v1127-foot{border-color:rgba(255,255,255,.08)!important;background:rgba(255,255,255,.035)!important}
body.dark .v1127-card.v1169-centered .v1127-f input,body.dark .v1127-card.v1169-centered .v1127-f select,body.dark .v1127-card.v1169-centered .v1127-f textarea{border-color:rgba(255,255,255,.11)!important;background:rgba(255,255,255,.055)!important;color:var(--ink)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important}

@media(max-width:1180px){
  #v-calendar .v1169-planning-bar{
    grid-template-columns:auto minmax(170px,230px) minmax(260px,1fr) auto;
    grid-template-areas:"title title title new" "nav site view view";
  }
}
@media(max-width:720px){
  #v-calendar .v9-calendar-shell.v1169-calendar{border-radius:18px!important}
  #v-calendar .v1169-planning-bar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title new" "nav nav" "site view";gap:7px;margin:6px;padding:8px;border-radius:16px}
  #v-calendar .v1169-planning-title h2{font-size:15px!important}
  #v-calendar .v1169-planning-bar .v9-calendar-nav{overflow-x:auto;padding-bottom:1px}
  #v-calendar .v1169-planning-bar .v9-calendar-view-controls{grid-template-columns:minmax(130px,1fr) 104px!important}
  #v-calendar .v9-calendar-legend{margin-inline:6px!important}
  #v-calendar .v9-gcal-head{grid-template-columns:56px repeat(var(--day-count,5),minmax(150px,1fr))!important}
  #v-calendar .v9-gcal-head:has(>button:only-of-type){grid-template-columns:56px minmax(300px,1fr)!important}
  #v-calendar .v9-gcal-scroll{grid-template-columns:56px minmax(0,1fr)!important}
  #v-calendar .v9-gcal-hours{width:56px!important}
  .v1127-card.v1169-centered{width:calc(100vw - 18px)!important;max-height:calc(100dvh - 18px)!important;border-radius:20px!important}
  .v1127-card.v1169-centered .v1127-head{padding:17px 18px 14px!important}
  .v1127-card.v1169-centered .v1127-head h3{font-size:18px!important}
  .v1127-card.v1169-centered .v1127-body{padding:14px 17px 16px!important}
}
@media(max-width:480px){
  #v-calendar .v1169-planning-bar{grid-template-areas:"title new" "nav nav" "site site" "view view"}
  #v-calendar .v1169-new-rdv{padding-inline:11px!important;font-size:0!important}
  #v-calendar .v1169-new-rdv::after{content:"+ RDV";font-size:11px}
  .v1127-card.v1169-centered .v1127-grid{grid-template-columns:1fr!important}
  .v1127-card.v1169-centered .v1127-f.wide,.v1127-card.v1169-centered .v1127-f input.wide{grid-column:auto!important}
}
@media(prefers-reduced-motion:reduce){
  #v-calendar .v9-gcal-event,#v-calendar .v1169-planning-bar .btn,.v1127-card.v1169-centered{animation:none!important;transition:none!important}
  body.v1169-rdv-open::before{animation:none!important}
}
