/* =========================================================
   QUARZEO PILOT V10.14
   Agenda compact, visuel et intelligent
   ========================================================= */

.qz13-week-shell {
  max-width: 100%;

  border: 1px solid #dbe8ed !important;
  border-radius: 24px !important;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.99),
      rgba(248,252,253,.98)
    ) !important;

  box-shadow:
    0 16px 38px rgba(8,43,64,.055) !important;
}

/* En-tête plus compact */

.qz13-week-title {
  min-height: 58px !important;
  padding: 13px 17px !important;

  background:
    radial-gradient(
      circle at 94% 10%,
      rgba(38,204,231,.09),
      transparent 24%
    ),
    linear-gradient(
      135deg,
      #f9fcfd,
      #f2f9fb
    );
}

.qz13-week-title strong {
  color: #153d51 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.qz13-week-title span {
  padding: 5px 9px;

  border: 1px solid #d9e9ee;
  border-radius: 999px;

  background: #fff;
  color: #6d8794 !important;

  font-size: 8px !important;
  font-weight: 850;
}

/* Grille plus légère */

.qz13-week-grid {
  grid-template-columns:
    52px repeat(7, minmax(118px, 1fr)) !important;

  min-width: 900px !important;

  background: #fbfdfe;
}

.qz13-time-head,
.qz13-day-head {
  min-height: 52px !important;

  background:
    linear-gradient(
      180deg,
      #f7fafb,
      #fbfdfe
    ) !important;
}

.qz13-day-head {
  border-left:
    1px solid rgba(217,230,235,.72) !important;
}

.qz13-day-head span {
  color: #77909c !important;

  font-size: 7px !important;
  font-weight: 900 !important;
  letter-spacing: .08em;
}

.qz13-day-head strong {
  margin-top: 2px !important;

  color: #244b5e !important;

  font-size: 15px !important;
  font-weight: 900 !important;
}

.qz13-day-head.today {
  position: relative;

  background:
    radial-gradient(
      circle at 50% 10%,
      rgba(38,204,231,.10),
      transparent 50%
    ),
    linear-gradient(
      180deg,
      #eafafd,
      #f8fdfe
    ) !important;
}

.qz13-day-head.today::after {
  position: absolute;
  bottom: 5px;

  width: 20px;
  height: 3px;

  border-radius: 999px;

  background: #31c9e3;

  content: "";
}

.qz13-day-head.today strong {
  color: #078da8 !important;
}

/* Heures très discrètes */

.qz13-time-axis {
  grid-template-rows:
    repeat(12, 45px) !important;

  background:
    linear-gradient(
      180deg,
      #f9fbfc,
      #fbfdfe
    ) !important;
}

.qz13-time-axis span {
  padding: 4px 6px 0 0 !important;

  border-top:
    1px solid rgba(220,233,238,.58) !important;

  color: #91a3ac !important;

  font-size: 7px !important;
  font-weight: 750;
}

/* Colonnes plus petites */

.qz13-day-column {
  height: 540px !important;

  border-left:
    1px solid rgba(220,233,238,.72) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.96),
      rgba(250,253,254,.96)
    ) !important;
}

.qz13-day-column > i {
  height: 45px !important;

  border-top:
    1px solid rgba(224,235,239,.52) !important;
}

/* Pastilles de rendez-vous */

.qz13-event {
  left: 6px !important;
  right: 6px !important;

  min-height: 30px !important;

  padding: 6px 8px 6px 10px !important;

  overflow: hidden !important;

  border:
    1px solid var(--qz14-border, rgba(39,190,216,.20)) !important;
  border-left:
    3px solid var(--qz14-color, #28c6e1) !important;
  border-radius: 11px !important;

  background:
    linear-gradient(
      135deg,
      var(--qz14-soft, #eafafd),
      rgba(255,255,255,.96)
    ) !important;

  color: #24495b !important;

  box-shadow:
    0 5px 12px rgba(8,43,64,.055) !important;

  transition:
    transform .14s ease,
    box-shadow .14s ease,
    border-color .14s ease !important;
}

.qz13-event:hover {
  z-index: 8 !important;

  transform:
    translateY(-1px)
    scale(1.015) !important;

  border-color:
    var(--qz14-color, #28c6e1) !important;

  box-shadow:
    0 10px 24px rgba(8,43,64,.11) !important;
}

/* Pastille intérieure */

.qz13-event::before {
  position: absolute;
  top: 8px;
  right: 7px;

  width: 6px;
  height: 6px;

  border-radius: 50%;

  background:
    var(--qz14-color, #28c6e1);

  box-shadow:
    0 0 0 4px
    var(--qz14-halo, rgba(40,198,225,.12));

  content: "";
}

.qz13-event time {
  display: inline-block !important;

  margin-right: 5px;

  color:
    var(--qz14-text, #078ca6) !important;

  font-size: 7px !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
}

.qz13-event b {
  display: block !important;

  max-width: calc(100% - 12px);

  margin-top: 2px !important;

  color: #24495b !important;

  font-size: 8px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;

  text-overflow: ellipsis;
  white-space: nowrap;
}

.qz13-event small {
  display: none !important;
}

/* Types visuels */

.qz13-event.qz14-type-rdv {
  --qz14-color: #2ac7e1;
  --qz14-soft: #e9fafd;
  --qz14-border: rgba(42,199,225,.22);
  --qz14-halo: rgba(42,199,225,.13);
  --qz14-text: #078da7;
}

.qz13-event.qz14-type-call {
  --qz14-color: #6f9ff1;
  --qz14-soft: #eef4ff;
  --qz14-border: rgba(111,159,241,.22);
  --qz14-halo: rgba(111,159,241,.13);
  --qz14-text: #477cca;
}

.qz13-event.qz14-type-admin {
  --qz14-color: #9c8cf1;
  --qz14-soft: #f4f1ff;
  --qz14-border: rgba(156,140,241,.22);
  --qz14-halo: rgba(156,140,241,.13);
  --qz14-text: #7766cf;
}

.qz13-event.qz14-type-reminder {
  --qz14-color: #f0a744;
  --qz14-soft: #fff7eb;
  --qz14-border: rgba(240,167,68,.22);
  --qz14-halo: rgba(240,167,68,.13);
  --qz14-text: #c17b1c;
}

.qz13-event.qz14-type-urgent {
  --qz14-color: #e56872;
  --qz14-soft: #fff0f2;
  --qz14-border: rgba(229,104,114,.22);
  --qz14-halo: rgba(229,104,114,.13);
  --qz14-text: #ca4d59;
}

/* Créneaux longs légèrement plus riches */

.qz13-event.qz14-long {
  padding-top: 8px !important;
}

.qz13-event.qz14-long small {
  display: block !important;

  max-width: calc(100% - 10px);

  margin-top: 3px !important;

  color: #718793 !important;

  font-size: 7px !important;
  line-height: 1.25 !important;

  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Point de l'heure actuelle */

.qz14-now-line {
  position: absolute;
  z-index: 5;
  left: 0;
  right: 0;

  height: 1px;

  background:
    linear-gradient(
      90deg,
      rgba(38,204,231,.15),
      rgba(38,204,231,.70),
      rgba(38,204,231,.15)
    );

  pointer-events: none;
}

.qz14-now-line::before {
  position: absolute;
  left: -3px;
  top: -3px;

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: #22c6e2;

  box-shadow:
    0 0 0 4px rgba(34,198,226,.12);

  content: "";
}

@media (max-width: 1050px) {
  .qz13-week-grid {
    min-width: 820px !important;
  }
}
