/* ============================================================================
   AutoMeQera — Kalendar i unifikuar (skin premium mbi flatpickr)
   ----------------------------------------------------------------------------
   Ngarkohet PAS assets/vendor/flatpickr/flatpickr.base.css.
   I gjithë stili varet nga tokena, pra:
     • frontend  → i lidh me tokenat e skinës (--accent, --panel-2, --line ...)
     • panel/admin/portal → përdor default-et neutrale më poshtë
   Asnjë ngjyrë e hard-koduar në rregullat vizuale — vetëm var().
   ========================================================================== */

:root{
  --amq-cal-font:        inherit;
  --amq-cal-bg:          #ffffff;
  --amq-cal-bg-soft:     #f8fafc;
  --amq-cal-fg:          #0f172a;
  --amq-cal-muted:       #64748b;
  --amq-cal-faint:       #94a3b8;
  --amq-cal-line:        #e6ebf2;
  --amq-cal-hover:       #f1f5f9;
  --amq-cal-accent:      #111827;
  --amq-cal-accent-ink:  #ffffff;
  --amq-cal-accent-soft: rgba(17,24,39,.10);
  --amq-cal-radius:      18px;
  --amq-cal-day-radius:  12px;
  --amq-cal-shadow:      0 24px 60px -22px rgba(15,23,42,.32), 0 2px 8px -2px rgba(15,23,42,.10);
  --amq-cell:            42px;
}

/* ── Karta ────────────────────────────────────────────────────────────────── */
.flatpickr-calendar{
  width:auto !important;
  max-height:none;
  padding:12px 12px 10px;
  background:var(--amq-cal-bg);
  color:var(--amq-cal-fg);
  font-family:var(--amq-cal-font);
  font-size:14px;
  line-height:1.2;
  border:1px solid var(--amq-cal-line);
  border-radius:var(--amq-cal-radius);
  box-shadow:var(--amq-cal-shadow);
  font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;
}
.flatpickr-calendar.open{ z-index:100000; }
.flatpickr-calendar:before,
.flatpickr-calendar:after{ display:none !important; }          /* pa shigjetë trekëndore */
.flatpickr-calendar.animate.open{ animation:amqCalIn .18s cubic-bezier(.16,.84,.34,1); }
@keyframes amqCalIn{
  from{ opacity:0; transform:translateY(-6px) scale(.985); }
  to  { opacity:1; transform:none; }
}
@media (prefers-reduced-motion:reduce){
  .flatpickr-calendar.animate.open{ animation:none; }
}
.flatpickr-calendar.inline{ box-shadow:none; }

