/* ============================================================
   Nestiy — shared calendar page (calendar-view.html) and the Share panel in Smart Office.
   Frosted-glass month view in the Nestiy Glow theme, light and dark.
   ============================================================ */
.cv-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.cv-hint{ font-size:0.82rem; color:var(--muted); margin-top:10px; max-width:640px; }
.cv-section{ padding-top:10px; }
.cv-layout{ display:grid; grid-template-columns:minmax(0, 1.7fr) minmax(0, 1fr); gap:24px; align-items:start; }
@media (max-width: 900px){ .cv-layout{ grid-template-columns:1fr; } }
.cv-month, .cv-side, .cv-error{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); padding:20px; box-shadow:var(--shadow-soft);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
}
.cv-month-head{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.cv-month-head h2{ flex:1; font-size:1.35rem; margin:0; text-align:center; }
.cv-nav, .cv-today{ border:1px solid var(--line); background:var(--mint-50); color:var(--forest); border-radius:999px; cursor:pointer; font:inherit; }
.cv-nav{ width:38px; height:38px; font-size:1.3rem; line-height:1; }
.cv-today{ padding:8px 14px; font-size:0.84rem; font-weight:700; }
.cv-nav:hover, .cv-today:hover{ border-color:var(--primary); color:var(--primary); }
.cv-grid{ display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); gap:6px; }
.cv-wd{ text-align:center; font-size:0.74rem; font-weight:700; color:var(--muted); padding:4px 0; text-transform:uppercase; letter-spacing:.04em; }
.cv-day{
  position:relative; min-height:96px; display:flex; flex-direction:column; align-items:stretch; gap:3px; text-align:left;
  padding:6px; border-radius:12px; border:1px solid var(--line); background:var(--mint-50); color:var(--ink); cursor:pointer; font:inherit; overflow:hidden;
}
.cv-day:hover{ border-color:var(--primary); }
.cv-pad{ background:transparent; border-color:transparent; cursor:default; }
.cv-n{ font-weight:800; font-size:0.86rem; }
.cv-day.is-today .cv-n{ display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; background:var(--primary); color:#fff; }
.cv-day.is-picked{ border-color:var(--primary); box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 35%, transparent); }
.cv-day.is-hol{ background:color-mix(in srgb, #F0AE57 12%, var(--mint-50)); }
.cv-chips{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.cv-chip{ display:block; font-size:0.7rem; line-height:1.25; padding:2px 6px; border-radius:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  background:color-mix(in srgb, var(--c, #EA7F74) 22%, transparent); border-left:3px solid var(--c, #EA7F74); color:var(--ink); }
.cv-chip.hol{ --c:#F0AE57; font-weight:700; }
.cv-more{ font-size:0.68rem; color:var(--muted); padding-left:4px; }
.cv-dots{ display:none; gap:3px; margin-top:auto; }
.cv-dots i{ width:7px; height:7px; border-radius:50%; display:block; }
@media (max-width: 640px){
  .cv-day{ min-height:52px; padding:5px; align-items:center; }
  .cv-chips{ display:none; } .cv-dots{ display:flex; }
  .cv-month, .cv-side{ padding:14px; }
  .cv-grid{ gap:4px; }
}
.cv-tz{ font-size:0.78rem; color:var(--muted); margin:12px 0 0; }
.cv-side h3{ font-size:1.1rem; margin:0 0 12px; }
.cv-list{ display:flex; flex-direction:column; gap:8px; max-height:560px; overflow:auto; }
.cv-group{ font-size:0.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin-top:6px; }
.cv-ev{ display:grid; grid-template-columns:86px 1fr; gap:10px; padding:10px 12px; border-radius:12px; background:var(--mint-50); border:1px solid var(--line); border-left:4px solid var(--c); }
.cv-ev-t{ font-size:0.8rem; font-weight:700; color:var(--muted); }
.cv-ev strong{ color:var(--ink); }
.cv-ev-loc{ font-size:0.8rem; color:var(--muted); }
.cv-hol{ padding:8px 12px; border-radius:12px; font-weight:700; font-size:0.86rem; background:color-mix(in srgb, #F0AE57 16%, transparent); }
.cv-empty{ text-align:center; color:var(--muted); font-size:0.9rem; }
.cv-empty img{ display:block; margin:0 auto 4px; }
.cv-back{ align-self:flex-start; border:0; background:none; color:var(--primary); font:inherit; font-weight:700; cursor:pointer; padding:6px 0; }
.cv-made{ display:flex; align-items:center; gap:10px; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); font-size:0.84rem; color:var(--muted); }
.cv-made img{ flex:0 0 auto; }
.cv-made p{ margin:0; }
.cv-made a{ color:var(--primary); font-weight:700; }
.cv-error{ text-align:center; max-width:520px; margin:0 auto; }
.cv-error img{ display:block; margin:0 auto 6px; }

/* ---------- Share panel in Smart Office (calendar viewer) ---------- */
.wp-cal-share{ margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
.wp-cal-share h4{ margin:0 0 6px; font-size:1rem; }
.wp-cal-share p{ margin:0 0 10px; font-size:0.84rem; color:var(--muted); }
.wp-cal-share .row{ display:flex; flex-wrap:wrap; gap:8px; }
.wp-cal-share .row button, .wp-cal-share .row a, .wp-cal-share .link button, .wp-cal-share .email button{
  display:inline-flex; align-items:center; gap:6px; padding:8px 13px; border-radius:999px; font:inherit; font-size:0.84rem; font-weight:700;
  border:1px solid var(--line); background:var(--mint-50); color:var(--forest); cursor:pointer; text-decoration:none;
}
.wp-cal-share .row button:hover, .wp-cal-share .row a:hover, .wp-cal-share .link button:hover{ border-color:var(--primary); color:var(--primary); }
.wp-cal-share .row .primary, .wp-cal-share .email button{ background:var(--primary); border-color:var(--primary); color:#fff; }
html:not([data-theme="light"]) .wp-cal-share .row .primary, html:not([data-theme="light"]) .wp-cal-share .email button{ color:#2A1734; }
.wp-cal-share .link{ display:flex; gap:8px; margin:10px 0; }
.wp-cal-share .link input{ flex:1; min-width:0; padding:9px 12px; border-radius:10px; border:1px solid var(--line); background:var(--mint-50); color:var(--ink); font:inherit; font-size:0.82rem; }
.wp-cal-share .email{ display:flex; gap:8px; margin-top:10px; }
.wp-cal-share .email input{ flex:1; min-width:0; padding:9px 12px; border-radius:10px; border:1px solid var(--line); background:var(--mint-50); color:var(--ink); font:inherit; }
.wp-cal-share .msg{ font-size:0.82rem; margin-top:8px; min-height:1em; }
.wp-cal-share .msg.ok{ color:#1E8A6A; } .wp-cal-share .msg.err{ color:var(--red); }
html:not([data-theme="light"]) .wp-cal-share .msg.ok{ color:#7EE0B5; }

/* ---------- Calendar editor in Smart Office (same calendar as the app) ---------- */
#wpCalendarView .wp-editor-topbar{ border-radius:var(--radius-lg); margin-bottom:16px; }
#wpCalendarView .tool-btn.wp-cal-add{ background:var(--primary); border-color:var(--primary); color:#fff; }
html:not([data-theme="light"]) #wpCalendarView .tool-btn.wp-cal-add{ color:#2A1734; }
.wp-cal-layout{ margin-bottom:24px; }
.wp-cal-hint{ display:flex; align-items:center; gap:14px; padding:14px 18px; margin-bottom:16px; border-radius:var(--radius-lg); border:1px solid var(--line);
  background:var(--white); box-shadow:var(--shadow-soft); }
.wp-cal-hint[hidden]{ display:none; }
.wp-cal-hint img{ flex:0 0 auto; }
.wp-cal-hint strong{ color:var(--ink); }
.wp-cal-hint p{ margin:2px 0 8px; font-size:0.88rem; color:var(--muted); }
.wp-cal-hint .row{ display:flex; gap:8px; flex-wrap:wrap; }
.wp-cal-hint .btn{ padding:8px 16px; font-size:0.86rem; }
.wp-cal-err{ color:var(--red); font-size:0.86rem; margin:0 0 12px; }
.wp-cal-dayhead{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.wp-cal-dayhead h3{ margin:0 !important; }
.wp-cal-dayhead .btn{ padding:8px 14px; font-size:0.84rem; white-space:nowrap; }
.wp-cal-evbtn{ width:100%; text-align:left; font:inherit; color:inherit; cursor:pointer; }
.wp-cal-evbtn:hover{ border-color:var(--primary); }
.wp-cal-evbtn .cv-ev-loc{ display:block; }
#wpCalGrid .cv-day{ min-height:88px; }
@media (max-width: 640px){
  #wpCalGrid .cv-day{ min-height:50px; }
  #wpCalendarView .wp-editor-topbar .tool-btn span{ display:none; }
  #wpCalendarView .wp-save-status{ display:none; }
}

@media (max-width: 760px){
  /* Back and the name on the first line, the buttons below */
  #wpCalendarView .wp-item-title{ order:0; flex:1 1 0; width:auto; min-width:0; }
  #wpCalendarView .wp-editor-topbar .tool-spacer{ display:block; flex:0 0 100%; height:0; }
  #wpCalendarView .tool-btn.wp-cal-add{ margin-left:auto; }
}

/* event editor and other calendar windows */
.wp-cal-modal{ max-width:520px !important; max-height:calc(100vh - 32px); overflow:auto; }
.wp-cal-modal form{ display:flex; flex-direction:column; gap:10px; margin-top:12px; }
.wp-cal-modal input[type="text"], .wp-cal-modal input[type="email"], .wp-cal-modal input[type="date"], .wp-cal-modal input[type="time"], .wp-cal-modal textarea, .wp-cal-modal select{
  width:100%; min-width:0; padding:10px 12px; border-radius:10px; border:1px solid var(--line); background:var(--mint-50); color:var(--ink); font:inherit; font-size:0.92rem; box-sizing:border-box;
}
.wp-cal-modal input:focus, .wp-cal-modal textarea:focus, .wp-cal-modal select:focus{ outline:none; border-color:var(--primary); }
.wp-cal-modal textarea{ resize:vertical; }
.wp-cal-modal input[hidden]{ display:none; }
html:not([data-theme="light"]) .wp-cal-modal input[type="date"], html:not([data-theme="light"]) .wp-cal-modal input[type="time"]{ color-scheme:dark; }
.wp-cal-modal .wp-cal-title-input{ font-family:var(--font-head); font-size:1.15rem !important; font-weight:700; }
.wp-cal-colors{ display:flex; gap:8px; }
.wp-cal-colors button{ width:30px; height:30px; border-radius:50%; border:2.5px solid transparent; cursor:pointer; padding:0; position:relative; }
.wp-cal-colors button.on{ border-color:var(--ink); box-shadow:0 0 0 2px var(--white) inset; }
.wp-cal-colors button.on::after{ content:'✓'; position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:0.8rem; font-weight:900; }
.wp-cal-check{ display:flex; align-items:flex-start; gap:8px; font-size:0.9rem; color:var(--ink); cursor:pointer; }
.wp-cal-check input{ width:auto !important; margin-top:3px; accent-color:var(--primary); }
.wp-cal-check small{ display:block; color:var(--muted); font-size:0.8rem; }
.wp-cal-check.big{ margin:14px 0 10px; }
.wp-cal-when{ display:grid; grid-template-columns:56px minmax(0, 1fr) 120px; gap:8px; align-items:center; }
.wp-cal-when span{ font-weight:700; color:var(--muted); font-size:0.86rem; }
.wp-cal-when input[type="time"][hidden]{ display:none; }
@media (max-width: 420px){ .wp-cal-when{ grid-template-columns:48px minmax(0, 1fr) 104px; } }
.wp-cal-guests{ border-top:1px solid var(--line); padding-top:10px; }
.wp-cal-guests > strong{ color:var(--ink); }
.wp-cal-guests p{ margin:2px 0 8px; font-size:0.82rem; color:var(--muted); }
.wp-cal-guests small{ display:block; color:var(--muted); font-size:0.78rem; margin:8px 0 4px; }
.wp-cal-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.wp-cal-chips:empty{ display:none; }
.wp-cal-chip{ display:inline-flex; align-items:center; gap:6px; padding:5px 6px 5px 11px; border-radius:999px; border:1px solid var(--line); background:var(--mint-50); color:var(--ink); font-size:0.82rem; }
.wp-cal-chip.sent{ border-color:var(--primary); }
.wp-cal-chip button{ border:0; background:none; color:var(--muted); cursor:pointer; font-size:0.8rem; padding:0 4px; }
.wp-cal-chip.add{ cursor:pointer; padding:5px 11px; font:inherit; font-size:0.8rem; font-weight:700; color:var(--forest); }
.wp-cal-addguest{ display:flex; gap:8px; margin-top:8px; }
.wp-cal-addguest .btn{ padding:8px 16px; }
.wp-cal-lock{ font-size:0.84rem; color:var(--muted); margin:10px 0 0 !important; }
.wp-cal-lock a{ color:var(--primary); font-weight:700; }
#calEvInviteRow .wp-cal-check{ margin-top:10px; }
.wp-cal-modal .modal-actions{ margin-top:12px; }
.wp-cal-modal .modal-actions [hidden]{ display:none; }
#calEvDelete{ color:var(--red); border-color:color-mix(in srgb, var(--red) 45%, transparent); }
.wp-cal-field{ display:block; margin:14px 0 4px; }
.wp-cal-field span{ display:block; font-size:0.82rem; font-weight:700; color:var(--forest); margin-bottom:6px; }
.wp-cal-sync-when{ margin-top:12px; display:flex; flex-direction:column; gap:8px; }
.wp-cal-sync-when > strong{ color:var(--ink); font-size:0.9rem; }
.wp-cal-sync-when.off{ opacity:.5; }
#calShareBody .wp-cal-share{ border-top:0; margin-top:4px; padding-top:0; }
.wp-cal-toast{ position:fixed; left:50%; bottom:24px; transform:translate(-50%, 20px); max-width:min(560px, calc(100vw - 32px)); padding:12px 18px; border-radius:14px;
  background:#2A1734; color:#fff; font-size:0.9rem; box-shadow:0 18px 50px -12px rgba(0,0,0,.5); opacity:0; pointer-events:none; transition:opacity .2s, transform .2s; z-index:3000; }
.wp-cal-toast.show{ opacity:1; transform:translate(-50%, 0); }
.wp-cal-toast.err{ background:#8E2F2A; }
html:not([data-theme="light"]) .wp-cal-toast{ background:#FBE3D3; color:#2A1734; }
html:not([data-theme="light"]) .wp-cal-toast.err{ background:#F7B6AE; }
