.cal-container { margin-top: 1.25rem; color: #29232a; }
.cal-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.cal-title { margin: 0; font-size: 1.2rem; text-transform: capitalize; }
.cal-navigation { display: flex; gap: .4rem; }
.cal-nav { min-width: 44px; min-height: 44px; border: 1px solid #d9ccd3; border-radius: .6rem; background: white; color: #97165b; font-size: 1.5rem; cursor: pointer; }
.cal-nav:disabled { opacity: .4; cursor: default; }
.cal-hint { color: #665a63; font-size: .85rem; margin: .6rem 0 1rem; }
.cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .35rem; }
.cal-weekday { text-align: center; padding: .4rem 0; font-size: .85rem; font-weight: 700; color: #665a63; }
.cal-day { display: flex; flex-direction: column; align-items: stretch; gap: .3rem; min-width: 0; min-height: 100px; padding: .6rem; background: white; border: 1px solid #e5dce1; border-radius: .5rem; text-align: left; color: inherit; cursor: pointer; font: inherit; }
.cal-day:hover { background: #faf1f6; border-color: #97165b; }
.cal-day.cal-selected { border-color: #97165b; background: #f8eaf2; box-shadow: inset 0 0 0 1px #97165b; }
.cal-day:focus-visible, .cal-nav:focus-visible { outline: 3px solid #97165b; outline-offset: 2px; }
.cal-day-number { font-size: .9rem; font-weight: 700; }
.cal-preview { display: block; padding: .2rem .3rem; border-radius: .25rem; background: #f1dae7; color: #701143; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .75rem; }
.cal-preview-unconfirmed { background: #fff0cf; color: #654a13; }
.cal-more { color: #665a63; font-size: .7rem; }
.cal-count { display: none; color: #701143; font-size: .65rem; }
.cal-details { margin-top: 1rem; padding: 1rem; background: #faf7f9; border: 1px solid #e5dce1; border-radius: .7rem; }
.cal-detail-title { margin: 0 0 .75rem; font-size: 1rem; }
.cal-event-list { margin: 0; padding: 0; list-style: none; display: grid; gap: .75rem; }
.cal-event { padding: .85rem; border: 1px solid #e5dce1; border-radius: .5rem; background: white; overflow-wrap: anywhere; }
.cal-event-title { margin: 0 0 .4rem; font-size: 1rem; }
.cal-event-time, .cal-event-range, .cal-event-location, .cal-event-description { margin: .4rem 0 0; font-size: .9rem; }
.cal-event-description { white-space: pre-wrap; }
.cal-unconfirmed { display: inline-block; padding: .25rem .4rem; background: #fff0cf; color: #654a13; border-radius: .25rem; font-size: .8rem; }
.cal-empty { margin: .5rem 0; color: #665a63; }
@media (max-width: 620px) {
  .cal-grid { gap: .2rem; }
  .cal-day { min-height: 62px; padding: .35rem .2rem; align-items: center; }
  .cal-preview, .cal-more { display: none; }
  .cal-count { display: block; }
  .cal-weekday { font-size: .75rem; }
  .cal-details { padding: .7rem; }
  .cal-title { font-size: 1.05rem; }
}

#calendar-settings{padding:20px 24px;border-top:1px solid #e0e7ec}#time-basis{display:block;width:100%;max-width:400px;padding:12px;border:1px solid #d5e2e9;border-radius:8px;background:white;color:#193749;margin-top:8px}.viewer-toolbar{flex-wrap:wrap;gap:16px}.actions{flex-wrap:wrap}#parse-state{font-size:14px;color:#647c8b}
.cal-container{padding:20px 24px;margin-top:0;color:#193344}.actions{max-width:100%;flex-shrink:1}.viewer-toolbar>div{min-width:0}.actions .button{white-space:normal}
@media(max-width:620px){.cal-container{padding:18px 12px}.actions{width:100%}.viewer-toolbar{padding:20px 16px}}
#export-dialog{width:calc(100% - 32px);max-width:440px}#export-time-basis{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #d5e2e9;border-radius:8px;font:inherit;background:#fff;color:#193344}