/* ── Koka: muaji + shigjetat ──────────────────────────────────────────────── */
.flatpickr-months{
  align-items:center;
  padding:2px 0 8px;
  position:relative;
}
.flatpickr-months .flatpickr-month{
  height:36px;
  color:var(--amq-cal-fg);
  fill:var(--amq-cal-fg);
  overflow:visible;
}
.flatpickr-current-month{
  position:static;
  width:auto;
  left:auto;
  height:36px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.35ch;
  font-size:15px;
  font-weight:600;
  letter-spacing:-.01em;
  transform:none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:600;
  padding:4px 6px;
  margin:0;
  border-radius:8px;
  cursor:pointer;
  transition:background .15s;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover{ background:var(--amq-cal-hover); }
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{
  background:var(--amq-cal-bg);
  color:var(--amq-cal-fg);
}
.flatpickr-current-month span.cur-month{ font-weight:600; margin:0; }
.flatpickr-current-month .numInputWrapper{ width:5.2ch; }
.flatpickr-current-month input.cur-year{
  font:inherit;
  font-weight:600;
  color:inherit;
  padding:0 0 0 .2ch;
}
.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover{ color:var(--amq-cal-fg); }
.numInputWrapper:hover{ background:transparent; }
.numInputWrapper span{ display:none !important; }              /* pa spinner-a të shëmtuar */

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month{
  top:1px;
  height:34px;
  width:34px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:var(--amq-cal-muted);
  fill:var(--amq-cal-muted);
  transition:background .15s, color .15s;
}
.flatpickr-months .flatpickr-prev-month{ left:0; }
.flatpickr-months .flatpickr-next-month{ right:0; }
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover{
  background:var(--amq-cal-hover);
  color:var(--amq-cal-fg);
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg{ fill:var(--amq-cal-fg); }
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg{ width:13px; height:13px; }

/* ── Rreshti i ditëve të javës ────────────────────────────────────────────── */
.flatpickr-weekdays{ height:28px; background:transparent; }
.flatpickr-weekdays .flatpickr-weekdaycontainer{
  flex:0 0 auto;
  width:calc(var(--amq-cell) * 7);
}
span.flatpickr-weekday{
  flex:0 0 var(--amq-cell);
  max-width:var(--amq-cell);
  font-size:11px;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--amq-cal-faint);
  background:transparent;
}

/* ── Grila e ditëve ───────────────────────────────────────────────────────── */
.flatpickr-days{ width:auto !important; }
.dayContainer{
  width:calc(var(--amq-cell) * 7);
  min-width:calc(var(--amq-cell) * 7);
  max-width:calc(var(--amq-cell) * 7);
  justify-content:flex-start;
  padding:2px 0 0;
}
.dayContainer + .dayContainer{ box-shadow:none; margin-left:18px; }

.flatpickr-day{
  flex:0 0 var(--amq-cell);
  width:var(--amq-cell);
  max-width:var(--amq-cell);
  height:var(--amq-cell);
  line-height:var(--amq-cell);
  margin:0;
  border:0;
  border-radius:var(--amq-cal-day-radius);
  color:var(--amq-cal-fg);
  font-size:13.5px;
  font-weight:500;
  transition:background .13s, color .13s;
}
.rangeMode .flatpickr-day{ margin-top:0; }

.flatpickr-day:hover,
.flatpickr-day:focus{ background:var(--amq-cal-hover); border-color:transparent; }

/* dita e sotme — pikë e vogël nën numër */
.flatpickr-day.today{ border-color:transparent; font-weight:700; }
.flatpickr-day.today:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:6px;
  width:4px;
  height:4px;
  margin-left:-2px;
  border-radius:50%;
  background:var(--amq-cal-accent);
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus{ background:var(--amq-cal-hover); color:var(--amq-cal-fg); border-color:transparent; }

/* zgjedhja */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.endRange.nextMonthDay{
  background:var(--amq-cal-accent);
  border-color:transparent;
  color:var(--amq-cal-accent-ink);
  font-weight:600;
  box-shadow:none;
}
.flatpickr-day.selected.today:after,
.flatpickr-day.startRange.today:after,
.flatpickr-day.endRange.today:after{ background:var(--amq-cal-accent-ink); opacity:.75; }

/* brezi i intervalit — qeliza ngjitur, pa hile me box-shadow */
.flatpickr-day.inRange,
.flatpickr-day.inRange:hover,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange{
  background:var(--amq-cal-accent-soft);
  border-color:transparent;
  border-radius:0;
  box-shadow:none !important;
  color:var(--amq-cal-fg);
}
.flatpickr-day.inRange:nth-child(7n+1){ border-radius:var(--amq-cal-day-radius) 0 0 var(--amq-cal-day-radius); }
.flatpickr-day.inRange:nth-child(7n+7){ border-radius:0 var(--amq-cal-day-radius) var(--amq-cal-day-radius) 0; }
.flatpickr-day.startRange{ border-radius:var(--amq-cal-day-radius) 0 0 var(--amq-cal-day-radius); }
.flatpickr-day.endRange  { border-radius:0 var(--amq-cal-day-radius) var(--amq-cal-day-radius) 0; }
.flatpickr-day.startRange.endRange,
.flatpickr-day.selected.startRange.endRange{ border-radius:var(--amq-cal-day-radius); }
.flatpickr-day.startRange:nth-child(7n+7),
.flatpickr-day.endRange:nth-child(7n+1){ border-radius:var(--amq-cal-day-radius); }
/* hija anësore e flatpickr-it për vazhdimësi — e heqim, qelizat tona janë ngjitur */
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)){ box-shadow:none !important; }
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){ box-shadow:none !important; }

/* ditë jashtë muajit / të bllokuara */
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay{ color:var(--amq-cal-faint); opacity:.55; }
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.notAllowed{
  color:var(--amq-cal-faint);
  background:transparent;
  opacity:.5;
  cursor:not-allowed;
}

/* ── Ora (kur enableTime) ─────────────────────────────────────────────────── */
.flatpickr-calendar.hasTime .flatpickr-time{
  height:46px;
  max-height:46px;
  line-height:46px;
  margin-top:8px;
  border-top:1px solid var(--amq-cal-line);
}
.flatpickr-time input,
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm{ color:var(--amq-cal-fg); font-weight:600; }
.flatpickr-time input:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:hover{ background:var(--amq-cal-hover); }

/* ── Zgjedhësi i muajit (input[type=month]) ───────────────────────────────── */
.flatpickr-monthSelect-months{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  width:264px;
  margin:4px 0 2px;
}
.flatpickr-monthSelect-month{
  flex:0 0 calc(33.333% - 4px);
  padding:11px 0;
  text-align:center;
  border-radius:var(--amq-cal-day-radius);
  font-size:13px;
  font-weight:500;
  cursor:pointer;
  transition:background .13s, color .13s;
}
.flatpickr-monthSelect-month:hover{ background:var(--amq-cal-hover); }
.flatpickr-monthSelect-month.selected{
  background:var(--amq-cal-accent);
  color:var(--amq-cal-accent-ink);
  font-weight:600;
}
.flatpickr-monthSelect-month.flatpickr-disabled{ opacity:.4; cursor:not-allowed; }

