/* Seishin Academy calendar v1153.
   Restore full-width layout; put details in viewport-fixed overlay without resizing the months. */
#web-calendar{display:block;width:min(1360px,100%)}
#calendar-results{display:grid;gap:18px;width:100%;min-width:0}
#calendar-extra{width:100%}
#calendar-drawer-host{position:static!important;display:block!important;width:0!important;height:0!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important}
#calendar-drawer-host:empty{display:none!important}
#calendar-drawer-host .calendar-drawer{position:fixed!important;top:9px!important;bottom:9px!important;right:9px!important;left:auto!important;width:min(425px,calc(100vw - 18px))!important;height:auto!important;max-height:calc(100dvh - 18px)!important;display:flex!important;flex-direction:column!important;border:1px solid #d3dfd7!important;border-radius:17px!important;box-shadow:0 16px 52px rgba(18,46,37,.23)!important;background:#f8fbf8!important;z-index:1100!important}
#calendar-drawer-host .drawer-head{border-radius:16px 16px 0 0;flex:none}
#calendar-drawer-host .drawer-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain}
.drawer-day-mark{font-size:13px;font-weight:700;color:#1a604e;margin:6px 0 0;overflow-wrap:anywhere}
.drawer-day-mark[hidden]{display:none}
.drawer-head.day-color-accent{border-left:5px solid var(--day-custom-color,#276c55);padding-left:15px}
.calendar-help{margin:3px 0 13px;color:#526c60;font-size:12px}
@media (min-width:900px){
  #calendar-drawer-host .drawer-shade{display:none!important}
  body.drawer-open{overflow:auto!important}
}
@media (max-width:899px){
  #calendar-drawer-host .drawer-shade{position:fixed!important;inset:0!important;z-index:1090!important;background:rgba(8,33,27,.40)!important}
  #calendar-drawer-host .calendar-drawer{top:0!important;right:0!important;bottom:0!important;width:min(450px,100%)!important;max-height:100dvh!important;border-radius:14px 0 0 14px!important}
}
/* Compact day marks – never enlarge the calendar into capsules. */
.calendar-day{position:relative;transition:border-color .14s,background-color .14s,box-shadow .14s}
.calendar-day.has-custom-color{background:var(--day-custom-bg,#e3f2e9)!important;border-color:var(--day-custom-color,#41836a)!important;box-shadow:inset 0 0 0 1px var(--day-custom-color,#41836a)!important}
.calendar-day.has-custom-color::after{content:none!important}
.day-mark-row{min-height:17px;display:flex;align-items:center;gap:2px;max-width:100%;margin:0 3px 2px;padding:1px 3px;border-radius:4px;background:rgba(255,255,255,.68);color:#234b40;font-size:10px;line-height:1.18;font-weight:700;white-space:nowrap;overflow:hidden}
.day-mark-icon{flex:0 0 auto;font-size:12px;line-height:1}
.day-mark-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.calendar-day.has-custom-color .day-mark-row{background:rgba(255,255,255,.66)}
/* Context help is a floating utility, not a layout column. */
.calendar-hover-tooltip{position:fixed;z-index:1300;width:max-content;max-width:min(342px,calc(100vw - 24px));padding:12px 14px;background:rgba(15,44,35,.97);color:#fff;border-radius:13px;box-shadow:0 14px 32px rgba(10,30,24,.23);line-height:1.45;font-size:12px;pointer-events:none;overflow-wrap:anywhere}
.calendar-hover-tooltip[hidden]{display:none!important}
.calendar-hover-tooltip strong{display:block;font-size:13px;margin-bottom:4px}
.calendar-hover-tooltip ul{margin:6px 0 0;padding-left:17px}
.calendar-hover-tooltip li{margin:3px 0}
.tooltip-mark{font-weight:760;color:#f4dd9c;margin:4px 0}
.tooltip-weekend{color:#bde9cc;margin:4px 0}
.tooltip-empty{color:#cadbd2;margin:5px 0 0}
/* Day marking editor (right click / keyboard context-menu). */
.calendar-context-menu{position:fixed;z-index:1400;width:min(322px,calc(100vw - 22px));max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;padding:15px;background:#fff;color:#203f36;border:1px solid #cfded4;border-radius:14px;box-shadow:0 18px 44px rgba(12,40,32,.23)}
.calendar-context-menu[hidden]{display:none!important}
.mark-menu-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:8px;border-bottom:1px solid #e2ebe6}
.mark-menu-head h3{font-size:16px;line-height:1.3;margin:0}
.mark-menu-head span{font-size:11px;color:#597269;white-space:nowrap}
.mark-menu-group{margin-top:12px}
.mark-menu-group-title{font-size:12px;font-weight:750;margin:0 0 7px}
.calendar-color-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px}
.calendar-color-chip,.calendar-icon-option{border:1px solid rgba(34,69,54,.19);padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.calendar-color-chip{width:100%;min-height:29px;height:29px;border-radius:7px;background:#fff;color:#4a6458;font-size:19px}
.calendar-color-chip[aria-pressed=true],.calendar-icon-option[aria-pressed=true]{outline:2px solid #17694e;outline-offset:1px;border-color:#17694e;background-color:#ebf7f0}
.calendar-icon-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.calendar-icon-option{width:100%;height:38px;min-height:38px;border-radius:8px;font-size:20px;background:#f7f9f8;color:#47665c}
.mark-menu-label{display:grid;gap:6px;margin:13px 0 0;font-size:12px;font-weight:750}
.mark-menu-label input{font-weight:400;font-size:13px;width:100%;min-width:0;min-height:39px;height:39px}
.mark-menu-actions{display:grid;grid-template-columns:1.4fr 1fr;gap:7px;margin-top:12px}
.mark-menu-save,.mark-menu-clear{width:100%;min-height:39px;font-size:12px;border-radius:9px;padding:7px 9px}
.mark-menu-save{background:#17624f!important;color:white!important;border-color:#17624f!important}
.mark-menu-clear{background:white;color:#485e55}
.mark-menu-status{font-size:12px;margin:6px 0 0;color:#96441b}
.mark-menu-status:empty{display:none}
.calendar-context-menu button:focus-visible{outline:3px solid #c69a40;outline-offset:2px}
@media (max-width:600px){
  .day-mark-row{margin:0 1px 2px;padding:1px 2px;min-height:13px;font-size:9px}
  .day-mark-icon{font-size:10px}
}
@media (prefers-reduced-motion:reduce){.calendar-day{transition:none}}
