.calendar-page .site-shell{max-width:none}.calendar-hero{position:relative;overflow:hidden;border:0;border-radius:26px;margin-bottom:18px;min-height:260px;color:#fff;box-shadow:0 24px 70px rgba(15,23,42,.22)}.calendar-hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(2,6,23,.88),rgba(2,6,23,.42),rgba(2,6,23,.15)),var(--calendar-banner);background-size:cover;background-position:center;filter:saturate(1.1)}.calendar-hero-inner{position:relative;z-index:1;display:flex;align-items:flex-end;gap:22px;padding:34px;min-height:260px}.calendar-hero-avatar{width:112px;height:112px;object-fit:cover;border-radius:32px;border:4px solid rgba(255,255,255,.88);box-shadow:0 16px 40px rgba(0,0,0,.28)}.calendar-hero-text{flex:1;min-width:0}.calendar-kicker{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.calendar-hero h1{font-size:clamp(28px,5vw,58px);margin:10px 0 6px;line-height:1}.calendar-hero p{max-width:760px;margin:0 0 8px;color:rgba(255,255,255,.86);font-weight:600}.calendar-hero a{color:#fff;font-weight:900}.calendar-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.calendar-primary-btn,.calendar-secondary-btn,.calendar-mini-controls a,.calendar-right-panel button,.calendar-detail-actions button{border:0;border-radius:16px;padding:12px 16px;font-weight:900;text-decoration:none;cursor:pointer;box-shadow:0 12px 28px rgba(37,99,235,.18)}.calendar-primary-btn{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff}.calendar-secondary-btn{background:rgba(255,255,255,.92);color:#111827}.calendar-shell{display:grid;grid-template-columns:240px minmax(0,1fr) 240px;gap:18px;align-items:start}.calendar-left-panel,.calendar-right-panel{position:sticky;top:86px;border-radius:22px;box-shadow:0 18px 50px rgba(15,23,42,.08)}.calendar-mini-controls{display:grid;gap:8px;margin:12px 0}.calendar-mini-controls a{display:block;text-align:center;background:#f1f5f9;color:#0f172a}.calendar-left-hint{font-size:13px;color:#64748b;line-height:1.45}.calendar-main{border-radius:24px;box-shadow:0 24px 70px rgba(15,23,42,.1);overflow:hidden}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e5e7eb}.calendar-toolbar a{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:14px;background:#eff6ff;text-decoration:none;font-weight:900}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{padding:12px;text-align:center;font-weight:900;color:#64748b;background:#f8fafc}.calendar-day{min-height:160px;padding:10px;border-right:1px solid #eef2f7;border-bottom:1px solid #eef2f7;background:rgba(255,255,255,.86);overflow:hidden}.calendar-day.is-muted{background:#f8fafc;color:#94a3b8}.calendar-day.is-today{box-shadow:inset 0 0 0 2px #2563eb;background:#eff6ff}.calendar-day header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.calendar-day header span{font-weight:950}.calendar-day header button{width:26px;height:26px;border:0;border-radius:10px;background:#111827;color:#fff;font-weight:900;cursor:pointer}.calendar-day-items{display:grid;gap:7px}.calendar-entry-card{position:relative;border-radius:16px;background:#fff;border:1px solid #e5e7eb;overflow:hidden;box-shadow:0 10px 24px rgba(15,23,42,.08);cursor:pointer}.calendar-entry-type-color_text{background:var(--cal-bg,#2563eb);color:var(--cal-fg,#fff);border:0}.calendar-entry-card>img,.calendar-entry-card>video{width:100%;height:70px;object-fit:cover;display:block}.calendar-video-thumb{display:grid;place-items:center;height:70px;background:linear-gradient(135deg,#111827,#334155);color:#fff;font-size:24px}.calendar-entry-copy{padding:8px 10px;display:grid;gap:2px}.calendar-entry-copy strong{font-size:12px;line-height:1.15}.calendar-entry-copy small{font-size:11px;opacity:.74;line-height:1.25}.calendar-entry-actions{display:flex;align-items:center;gap:6px;padding:6px 8px;border-top:1px solid rgba(148,163,184,.2);overflow-x:auto}.calendar-entry-actions button{white-space:nowrap;border:0;border-radius:999px;background:#f8fafc;padding:6px 9px;font-size:11px;font-weight:850;cursor:pointer}.calendar-entry-actions .platform-reaction-root{min-width:max-content}.calendar-more-day{border:0;border-radius:12px;background:#e0f2fe;color:#0369a1;padding:7px;font-weight:900}.calendar-right-panel{display:grid;gap:10px}.calendar-right-panel button{background:#f8fafc;color:#0f172a;text-align:left;box-shadow:none}.calendar-right-panel button.is-active{background:#2563eb;color:#fff}.calendar-entry-modal,.calendar-view-modal{position:fixed;inset:0;z-index:10050}.calendar-entry-modal.hidden,.calendar-view-modal.hidden{display:none}.calendar-modal-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.64);backdrop-filter:blur(8px)}.calendar-entry-dialog,.calendar-view-dialog{position:relative;margin:5vh auto;width:min(820px,calc(100vw - 24px));max-height:90vh;overflow:auto;background:#fff;border-radius:28px;padding:22px;box-shadow:0 28px 80px rgba(0,0,0,.36)}.calendar-entry-dialog header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.calendar-entry-dialog header button,.calendar-view-close{width:40px;height:40px;border:0;border-radius:999px;background:#0f172a;color:#fff;font-size:22px;cursor:pointer}.calendar-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calendar-entry-dialog label{display:grid;gap:7px;font-weight:850;color:#334155}.calendar-entry-dialog input,.calendar-entry-dialog textarea,.calendar-entry-dialog select{width:100%;border:1px solid #cbd5e1;border-radius:14px;padding:12px;background:#f8fafc;font:inherit}.calendar-upload-card{border:1px dashed #cbd5e1;border-radius:20px;padding:14px;margin-top:12px;background:#f8fafc}.calendar-upload-preview{min-height:170px;border-radius:16px;background:#fff;display:grid;place-items:center;overflow:hidden;color:#94a3b8;font-weight:900}.calendar-upload-preview img,.calendar-upload-preview video{width:100%;height:240px;object-fit:cover}.calendar-upload-actions,.calendar-entry-dialog footer{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.calendar-upload-actions button,.calendar-entry-dialog footer button{border:0;border-radius:14px;padding:10px 14px;font-weight:900;cursor:pointer}.calendar-upload-progress,.calendar-settings-progress{height:12px;background:#e2e8f0;border-radius:999px;position:relative;overflow:hidden;margin-top:10px}.calendar-upload-progress b,.calendar-settings-progress b{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#2563eb)}.calendar-upload-progress span,.calendar-settings-progress span{position:absolute;right:8px;top:-2px;font-size:10px;font-weight:900;color:#0f172a}.calendar-form-status{font-weight:900;margin-top:10px}.calendar-form-status.is-error{color:#dc2626}.calendar-view-dialog{background:#f8fafc}.calendar-view-dialog [data-calendar-view-content]{display:grid;gap:14px}.calendar-entry-detail-card{cursor:default}.calendar-detail-actions{display:flex;gap:10px;flex-wrap:wrap}.calendar-settings-card{border-radius:24px;box-shadow:0 18px 50px rgba(15,23,42,.08)}.calendar-settings-form{display:grid;gap:14px}.calendar-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.calendar-settings-form input,.calendar-settings-form select,.calendar-settings-form textarea{border:1px solid #cbd5e1;border-radius:14px;padding:11px;background:#fff}.calendar-settings-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.calendar-settings-upload-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:12px}.calendar-settings-preview{height:140px;background:#fff;border-radius:14px;overflow:hidden;display:grid;place-items:center}.calendar-settings-preview img{width:100%;height:100%;object-fit:cover}.calendar-settings-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.calendar-settings-actions button,.calendar-settings-save{border:0;border-radius:14px;background:#111827;color:#fff;padding:10px 14px;font-weight:900;cursor:pointer}.calendar-settings-entry-list{display:grid;gap:10px;margin-top:10px}.calendar-settings-entry-row{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:8px}.calendar-settings-entry-row img{width:56px;height:56px;object-fit:cover;border-radius:12px}.calendar-settings-entry-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:#eff6ff}.calendar-settings-entry-row button{border:0;border-radius:12px;background:#fee2e2;color:#991b1b;padding:8px 10px;font-weight:900}.hidden{display:none!important}@media(max-width:1100px){.calendar-shell{grid-template-columns:1fr}.calendar-left-panel,.calendar-right-panel{position:relative;top:auto}.calendar-right-panel{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.calendar-hero-inner{align-items:flex-start;flex-direction:column}.calendar-hero-actions{justify-content:flex-start}.calendar-day{min-height:130px}}@media(max-width:720px){.calendar-page .layout{padding-left:0;padding-right:0}.calendar-hero{border-radius:0;margin-left:-10px;margin-right:-10px}.calendar-hero-inner{padding:22px 16px}.calendar-hero-avatar{width:86px;height:86px;border-radius:24px}.calendar-main{border-radius:0}.calendar-weekdays span{font-size:11px;padding:8px 2px}.calendar-day{min-height:105px;padding:5px}.calendar-entry-copy{padding:6px}.calendar-entry-actions{display:none}.calendar-form-grid,.calendar-settings-grid,.calendar-settings-upload-grid{grid-template-columns:1fr}.calendar-entry-dialog,.calendar-view-dialog{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.calendar-upload-preview{min-height:130px}.calendar-upload-preview img,.calendar-upload-preview video{height:180px}}

.calendar-detail-embed {
  margin: 12px 0;
  border-radius: 18px;
  overflow: hidden;
  background: #020617;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .18);
}
.calendar-detail-embed iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
}
.calendar-detail-body {
  margin: 12px 0;
  color: #334155;
  line-height: 1.55;
}
.calendar-detail-link a {
  color: #2563eb;
  font-weight: 800;
}
.calendar-page .layout-grid {
    display: contents;
    grid-template-columns: 220px minmax(0, 1fr) 260px;
    gap: 18px;
    width: min(1280px, calc(100% - 24px));
    margin: 18px auto;
}
.calendar-page .main-content {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.calendar-page .sidebar {
    display: flex;
    flex-direction: column;
    gap: 12px;
    visibility: hidden;
}
/* Calendar full-width wiring: hide global rails and let calendar own its layout. */
body.calendar-page .layout-grid {
  display: block !important;
  width: min(1600px, calc(100% - 24px)) !important;
  max-width: none !important;
  margin: 18px auto !important;
}
body.calendar-page .left-sidebar,
body.calendar-page .right-sidebar {
  display: none !important;
  visibility: hidden !important;
}
body.calendar-page .main-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body.calendar-page .calendar-entry-card:target {
  outline: 4px solid rgba(37, 99, 235, .55);
  box-shadow: 0 0 0 8px rgba(37, 99, 235, .12), 0 16px 38px rgba(15, 23, 42, .22);
}