/* ── Shtesat tona: koka e sheet-it + fundi me numrin e netëve ─────────────── */
.amq-fp-head{ display:none; }
.amq-fp-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:8px -12px -10px;
  padding:10px 14px;
  border-top:1px solid var(--amq-cal-line);
  background:var(--amq-cal-bg-soft);
  border-radius:0 0 calc(var(--amq-cal-radius) - 1px) calc(var(--amq-cal-radius) - 1px);
  font-size:12.5px;
  color:var(--amq-cal-muted);
}
.amq-fp-foot.amq-empty{ display:none; }
.amq-fp-foot strong{ color:var(--amq-cal-fg); font-weight:600; }
.amq-fp-foot .amq-fp-clear{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--amq-cal-muted);
  font:inherit;
  font-weight:600;
  padding:4px 8px;
  border-radius:8px;
  cursor:pointer;
}
.amq-fp-foot .amq-fp-clear:hover{ background:var(--amq-cal-hover); color:var(--amq-cal-fg); }

/* ── Fusha e inputit e krijuar nga altInput ───────────────────────────────── */
.amq-dateinput{ cursor:pointer; }
.amq-dateinput::placeholder{ opacity:.65; }

/* ── Celular: bottom-sheet në vend të pop-up-it të prerë ──────────────────── */
.amq-fp-overlay{
  position:fixed;
  inset:0;
  background:rgba(9,14,24,.44);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  z-index:99998;
  opacity:0;
  transition:opacity .2s;
}
.amq-fp-overlay.show{ opacity:1; }

@media (max-width:640px){
  .flatpickr-calendar.amq-sheet.open{
    position:fixed !important;
    top:auto !important;
    bottom:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:none !important;
    padding:0 14px calc(14px + env(safe-area-inset-bottom));
    border-radius:22px 22px 0 0;
    border-left:0;
    border-right:0;
    border-bottom:0;
    box-shadow:0 -18px 50px -18px rgba(9,14,24,.45);
    animation:amqSheetUp .24s cubic-bezier(.16,.84,.34,1);
    --amq-cell:min(46px, calc((100vw - 36px) / 7));
  }
  @keyframes amqSheetUp{ from{ transform:translateY(100%); } to{ transform:none; } }
  @media (prefers-reduced-motion:reduce){
    .flatpickr-calendar.amq-sheet.open{ animation:none; }
  }
  .flatpickr-calendar.amq-sheet .flatpickr-innerContainer,
  .flatpickr-calendar.amq-sheet .flatpickr-rContainer,
  .flatpickr-calendar.amq-sheet .flatpickr-days,
  .flatpickr-calendar.amq-sheet .flatpickr-weekdays{ width:100% !important; }
  .flatpickr-calendar.amq-sheet .dayContainer,
  .flatpickr-calendar.amq-sheet .flatpickr-weekdays .flatpickr-weekdaycontainer{
    width:100%;
    min-width:0;
    max-width:none;
    justify-content:space-between;
  }
  .flatpickr-calendar.amq-sheet .flatpickr-day,
  .flatpickr-calendar.amq-sheet span.flatpickr-weekday{ flex:1 1 14.2857%; max-width:14.2857%; }
  .flatpickr-calendar.amq-sheet .flatpickr-day{ height:var(--amq-cell); line-height:var(--amq-cell); font-size:15px; }
  /* në sheet qelizat s'janë fikse → brezi i intervalit mbushet me hije anësore */
  .flatpickr-calendar.amq-sheet .flatpickr-day.inRange{ box-shadow:-3px 0 0 var(--amq-cal-accent-soft), 3px 0 0 var(--amq-cal-accent-soft) !important; }
  .flatpickr-calendar.amq-sheet .dayContainer + .dayContainer{ margin-left:0; margin-top:10px; }
  .flatpickr-calendar.amq-sheet .amq-fp-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:0 -14px 6px;
    padding:14px 14px 12px;
    border-bottom:1px solid var(--amq-cal-line);
    position:relative;
  }
  .flatpickr-calendar.amq-sheet .amq-fp-head:before{
    content:"";
    position:absolute;
    top:6px;
    left:50%;
    width:38px;
    height:4px;
    margin-left:-19px;
    border-radius:99px;
    background:var(--amq-cal-line);
  }
  .flatpickr-calendar.amq-sheet .amq-fp-title{
    font-size:14.5px;
    font-weight:600;
    color:var(--amq-cal-fg);
  }
  .flatpickr-calendar.amq-sheet .amq-fp-close{
    appearance:none;
    border:0;
    background:var(--amq-cal-hover);
    color:var(--amq-cal-fg);
    width:30px;
    height:30px;
    border-radius:50%;
    font-size:17px;
    line-height:1;
    cursor:pointer;
  }
  .flatpickr-calendar.amq-sheet .amq-fp-foot{
    margin:8px -14px 0;
    padding:12px 16px calc(4px + env(safe-area-inset-bottom));
    border-radius:0;
    font-size:13.5px;
  }
  .flatpickr-calendar.amq-sheet .flatpickr-months{ padding:2px 0 10px; }
  .flatpickr-calendar.amq-sheet .flatpickr-monthSelect-months{ width:100%; }
}
