.employee-picker{display:grid;gap:7px}
.employee-picker-label{font-size:13px;color:#596961}
.employee-picker-rows{display:grid;gap:8px}
.employee-picker-row{display:flex;gap:8px;align-items:center}
.employee-picker-row select{flex:1;margin:0}
.employee-picker-remove{flex:0 0 auto;padding:9px 12px;color:#a24a43;border-color:#e7caca}
.employee-picker-add{justify-self:start;font-size:12px;padding:7px 12px}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}
.calendar-toolbar form{display:flex;gap:10px;align-items:center}
.segmented{display:flex;flex-direction:row;flex-wrap:nowrap;height:40px}
.segmented a{display:grid;place-items:center;border:1px solid #cad6cf;color:var(--ink);text-decoration:none;border-radius:0;white-space:nowrap;writing-mode:horizontal-tb;min-width:96px;height:40px;padding:8px 14px;line-height:1.2}
.segmented a:first-child{border-radius:8px 0 0 8px}
.segmented a:last-child{border-radius:0 8px 8px 0;border-left:0}
.segmented .active{background:var(--green);color:#fff}
.calendar-nav{display:flex;align-items:center;gap:14px;font-family:"Yu Gothic UI","Meiryo",sans-serif}
.calendar-nav a{text-decoration:none;border:1px solid var(--line);border-radius:7px;padding:7px 10px}
.calendar{padding:0;overflow:hidden}
.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.weekdays>div{text-align:center;padding:10px;background:#f4f7f5;font-size:12px;color:var(--muted);border-right:1px solid var(--line)}
.calendar-day{min-height:145px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:7px;overflow:hidden}
.calendar-day.day-clickable{cursor:pointer}
.calendar-day.day-clickable:hover{background:#f4f9f6}
.calendar.week .calendar-day{min-height:170px;height:auto;overflow:visible}
.department-weekly{display:grid;gap:14px}.person-week{margin-bottom:0}.person-week-name{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--mint);color:var(--ink);font-weight:bold;font-size:14px;border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-week-name small{font-weight:normal;color:var(--muted)}
.calendar-day.outside{background:#fafafa;color:#abb4af}
.calendar-day.weekend{background:#fcf8f5}
.calendar-day.holiday{background:#fff7f7}
.day-number{font:14px "Yu Gothic UI","Meiryo",sans-serif;margin-bottom:5px;display:flex;align-items:center;gap:6px;min-height:20px}
.day-number small{font:10px "Yu Gothic UI","Meiryo",sans-serif;color:#b23b3b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-day.holiday .day-number>span{color:#b23b3b;font-weight:bold}
.event{position:relative;background:var(--mint);border-left:3px solid var(--green);border-radius:5px;padding:5px 18px 5px 6px;margin:4px 0;font-size:11px;display:grid;min-height:48px}
.event-link{color:var(--ink);text-decoration:none}.event-link:hover{filter:brightness(.97);box-shadow:0 1px 4px #173f3220}
.calendar.week .event{min-height:58px;padding-top:7px;padding-bottom:7px}
.important-event{background:#fff2df;border-left-color:#d28a26}
.event time{color:var(--green);font-family:"Yu Gothic UI","Meiryo",sans-serif;font-variant-numeric:tabular-nums}
.event b,.event small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event form{position:absolute;right:2px;top:2px}
.event button{border:0;background:none;padding:1px 4px;color:#788}
.dialog-head{grid-column:1/-1;display:flex;justify-content:space-between}
dialog{border:0;border-radius:16px;box-shadow:0 20px 80px #173f3255;width:min(760px,92vw)}
dialog::backdrop{background:#173f3266}
.checkbox{display:flex;grid-column:1/-1;align-items:center;grid-template-columns:auto 1fr}
.checkbox input{width:auto}
.schedule-print-title,.schedule-print-summary{display:none}
@media(max-width:900px){.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-toolbar form{flex-wrap:wrap}.segmented{height:38px}.segmented a{height:38px;min-width:90px}.calendar{overflow:auto}.weekdays,.calendar-grid{min-width:800px}.calendar.week .calendar-day{min-height:150px}}
@media(max-width:640px){.schedule-calendar-area.calendar,.schedule-calendar-area .calendar{overflow:hidden}.schedule-calendar-area .weekdays,.schedule-calendar-area .calendar-grid{min-width:0}}

@media print{
  @page{size:A4 landscape;margin:8mm}
  body>aside,main>header,.calendar-toolbar,dialog{display:none!important}
  main{margin:0!important;padding:0!important;width:100%!important}
  .schedule-print-title,.schedule-print-summary{display:none!important}
  .schedule-print-title{border-bottom:2px solid #333;margin-bottom:3mm}.schedule-print-title h1{font-size:16pt;margin:0}.schedule-print-title p{margin:1mm 0 2mm;color:#333}
  main>section.schedule-calendar-area{display:block!important}
  .schedule-calendar-area,.schedule-calendar-area .calendar{display:block!important;box-shadow:none!important;border:1px solid #777!important;margin:0 0 4mm!important;overflow:visible!important}
  .weekdays,.calendar-grid{min-width:0!important}
  .calendar-day{min-height:21mm!important;padding:1.5mm!important;break-inside:avoid}
  .calendar.week .calendar-day{min-height:34mm!important}
  .event{min-height:0!important;padding:1mm!important;margin:.7mm 0!important;border-radius:0;font-size:7pt}
  .event small{display:none}.event b,.event time{white-space:normal}
  .department-weekly{display:block!important}.person-week{break-inside:avoid;page-break-inside:avoid;margin-bottom:5mm!important}
  .schedule-print-summary{page-break-before:auto;margin-top:4mm}.schedule-print-summary>h2{font-size:13pt;margin:0 0 1mm}.schedule-print-summary>p{margin:0 0 3mm;color:#333}
  .print-summary-person{break-inside:avoid;page-break-inside:avoid;margin-bottom:4mm}.print-summary-person h3{font-size:10pt;margin:0 0 1mm}.print-summary-person h3 small{font-weight:normal;color:#333}
  .print-summary-person table{min-width:0!important;margin:0;table-layout:fixed}.print-summary-person th,.print-summary-person td{border:1px solid #888;padding:1.2mm;font-size:7.5pt}.print-summary-person th{background:#eee;color:#222}
}
