:root{--mc-bg:rgba(15,20,32,.58);--mc-fg:#e9eef9;--mc-muted:#9aa3b2;--mc-accent:#4da3ff;--mc-border:rgba(120,160,255,.28);--mc-cell-bg:rgba(18,26,43,.40);--mc-cell-border:rgba(120,160,255,.18);--mc-cell-hover:#1a2336;--mc-shadow:0 10px 30px rgba(0,0,0,.55);--mc-radius:12px;--mc-radius-sm:10px;--mc-z:2147483647;--mc-z-backdrop:2147483646}.mc-enhanced::-webkit-calendar-picker-indicator{display:none !important}.mc-panel{position:fixed;z-index:var(--mc-z);display:none;width:300px;max-width:min(95vw,360px);padding:10px;border-radius:var(--mc-radius);background:var(--mc-bg);border:1px solid var(--mc-border);box-shadow:var(--mc-shadow);backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);opacity:0;transform:scale(.98);transition:opacity .12s ease,transform .12s ease}.mc-panel.open{display:block;opacity:1;transform:scale(1)}#mc-panel.mc-center{left:50%;top:50%;transform:translate(-50%,-50%)}.mc-head{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:6px;padding:2px 0 10px;color:var(--mc-fg)}.mc-title{font-weight:600;letter-spacing:.3px;font-size:14px;text-align:left;padding-left:2px}.mc-nav{display:flex;gap:4px}.mc-close{margin-left:6px}.mc-btn{height:30px;min-width:30px;border-radius:var(--mc-radius-sm);border:1px solid #2a2e3a;background:#121a2b;color:var(--mc-fg);cursor:pointer;display:inline-grid;place-items:center}.mc-btn:hover{background:#0f1a30}.mc-btn:disabled{opacity:.45;cursor:not-allowed}.mc-btn svg{width:16px;height:16px}.mc-btn:focus-visible{outline:2px solid var(--mc-accent);outline-offset:2px}.mc-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;justify-content:center;color:#9aa3b2;font-size:11px}.mc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;justify-content:center;padding:6px 0 4px}.mc-cell{height:36px;display:grid;place-items:center;border-radius:8px;cursor:pointer;user-select:none;font-size:14px;line-height:1;color:#d6def0;background:var(--mc-cell-bg);border:1px solid var(--mc-cell-border)}.mc-cell:hover{background:var(--mc-cell-hover)}.mc-cell.other{color:#667086}.mc-cell.today{outline:2px solid var(--mc-accent);outline-offset:-2px}.mc-cell.selected{background:#1d2a45;color:#fff;border-color:rgba(120,160,255,.45)}.mc-cell.disabled{opacity:.5;cursor:not-allowed;background:transparent !important;outline:none !important}.mc-cell.weekend{color:#c7d2fe;font-weight:700}.mc-cell.weekend.selected{background:var(--mc-accent);color:#0b1020}.mc-foot{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:8px 0 2px}.mc-btn.ghost{background:transparent;border-color:transparent;color:var(--mc-muted)}.mc-btn.ghost:hover{background:#121a2b;border-color:#2a2e3a;color:var(--mc-fg)}.mc-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:var(--mc-z-backdrop);display:none}.mc-backdrop.open{display:block}

/* === Mini-calendar layout tweaks === */
.mc-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.mc-head-actions{ display:flex; align-items:center; gap:8px; }
.mc-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:8px; }
.mc-foot-left{ display:flex; align-items:center; gap:8px; }
.mc-foot-right{ display:flex; align-items:center; gap:8px; }
.mc-grid{ align-content:start; }
.mc-cell.mc-spacer{ visibility:hidden; pointer-events:none; }

/* === Mini-calendar: bigger nav buttons & more breathing room === */

/* Slightly larger overall scale */
.mc-panel{ font-size: 15px; padding: 16px 16px 14px; }

/* More space around header/week/grid/foot */
.mc-week{ margin: 6px 0 6px; }
.mc-grid{ gap: 10px; align-content: start; }

/* Day cells: a touch more padding so digits don't stick to borders */
.mc-cell{ padding: 10px 12px; border-radius: 12px; }

/* Navigation buttons: larger, rectangular-ish, easier to tap */
.mc-btn{
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 42px; padding: 8px 12px; border-radius: 10px;
  touch-action: manipulation;
}
.mc-foot-right .mc-btn, .mc-head-actions .mc-btn{ min-width: 44px; }
.mc-btn svg{ width: 20px; height: 20px; }

/* On touch devices – even larger targets */
@media (pointer: coarse){
  .mc-btn{ min-height: 48px; padding: 10px 14px; }
  .mc-btn svg{ width: 22px; height: 22px; }
}

/* === Mini-calendar: fit within frame + medium sizing === */

/* Keep everything inside panel bounds and account for padding */
.mc-panel{ 
  box-sizing: border-box; 
  overflow: hidden; 
  font-size: 14px;            /* a bit smaller than previous 15px */
  padding: 12px 12px 10px;    /* slightly tighter side/bottom padding */
}

/* Ensure columns shrink properly and gaps don't push outside */
.mc-grid{ 
  display: grid; 
  grid-template-columns: repeat(7, minmax(0, 1fr)); 
  gap: 8px;                   /* down from 10px */
  align-content: start; 
  width: 100%;
}

/* Day cells: moderate padding so digits don't touch borders but stay inside frame */
.mc-cell{ 
  padding: 8px 10px;          /* down from 10px 12px */
  border-radius: 10px;
}

/* Week row spacing slightly reduced to help fit */
.mc-week{ margin: 5px 0 5px; }

/* Nav buttons: still larger than original, but a touch smaller than last pass */
.mc-btn{
  min-height: 40px;           /* was 42px */
  padding: 8px 10px;          /* was 8/12 */
  border-radius: 10px;
}
.mc-foot-right .mc-btn, .mc-head-actions .mc-btn{ min-width: 42px; }
.mc-btn svg{ width: 18px; height: 18px; }

/* Touch: keep generous but not excessive */
@media (pointer: coarse){
  .mc-btn{ min-height: 46px; padding: 10px 12px; }
  .mc-btn svg{ width: 20px; height: 20px; }
}

/* === Mini-calendar: exact centering of digits === */
.mc-cell{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-variant-numeric: tabular-nums;   /* prefer equal-width digits */
  font-feature-settings: "tnum" 1;      /* fallback for engines not honoring font-variant-numeric */
  line-height: 1.1;
}

/* === Mini-calendar: make close "X" icon-only (no button chrome) === */
.mc-head .mc-close.mc-btn{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mc-head .mc-close.mc-btn svg{ width: 18px; height: 18px; }
.mc-head .mc-close.mc-btn:hover{ background: transparent !important; opacity: .9; }
.mc-head .mc-close.mc-btn:active{ transform: scale(0.96); }

/* Keep head compact & aligned */
.mc-head{ align-items: center; }
.mc-head-actions{ gap: 6px; }

/* === Mini-calendar: subtle right shift for day-of-week headers === */
:root{ --mc-dow-shift: 2px; }
.mc-week{ display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); }
.mc-dow{ text-align: center; transform: translateX(var(--mc-dow-shift)); }
@media (max-width: 360px){ :root{ --mc-dow-shift: 1px; } }


/* === Patch: slight rounding for specific buttons (dark/default) === */
#mc-panel #mc-clear.mc-btn,
#mc-panel #mc-today.mc-btn,
#mc-panel #mc-prev.mc-btn,
#mc-panel #mc-next.mc-btn{
  border-radius: 6px !important;
}
