/* Marivya Lesson Planner – Refreshed Week Calendar */

:root{
  --marivya-lp-border:#dfe7f5;
  --marivya-lp-border-strong:#c9d8f6;
  --marivya-lp-bg:#ffffff;
  --marivya-lp-bg-muted:#f6f9ff;
  --marivya-lp-bg-soft:#f2f7ff;
  --marivya-lp-off:#fff2f6;
  --marivya-lp-bh:linear-gradient(180deg, rgba(17,198,214,.10), rgba(84,132,255,.08));
  --marivya-lp-text:#172554;
  --marivya-lp-muted:#64748b;
  --marivya-lp-teal:#11c5d9;
  --marivya-lp-blue:#4f83ff;
  --marivya-lp-purple:#7c5cff;
  --marivya-lp-shadow:0 20px 45px rgba(59, 97, 171, .10);
  --marivya-lp-radius:26px;
}

.marivya-lp-calendar-page--refresh{ color:var(--marivya-lp-text); }
.marivya-lp-cal-shell{ position:relative; padding:8px 0 20px; }
.marivya-lp-cal-shell::before,.marivya-lp-cal-shell::after{ content:''; position:absolute; z-index:0; border-radius:999px; pointer-events:none; }
.marivya-lp-cal-shell::before{ width:320px;height:320px;left:-100px;bottom:40px; background:radial-gradient(circle at center, rgba(93,133,255,.18), rgba(93,133,255,0)); }
.marivya-lp-cal-shell::after{ width:260px;height:260px;right:0;top:0; background:radial-gradient(circle at center, rgba(115,88,255,.13), rgba(115,88,255,0)); }
.marivya-lp-cal-hero,.marivya-lp-cal-summary,.marivya-lp-cal-layout{ position:relative; z-index:1; }

