:root{font-family:"Yu Gothic UI","Meiryo",sans-serif;color:#20242a;background:#f4f6f9}*{box-sizing:border-box}body{margin:0}.hide{display:none!important}button,input,select,textarea{font:inherit}button{border:1px solid #ccd3dc;background:#fff;border-radius:7px;padding:7px 11px;cursor:pointer}button:hover{background:#f0f5fb}.primary{background:#2f80ed;color:#fff;border-color:#2f80ed}.danger{background:#fff0f0;color:#b42318;border-color:#efb4b4}.wide{width:100%;padding:11px}.topbar{height:66px;background:#fff;border-bottom:1px solid #dde2e8;display:flex;align-items:center;justify-content:space-between;padding:0 22px}.topbar h1{display:inline;margin:0 12px 0 0;font-size:21px}.topbar span{color:#68717d}.top-actions{display:flex;align-items:center;gap:12px}.app{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 66px)}aside{background:#fff;border-right:1px solid #dde2e8;padding:16px;overflow:auto}aside section{margin-top:24px}aside h2{font-size:15px}.section-head{display:flex;align-items:center;justify-content:space-between}.calendar-choice{display:flex;gap:8px;align-items:center;margin:7px 0}.calendar-choice input{width:auto}.calendar-dot{width:11px;height:11px;border-radius:50%}.calendar-area{padding:18px;min-width:0}.calendar-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:12px}.calendar-toolbar h2{margin:0}.calendar-toolbar>div:last-child{text-align:right}.view-tabs button.active{background:#2f80ed;color:#fff}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));background:#dce1e8;gap:1px;border:1px solid #dce1e8}.weekday,.month-day{background:#fff}.weekday{text-align:center;padding:7px;font-weight:700}.month-day{min-height:125px;padding:5px;overflow:hidden}.month-day.other{background:#f8f9fb;color:#9aa1aa}.month-day.today .day-number{background:#2f80ed;color:#fff}.day-number{display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;border-radius:50%}.event-chip{display:block;color:#fff;border:0;border-radius:4px;padding:3px 5px;margin:3px 0;text-align:left;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.week-grid{display:grid;grid-template-columns:70px repeat(7,minmax(125px,1fr));border:1px solid #dce1e8;background:#dce1e8;gap:1px}.week-cell{background:#fff;min-height:70px;padding:5px}.week-head{background:#f7f9fc;font-weight:700;text-align:center}.time-label{background:#f7f9fc;color:#667085;font-size:12px}.day-view,.list-view{background:#fff;border:1px solid #dce1e8;border-radius:8px}.list-row{display:grid;grid-template-columns:150px 12px 1fr 160px;gap:12px;padding:12px;border-bottom:1px solid #edf0f4;align-items:center}.list-row:last-child{border:0}.center-card{max-width:520px;margin:80px auto;background:#fff;padding:30px;border-radius:12px}dialog{border:0;border-radius:12px;padding:0;box-shadow:0 20px 60px #0004;width:min(620px,94vw)}dialog::backdrop{background:#0006}dialog form{padding:22px}label{display:block;margin:10px 0;font-weight:600}input,select,textarea{display:block;width:100%;border:1px solid #cbd2da;border-radius:7px;padding:8px;background:#fff}.inline-check{display:flex;align-items:center;gap:8px}.inline-check input{width:auto}.date-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:18px}.dialog-actions span{flex:1}.error{color:#b42318;margin-top:8px}.comments{border-top:1px solid #e2e6eb;margin-top:16px}.comment{background:#f6f8fb;padding:8px;margin:6px 0;border-radius:6px}.comment small{color:#68717d}.comment-input{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}@media(max-width:850px){.app{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid #ddd}.month-grid{grid-template-columns:repeat(7,minmax(80px,1fr));overflow:auto}.calendar-toolbar{grid-template-columns:1fr}.calendar-toolbar>*{margin:5px 0}.list-row{grid-template-columns:1fr}}
/* カレンダーの罫線は背景色やgapに依存せず常に表示する。 */
.weekday,.month-day,.week-cell{border:1px solid #dce1e8}
.weekday.saturday,.month-day.saturday,.week-cell.saturday{background:#eef6ff;color:#175ea8}.weekday.sunday,.month-day.sunday,.week-cell.sunday{background:#fff1f1;color:#b42318}.month-day.company-holiday,.week-cell.company-holiday,.day-view.company-holiday{background:#ffe8e8;color:#a51515}.holiday-name{display:inline-block;margin-left:5px;font-size:11px;font-weight:700;color:#b42318}.week-head small{display:block;margin-top:3px;color:#b42318}#holidaySettingsButton{margin-top:8px;background:#fff7ed;border-color:#fdba74;color:#9a3412}#holidayList{margin-top:16px;max-height:320px;overflow:auto}#holidayList table{width:100%;border-collapse:collapse}#holidayList th,#holidayList td{padding:7px;border-bottom:1px solid #e5e7eb;text-align:left}
.print-settings label{font-size:12px}.view-tabs{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:4px}.print-toolbar{display:flex;justify-content:flex-end;align-items:end;gap:8px;margin:0 0 12px}.print-toolbar label{margin:0;min-width:90px}.print-toolbar select{padding:6px}#printHeading{display:none}.multi-months{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:12px}.multi-months.multi-12{grid-template-columns:repeat(3,minmax(230px,1fr))}.mini-month{background:#fff;border:1px solid #cfd7e3;border-radius:8px;overflow:hidden}.mini-month h3{text-align:center;margin:0;padding:7px;background:#f3f6fa;font-size:15px}.mini-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#dce1e8}.mini-weekday,.mini-day{background:#fff;min-width:0;padding:3px}.mini-weekday{text-align:center;font-size:11px;font-weight:700}.mini-day{min-height:61px;font-size:11px;overflow:hidden}.mini-day.other{color:#a0a7b0;background:#f8f9fb}.mini-day b{display:block;color:#b42318;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px}.mini-day button{display:block;width:100%;padding:1px 2px;margin:1px 0;border:0;border-radius:2px;background:#e9f2ff;color:#174f8a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;text-align:left}.mini-day small{font-size:8px}.mini-weekday.saturday,.mini-day.saturday{background:#eef6ff;color:#175ea8}.mini-weekday.sunday,.mini-day.sunday,.mini-day.company-holiday{background:#fff1f1;color:#b42318}@media(max-width:1100px){.multi-months,.multi-months.multi-12{grid-template-columns:repeat(2,minmax(240px,1fr))}}@media(max-width:650px){.multi-months,.multi-months.multi-12{grid-template-columns:1fr}.view-tabs{justify-content:flex-start}}
@media print{body{background:#fff}.topbar,aside,.calendar-toolbar,.print-toolbar{display:none!important}.app{display:block!important}.calendar-area{padding:0}.calendar-area>#printHeading{display:flex;justify-content:space-between;align-items:end;margin-bottom:4mm;font-size:12pt}#calendarView{overflow:visible}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));page-break-inside:avoid}.month-day{min-height:21mm}.event-chip{font-size:7pt;padding:1px 2px}.multi-months,.multi-months.multi-12{grid-template-columns:repeat(3,minmax(0,1fr));gap:3mm}.mini-month{break-inside:avoid}.mini-day{min-height:10mm}.multi-12 .mini-day{min-height:7mm}.mini-day button{font-size:5.5pt}.week-grid{grid-template-columns:14mm repeat(7,minmax(0,1fr))}.week-cell{min-height:12mm}.day-view,.list-view{border-color:#555}button{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
