/* Event details only: calendar sizing, lanes and pinch settings are untouched. */
#calendar-editor-dialog .calendar-time-select-fields{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}
#calendar-editor-dialog .calendar-time-select-fields input[type=date]{flex:1 1 140px;min-width:0;width:auto}
#calendar-editor-dialog .calendar-time-select-fields select{flex:1 1 90px;min-width:85px;width:auto}
#calendar-editor-dialog input::placeholder,#calendar-editor-dialog textarea::placeholder{color:#767676;opacity:1;font-size:14px}
#shared-event-dialog .calendar-event-actions .calendar-event-duplicate,
#shared-event-dialog .calendar-event-actions .calendar-event-reassign,
#shared-event-dialog .calendar-event-actions .calendar-event-delete{width:auto!important;min-width:44px!important;margin:0!important;padding:7px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#4b4546!important;font:13px/1 sans-serif!important;white-space:nowrap!important;word-break:keep-all!important;writing-mode:horizontal-tb!important}
/* Attendance is a narrow rail, not an additional reservation/staff column. */
#shared-fullcalendar .gh-attendance-harness{min-width:0!important;z-index:5}
#shared-fullcalendar .gh-attendance-harness .fc-event{min-width:0!important;overflow:hidden;cursor:pointer}
#shared-fullcalendar .gh-attendance-label{display:block;writing-mode:vertical-rl;margin:4px auto;font-size:12px;line-height:18px;letter-spacing:3px;white-space:nowrap}
#calendar-editor-dialog .calendar-attendance-form{display:flex;flex-direction:column}
#calendar-editor-dialog .calendar-attendance-form input[readonly]{color:#d93025}
@media(max-width:700px){#shared-fullcalendar div:has(>button[aria-label="小林・出勤"]){flex-wrap:wrap!important;max-width:100%;width:100%;row-gap:4px}}
#shared-event-dialog h2{padding-top:68px!important;padding-right:24px!important;font-weight:500;line-height:1.5}
#shared-event-dialog .calendar-event-actions{position:absolute;top:10px;right:14px;display:flex;gap:4px;z-index:3}
#shared-event-dialog .calendar-event-actions .calendar-event-action{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:#4b4546;font:28px/1 sans-serif;cursor:pointer}
#shared-event-dialog .calendar-event-actions .calendar-event-action:hover{background:#e8e5e5}
#shared-event-dialog .calendar-event-actions .calendar-event-action:focus-visible{outline:2px solid #3979c8;outline-offset:2px}
#shared-event-dialog [data-detail-description]{white-space:pre-wrap;overflow-wrap:anywhere}
#shared-event-dialog .calendar-detail-inline-link{overflow-wrap:anywhere;color:#2865aa}
#shared-event-dialog .calendar-detail-load-error{font-size:14px;color:#a23838}
#calendar-editor-dialog [data-calendar-detail-form]{display:grid;gap:0}
#calendar-editor-dialog [data-calendar-detail-form][hidden]{display:none}
#shared-event-dialog .calendar-location-link{color:inherit;text-decoration:underline;text-decoration-color:#c3c6ca;text-underline-offset:3px}
/* A closed palette occupies only a single colour dot, never a grid of choices. */
#calendar-editor-dialog .calendar-color-compact{position:relative;display:block;min-width:0;padding:0 0 0 70px;border:0;overflow:visible}
#calendar-editor-dialog .calendar-color-compact legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}
#calendar-editor-dialog .calendar-color-trigger{display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:36px;min-height:36px;margin:0;padding:6px;border:0;border-radius:50%;background:transparent;cursor:pointer}
#calendar-editor-dialog .calendar-color-trigger:hover{background:#e8e5e5}
#calendar-editor-dialog .calendar-color-trigger:focus-visible{outline:2px solid #3979c8}
#calendar-editor-dialog .calendar-color-popover{position:absolute;top:38px;left:70px;z-index:8;box-sizing:border-box;width:min(360px,calc(100vw - 110px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:12px;border:1px solid #dadce0;border-radius:12px;background:#fff;box-shadow:0 6px 24px #17233b33}
#calendar-editor-dialog .calendar-color-popover[hidden]{display:none!important}
#calendar-editor-dialog .calendar-color-popover .calendar-editor-color-option{font-size:.85rem;min-height:42px;padding:6px;border:1px solid #ddd;line-height:1.3}
#calendar-editor-dialog .calendar-color-native{display:flex;align-items:center;gap:10px;padding:10px 28px 10px 70px}
#calendar-editor-dialog .calendar-color-native legend{float:none;width:100%;margin:0 0 4px}
#calendar-editor-dialog .calendar-color-native-preview{width:28px;height:28px;flex-basis:28px}
#calendar-editor-dialog .calendar-color-native-select{min-width:0;min-height:44px;flex:1;padding:8px 12px;border:1px solid #bfc7d1;border-radius:8px;background:#fff;color:#202124;font:inherit}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-color-native{position:relative;top:auto;left:auto;width:auto;height:auto;margin:0 28px;padding:10px 0 10px 48px}
/* Same geometry/order as the detail sheet. No inner scrollbar in the description. */
#calendar-editor-dialog.calendar-editor-same-layout{width:min(var(--calendar-detail-editor-width,560px),calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0 0 24px;border-radius:24px;background:#fffafa;color:#202124}
#calendar-editor-dialog.calendar-editor-same-layout::before{display:none}
#calendar-editor-dialog.calendar-editor-same-layout > .dialog-close{top:14px;left:14px;width:40px;height:40px}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-status:empty{display:none}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-status:not(:empty){margin:64px 28px 0}
#calendar-editor-dialog.calendar-editor-same-layout form{position:relative;display:flex;flex-direction:column;gap:0}
#calendar-editor-dialog.calendar-editor-same-layout form .confirm-button{position:absolute;top:14px;right:18px}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-title-field{display:block;min-height:82px;padding:68px 24px 14px 110px;border:0;font-size:0;line-height:1.5}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-title-field input,
#calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-title-field textarea{min-height:32px;padding:0;font-size:1.55rem;font-weight:500;line-height:1.5}
#calendar-editor-dialog.calendar-editor-same-layout textarea{display:block;box-sizing:border-box;width:100%;min-height:32px;max-height:none;resize:none;overflow:hidden;font:inherit;line-height:1.65;white-space:pre-wrap}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-color-compact{position:absolute;top:68px;left:67px;padding:0;width:36px;height:36px}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-color-popover{left:0}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-color-trigger .calendar-editor-color-swatch{width:18px;height:18px;flex-basis:18px;border-radius:5px}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-inline-row,
#calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-person-field,
#calendar-editor-dialog.calendar-editor-same-layout label.calendar-inline-location,
#calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-wide{position:relative;display:block;box-sizing:border-box;min-height:44px;margin:0 28px;padding:10px 0 10px 48px;border:0;color:#202124;font-size:1rem;font-weight:400;line-height:1.65}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-inline-row::before,
#calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-person-field::before,
#calendar-editor-dialog.calendar-editor-same-layout label.calendar-inline-location::before,
#calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-wide::before{position:absolute;top:10px;left:10px;width:23px;transform:none;color:#5f6368;text-align:center;font-size:1rem}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-inline-time{padding-top:2px;padding-bottom:18px;font-weight:600}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-inline-time::before{top:2px;content:'◷'}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-inline-staff::before{content:'♙'}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-inline-location::before{content:'⌖'}
#calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-wide{margin-top:8px;border-top:1px solid #ebe8e8}
#calendar-editor-dialog.calendar-editor-same-layout label.calendar-editor-wide,
#calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-person-field,
#calendar-editor-dialog.calendar-editor-same-layout label.calendar-inline-location{font-size:0}
#calendar-editor-dialog.calendar-editor-same-layout label.calendar-editor-wide textarea,
#calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-person-field select,
#calendar-editor-dialog.calendar-editor-same-layout label.calendar-inline-location input{font-size:1rem;line-height:1.65;padding:0}
#calendar-editor-dialog.calendar-editor-same-layout input,
#calendar-editor-dialog.calendar-editor-same-layout select,
#calendar-editor-dialog.calendar-editor-same-layout textarea{border-bottom:1px solid transparent}
#calendar-editor-dialog.calendar-editor-same-layout input:hover,
#calendar-editor-dialog.calendar-editor-same-layout select:hover,
#calendar-editor-dialog.calendar-editor-same-layout textarea:hover{border-bottom-color:#dadce0}
#calendar-editor-dialog.calendar-editor-same-layout input:focus,
#calendar-editor-dialog.calendar-editor-same-layout select:focus,
#calendar-editor-dialog.calendar-editor-same-layout textarea:focus{border-bottom:1px solid #3979c8}
#calendar-editor-dialog .calendar-inline-change{display:inline;padding:2px 8px;margin:0 0 0 8px;min-height:0;min-width:0;background:transparent;color:#2865aa;border:0;font-size:.8rem;cursor:pointer}
#calendar-editor-dialog .calendar-inline-return{margin:12px 28px;padding:10px;border:1px solid #dadce0;border-radius:8px;background:#fff;color:#2865aa;font:inherit}
#calendar-editor-dialog .calendar-inline-manual-time{margin:0 28px;padding:2px 0 18px 48px}
#calendar-editor-dialog .calendar-inline-manual-time label{display:flex;flex-wrap:wrap;gap:8px;min-height:34px;margin:0;padding:2px 0;border:0;font-size:.85rem}
#calendar-editor-dialog .calendar-inline-manual-time label::before{display:none}
#calendar-editor-dialog .calendar-inline-manual-time label[hidden]{display:none}
#calendar-editor-dialog .calendar-inline-manual-time input:not([type=checkbox]){width:auto;max-width:100%;font-size:1rem}
#calendar-editor-dialog .calendar-change-message-panel{display:grid;gap:14px;padding:8px 28px 28px}
#calendar-editor-dialog .calendar-change-message-panel p{margin:0;color:#444}
#calendar-editor-dialog .calendar-change-message-panel textarea{box-sizing:border-box;width:100%;min-height:300px;padding:14px;border:1px solid #c8c8c8;border-radius:10px;background:#fff;resize:vertical;font:inherit;line-height:1.65;white-space:pre-wrap}
#calendar-editor-dialog .calendar-change-message-actions{display:flex;flex-wrap:wrap;gap:10px}
#calendar-editor-dialog .calendar-change-message-actions button{min-height:44px}
@media(max-width:700px){
  #calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-title-field{padding-left:102px;min-height:74px;padding-bottom:12px}
  #calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-title-field input,
  #calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-title-field textarea{font-size:1.38rem}
  #calendar-editor-dialog.calendar-editor-same-layout .calendar-color-compact{left:59px}
  #calendar-editor-dialog.calendar-editor-same-layout .calendar-inline-row,
  #calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-person-field,
  #calendar-editor-dialog.calendar-editor-same-layout label.calendar-inline-location,
  #calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-wide{margin-left:20px;margin-right:20px;padding-left:44px;font-size:.98rem;line-height:1.7}
  #calendar-editor-dialog.calendar-editor-same-layout label.calendar-editor-wide,
  #calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-person-field,
  #calendar-editor-dialog.calendar-editor-same-layout label.calendar-inline-location{font-size:0}
  #calendar-editor-dialog.calendar-editor-same-layout .calendar-editor-wide textarea{font-size:.98rem;line-height:1.7}
  #calendar-editor-dialog .calendar-inline-manual-time{margin-left:20px;margin-right:20px;padding-left:44px}
  #calendar-editor-dialog .calendar-change-message-panel{padding-left:20px;padding-right:20px}
  #calendar-editor-dialog .calendar-change-message-panel textarea{min-height:260px}
}

/* Staff columns and the attendance gutter must work under the authenticated page CSP. */
#shared-fullcalendar [data-gh-calendar-lane-event]{inset-inline-start:var(--gh-calendar-lane-start)!important;inset-inline-end:var(--gh-calendar-lane-end)!important;margin-inline:0!important;}