.marivya-lp-cal-hero{ display:grid; grid-template-columns:minmax(0, 1.4fr) minmax(280px, .8fr); gap:18px; padding:26px 28px; border-radius:32px; background:linear-gradient(135deg, #ffffff 0%, #f7fbff 55%, #f3f5ff 100%); border:1px solid rgba(195, 210, 243, .9); box-shadow:var(--marivya-lp-shadow); margin-bottom:18px; }
.marivya-lp-cal-hero__content h1{ margin:10px 0 12px; font-size:34px; line-height:1.05; color:#10245a; }
.marivya-lp-cal-hero__content p{ max-width:760px; margin:0; font-size:15px; color:#53627f; }
.marivya-lp-cal-badge{ display:inline-flex; align-items:center; gap:8px; padding:6px 12px; border-radius:999px; background:rgba(17,197,217,.10); color:#0f6c86; font-weight:700; letter-spacing:.02em; }
.marivya-lp-cal-pills{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.marivya-lp-cal-pills span,.marivya-lp-summary-card,.marivya-lp-side-card,.marivya-lp-calendar-toolbar,.marivya-lp-grid{ backdrop-filter:saturate(1.05); }
.marivya-lp-cal-pills span{ display:inline-flex; align-items:center; padding:10px 14px; border-radius:999px; background:#fff; border:1px solid #e5ecfa; box-shadow:0 6px 18px rgba(47, 78, 160, .07); color:#243b78; font-weight:600; }
.marivya-lp-cal-stats{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-self:center; }
.marivya-lp-stat{ padding:18px 16px; border-radius:24px; background:rgba(255,255,255,.78); border:1px solid rgba(223, 231, 245, .95); box-shadow:0 14px 30px rgba(59, 97, 171, .08); text-align:center; }
.marivya-lp-stat strong{ display:block; font-size:28px; line-height:1; color:#112866; }
.marivya-lp-stat span{ display:block; margin-top:8px; color:#5a6b8a; font-weight:600; }

.marivya-lp-cal-summary{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.marivya-lp-summary-card{ padding:18px 20px; border-radius:22px; background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,255,.94)); border:1px solid rgba(223, 231, 245, .95); box-shadow:0 12px 24px rgba(59, 97, 171, .08); }
.marivya-lp-summary-card strong{ display:block; margin-bottom:6px; color:#1b2c69; font-size:15px; }
.marivya-lp-summary-card span{ color:#65738f; font-size:13px; }

.marivya-lp-cal-layout{ display:grid; grid-template-columns:minmax(0, 1.65fr) minmax(320px, .75fr); gap:20px; align-items:start; }
.marivya-lp-cal-main,.marivya-lp-cal-sidebar{ min-width:0; }
.marivya-lp-calendar-toolbar{ display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin:0 0 14px; padding:18px 20px; border-radius:24px; border:1px solid rgba(223, 231, 245, .95); background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,250,255,.95)); box-shadow:0 14px 30px rgba(59, 97, 171, .08); }
.marivya-lp-calendar-toolbar__left,.marivya-lp-calendar-toolbar__right{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.marivya-lp-toolbar-title{ display:flex; flex-direction:column; gap:3px; }
.marivya-lp-toolbar-title__eyebrow{ font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:#14a7b9; font-weight:800; }
.marivya-lp-cal-title{ font-size:18px; line-height:1.2; color:#10245a; }
.marivya-lp-student-filter{ display:flex; align-items:center; gap:10px; padding:8px 12px; border-radius:16px; background:#fff; border:1px solid #e5ecfa; color:#51627f; font-weight:600; }
.marivya-lp-student-filter select{ min-width:220px; border:0 !important; box-shadow:none !important; background:transparent !important; }
#marivya-lp-cal-nav .button{ min-width:42px; min-height:40px; border-radius:14px; border-color:#d7e1f5; color:#28407f; box-shadow:none; }
#marivya-lp-cal-nav .button:hover,#marivya-lp-cal-nav .button:focus{ border-color:#bdd3fb; color:#16306f; }
.marivya-lp-cal-helper{ margin:0 0 12px; padding:0 4px; font-size:13px; }

.marivya-lp-grid{ display:grid; grid-template-columns:88px repeat(7, minmax(110px, 1fr)); border:1px solid rgba(223, 231, 245, .98); border-radius:28px; overflow:hidden; background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,251,255,.95)); box-shadow:0 20px 42px rgba(59, 97, 171, .10); }
.marivya-lp-row-header{ display:contents; }
.marivya-lp-cell-dayHeader{ padding:14px 8px; background:linear-gradient(180deg, #ffffff, #f6f9ff); border-bottom:1px solid var(--marivya-lp-border); text-align:center; font-weight:800; font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:#203772; }
.marivya-lp-cell-dayHeader.off{ background:linear-gradient(180deg, #fff5f7, #fffafc); }
.marivya-lp-col-times{ background:linear-gradient(180deg, #f9fbff, #f3f7ff); border-right:1px solid var(--marivya-lp-border); }
.marivya-lp-time{ height:40px; border-bottom:1px dashed rgba(210, 221, 242, .95); font-size:12px; color:#7a88a4; display:flex; align-items:flex-start; justify-content:flex-end; padding:6px 10px; }
.marivya-lp-time.hour{ font-weight:700; color:#3f527d; }
.marivya-lp-col-day{ position:relative; border-right:1px solid rgba(223, 231, 245, .98); min-height:calc((var(--slots-per-day, 24) * 40px)); background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,252,255,.96)); }
.marivya-lp-col-day:last-child{ border-right:0; }
.marivya-lp-col-day.off{ background:linear-gradient(180deg, #fff5f7, #fffafc); }
.marivya-lp-slot{ position:absolute; left:0; right:0; border-top:1px dashed rgba(210, 221, 242, .9); height:1px; }
.marivya-lp-bh{ position:absolute; left:6px; right:6px; border-radius:16px; background:var(--marivya-lp-bh); pointer-events:none; }
.marivya-lp-ev{ position:absolute; left:8px; right:8px; border-radius:18px; background:linear-gradient(135deg, var(--marivya-lp-teal), #37d1d9); color:#fff; padding:10px 12px; box-shadow:0 16px 26px rgba(24, 90, 190, .18); cursor:grab; user-select:none; touch-action:none; font-size:12px; line-height:1.25; transition: top .12s ease, transform .12s ease, box-shadow .12s ease; will-change: top; overflow:hidden; }
.marivya-lp-ev::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0)); pointer-events:none; }
.marivya-lp-ev:hover{ transform:translateY(-1px); box-shadow:0 18px 28px rgba(24, 90, 190, .24); }
.marivya-lp-ev.dragging{ transition:none; cursor:grabbing; box-shadow:0 20px 36px rgba(24, 90, 190, .32); }
.marivya-lp-ev.marivya-lp-ev--planned{ background:linear-gradient(135deg, #10c7d6, #2acacb); }
.marivya-lp-ev.marivya-lp-ev--done{ background:linear-gradient(135deg, #5aa2ff, #7f8cff); }
.marivya-lp-ev.marivya-lp-ev--cancelled{ background:linear-gradient(135deg, #bd8ef8, #a06df3); opacity:.78; }
.marivya-lp-ev.is-selected{ outline:3px solid rgba(255,255,255,.8); outline-offset:-3px; }
.marivya-lp-ev__title{ position:relative; z-index:1; font-weight:800; margin-bottom:3px; font-size:13px; }
.marivya-lp-ev__time,.marivya-lp-ev__meta{ position:relative; z-index:1; opacity:.96; }
.marivya-lp-ev__meta{ font-size:11px; margin-top:3px; }

.marivya-lp-cal-sidebar{ display:flex; flex-direction:column; gap:16px; }
.marivya-lp-side-card{ padding:20px; border-radius:28px; background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,255,.95)); border:1px solid rgba(223, 231, 245, .98); box-shadow:0 16px 34px rgba(59, 97, 171, .09); }
.marivya-lp-side-card__head{ margin-bottom:14px; }
.marivya-lp-side-card__eyebrow{ display:inline-block; margin-bottom:8px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#13adbd; font-weight:800; }
.marivya-lp-side-card h2{ margin:0; font-size:22px; line-height:1.15; color:#132a62; }
.marivya-lp-side-status{ display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; font-weight:700; margin-bottom:14px; }
.marivya-lp-side-status--planned{ background:rgba(17,197,217,.12); color:#0e8194; }
.marivya-lp-side-status--done{ background:rgba(79,131,255,.12); color:#365bc8; }
.marivya-lp-side-status--cancelled{ background:rgba(124,92,255,.12); color:#6540d8; }
.marivya-lp-side-list{ margin:0 0 18px; }
.marivya-lp-side-list > div{ display:grid; grid-template-columns:92px 1fr; gap:8px; padding:9px 0; border-bottom:1px solid #edf2fb; }
.marivya-lp-side-list > div:last-child{ border-bottom:0; }
.marivya-lp-side-list dt{ color:#6b7c98; font-weight:700; }
.marivya-lp-side-list dd{ margin:0; color:#162a61; font-weight:600; }
#marivya-lp-side-edit.button-primary{ border-radius:16px; min-height:42px; padding:0 16px; }
.marivya-lp-quick-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.marivya-lp-quick-link{ display:flex; align-items:center; justify-content:center; min-height:48px; padding:10px 12px; border-radius:18px; background:#fff; border:1px solid #e5ecfa; box-shadow:0 8px 18px rgba(59, 97, 171, .06); color:#17326d; text-decoration:none; font-weight:700; }
.marivya-lp-quick-link:hover,.marivya-lp-quick-link:focus{ color:#10245a; border-color:#cad8f7; }
.marivya-lp-side-card--tip p{ margin:0; color:#5e6f8d; line-height:1.55; }
.marivya-lp-muted{ color:var(--marivya-lp-muted); }

@media (max-width: 1360px){ .marivya-lp-cal-layout{ grid-template-columns:1fr; } .marivya-lp-cal-sidebar{ order:-1; } }
@media (max-width: 1080px){ .marivya-lp-cal-hero,.marivya-lp-cal-summary{ grid-template-columns:1fr; } .marivya-lp-cal-stats{ grid-template-columns:repeat(3,minmax(0,1fr)); } .marivya-lp-calendar-toolbar{ flex-direction:column; } }
@media (max-width: 782px){ .marivya-lp-cal-hero{ padding:22px 18px; } .marivya-lp-student-filter{ width:100%; justify-content:space-between; } .marivya-lp-student-filter select{ min-width:0; width:100%; } .marivya-lp-grid{ overflow:auto; border-radius:22px; } .marivya-lp-quick-grid{ grid-template-columns:1fr; } }
