.dnmp-calendar-experience{--cal-border:var(--dnmp-managed-border,#3a3448);--cal-surface:var(--dnmp-managed-surface,#181624)}
.dnmp-calendar-mode{display:flex;gap:.45rem;flex-wrap:wrap;margin:1rem 0;padding:.35rem;border:1px solid var(--cal-border);border-radius:999px;width:max-content;max-width:100%;background:color-mix(in srgb,var(--cal-surface) 92%,transparent)}
.dnmp-calendar-mode a{padding:.55rem .95rem;border-radius:999px;text-decoration:none;font-weight:800;color:inherit}.dnmp-calendar-mode a.is-active,.dnmp-calendar-mode a[aria-current=page]{background:var(--dnmp-accent,#c99019);color:#16110a}
.dnmp-calendar-controls{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;margin:1rem 0}.dnmp-calendar-controls form{display:flex;justify-content:center;gap:.55rem}.dnmp-calendar-controls input{min-height:44px;border-radius:10px;border:1px solid var(--cal-border);padding:.55rem .7rem;background:var(--cal-surface);color:inherit}
.dnmp-calendar-filterbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.dnmp-calendar-filterbar button{min-height:42px;padding:.5rem .8rem;border:1px solid var(--cal-border);border-radius:999px;background:transparent;color:inherit;cursor:pointer;font-weight:750}.dnmp-calendar-filterbar button.is-active{border-color:var(--dnmp-accent,#c99019);background:color-mix(in srgb,var(--dnmp-accent,#c99019) 18%,transparent)}.dnmp-calendar-filterbar label{display:flex;gap:.5rem;align-items:center;margin-inline-start:auto;font-weight:700}.dnmp-calendar-filterbar input{min-height:42px;border-radius:10px;border:1px solid var(--cal-border);padding:.4rem .55rem;background:var(--cal-surface);color:inherit}
.dnmp-calendar-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.8fr);gap:1rem;align-items:start}.dnmp-calendar-days a{position:relative;min-height:92px}.dnmp-calendar-days a>b{font-size:1.05rem}.dnmp-calendar-days a>small{display:block;margin-top:.25rem;line-height:1.25}.dnmp-calendar-days a>i{font-style:normal;font-size:.78rem;margin-inline-end:.22rem}.dnmp-calendar-days a.has-festival{box-shadow:inset 0 -3px 0 #e6a72e}.dnmp-calendar-days a.has-muhurat{outline:1px solid color-mix(in srgb,#64b5f6 55%,transparent)}.dnmp-calendar-days a.is-today{box-shadow:inset 0 0 0 2px var(--dnmp-accent,#c99019)}.dnmp-calendar-days a.is-calendar-filtered{opacity:.18;pointer-events:none}
.dnmp-calendar-legend{display:flex;gap:1rem;flex-wrap:wrap;padding:.8rem 0 0;font-size:.85rem}.dnmp-calendar-legend span{display:flex;gap:.35rem;align-items:center}.dnmp-calendar-legend i{width:.7rem;height:.7rem;border-radius:50%;display:inline-block}.dnmp-calendar-legend .festival{background:#e6a72e}.dnmp-calendar-legend .muhurat{background:#64b5f6}.dnmp-calendar-legend .today{border:2px solid var(--dnmp-accent,#c99019)}
.dnmp-calendar-highlights{position:sticky;top:1rem}.dnmp-calendar-highlights [data-calendar-highlights]{display:grid;gap:.55rem}.dnmp-calendar-highlights [data-calendar-highlight]{display:grid;grid-template-columns:44px 1fr;gap:.65rem;padding:.65rem;border:1px solid var(--cal-border);border-radius:12px;text-decoration:none;color:inherit}.dnmp-calendar-highlights time{display:grid;place-items:center;min-height:40px;border-radius:10px;background:color-mix(in srgb,var(--dnmp-accent,#c99019) 14%,transparent);font-weight:900}.dnmp-calendar-highlights small,.dnmp-calendar-highlights strong{display:block}.dnmp-calendar-highlights [data-calendar-highlight].is-calendar-filtered{display:none}
.dnmp-calendar-authority{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0;padding:.9rem 1rem;border:1px solid var(--cal-border);border-radius:12px;background:color-mix(in srgb,var(--cal-surface) 92%,transparent);font-size:.9rem;line-height:1.5}.dnmp-calendar-authority strong{white-space:nowrap}
.dnmp-year-month[data-calendar-year-month]{scroll-margin-top:1rem}
@media(max-width:820px){.dnmp-calendar-layout{grid-template-columns:1fr}.dnmp-calendar-highlights{position:static}.dnmp-calendar-controls{grid-template-columns:1fr 1fr}.dnmp-calendar-controls form{grid-column:1/-1;grid-row:1}.dnmp-calendar-filterbar label{margin-inline-start:0;width:100%}.dnmp-calendar-days a{min-height:76px}}
@media(max-width:520px){.dnmp-calendar-mode{width:100%;display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.dnmp-calendar-mode a{padding:.55rem .4rem}.dnmp-calendar-controls{display:flex;flex-wrap:wrap}.dnmp-calendar-controls form{order:-1;width:100%}.dnmp-calendar-controls form input{min-width:0;flex:1}.dnmp-calendar-controls>a{flex:1;text-align:center}.dnmp-calendar-days a{min-height:64px;padding:.35rem}.dnmp-calendar-days a>small{font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dnmp-calendar-days a>i{font-size:.68rem}.dnmp-calendar-authority{display:block}.dnmp-calendar-authority strong{display:block;margin-bottom:.25rem}}
/* Repair17B: mobile-first date event drawer; presentation only over published annual records. */
.dnmp-calendar-event-dialog{width:min(680px,calc(100vw - 28px));max-height:min(82vh,760px);padding:0;border:1px solid var(--dnmp-border);border-radius:18px;background:var(--dnmp-bg);color:var(--dnmp-text);box-shadow:0 24px 70px rgba(0,0,0,.28)}.dnmp-calendar-event-dialog::backdrop{background:rgba(10,8,17,.62);backdrop-filter:blur(2px)}.dnmp-calendar-event-dialog__panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:inherit}.dnmp-calendar-event-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--dnmp-border)}.dnmp-calendar-event-dialog h2{margin:.15rem 0 0;font-size:1.25rem}.dnmp-calendar-event-dialog__close{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border:1px solid var(--dnmp-border);border-radius:50%;background:var(--dnmp-alt);color:var(--dnmp-text);font-size:1.6rem;line-height:1;cursor:pointer}.dnmp-calendar-event-dialog__items{display:grid;gap:.7rem;padding:1rem 1.1rem;overflow:auto}.dnmp-calendar-event-item{padding:.85rem .9rem;border:1px solid var(--dnmp-border);border-radius:12px;background:var(--dnmp-alt)}.dnmp-calendar-event-item__meta{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-bottom:.35rem}.dnmp-calendar-event-item__meta span{display:inline-flex;padding:.18rem .55rem;border-radius:999px;font-size:.76rem;font-weight:800}.dnmp-calendar-event-item__meta span.is-festival{background:color-mix(in srgb,#e6a72e 18%,transparent);color:color-mix(in srgb,#e6a72e 75%,var(--dnmp-text))}.dnmp-calendar-event-item__meta span.is-muhurat{background:color-mix(in srgb,#64b5f6 18%,transparent);color:color-mix(in srgb,#64b5f6 75%,var(--dnmp-text))}.dnmp-calendar-event-item__meta small{color:var(--dnmp-muted)}.dnmp-calendar-event-item__title{display:block;color:var(--dnmp-text);font-weight:850;text-decoration:none}.dnmp-calendar-event-item__title:hover{text-decoration:underline}.dnmp-calendar-event-dialog footer{display:flex;gap:.55rem;flex-wrap:wrap;padding:1rem 1.1rem;border-top:1px solid var(--dnmp-border);background:color-mix(in srgb,var(--dnmp-alt) 70%,transparent)}.dnmp-calendar-event-dialog footer .dnmp-button{flex:1 1 170px;text-align:center}.dnmp-calendar-days a[data-calendar-date],.dnmp-year-days a[data-calendar-date]{cursor:pointer}
@media(max-width:520px){.dnmp-calendar-event-dialog{width:calc(100vw - 16px);max-height:88dvh;border-radius:14px}.dnmp-calendar-event-dialog header,.dnmp-calendar-event-dialog__items,.dnmp-calendar-event-dialog footer{padding:.8rem}.dnmp-calendar-event-dialog footer{display:grid;grid-template-columns:1fr}.dnmp-calendar-event-dialog footer .dnmp-button{width:100%}}
