.menu-group button{min-height:68px;padding:10px 12px;font-size:16px}
.calendar-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:18px;margin:5px 4px 12px}
.calendar-toolbar>label{display:flex;gap:5px;align-items:center}
.calendar-toolbar>.text-link{justify-self:end}
.calendar-toolbar select{height:32px;border:1px solid #a9a9a9;background:#fff;padding:3px 8px}
.calendar-scroll{overflow:auto;border:1px solid #999;scrollbar-gutter:stable}
.calendar-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed}
.calendar-table th{background:var(--navy);color:#fff;padding:6px;border-right:1px solid #477596}
.calendar-table th:first-child{background:#8b3143}
.calendar-table th:last-child{background:#235b91}
.calendar-table td{height:112px;vertical-align:top;border-right:1px solid #bbb;border-bottom:1px solid #bbb;padding:4px;background:#fff}
.calendar-table td:nth-child(1){background:#fff1f3}
.calendar-table td:nth-child(7){background:#eff7ff}
.calendar-table td.calendar-blank{background:#eee}
.calendar-table td>b{display:block;text-align:right;font-size:12px;margin-bottom:4px}
.calendar-table td button{display:block;width:100%;border:1px solid #8b9aa5;background:#fff;text-align:left;padding:3px;margin:2px 0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-table td button:hover{background:#fff8cf}
.readonly-banner{border:1px solid #d2bd64;background:#fff8cd;color:#5c4a00;padding:8px 10px;font-size:12px}
.master-tabs button{white-space:nowrap}
@media(max-width:900px){.calendar-toolbar{grid-template-columns:1fr}.calendar-toolbar>.text-link{justify-self:start}}
.menu-group button.sky{background:#cfe9f5}
.menu-split{min-height:68px;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #bbb;border-radius:3px;background:#eadbf1;font-size:16px;font-weight:700;box-shadow:0 2px 3px #0002}
.menu-split-label{display:flex;gap:8px;align-items:center}.menu-split-label span{font-size:24px;color:#5d6165}
.menu-group .menu-link,.menu-link{min-height:0;border:0;background:transparent;box-shadow:none;padding:2px;color:#143a9c;text-decoration:underline;font-size:14px;font-weight:700}
.menu-lower{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1fr);gap:28px;max-width:1180px;margin:18px auto 0;padding-top:12px;border-top:1px solid #aaa}
.bulletin h2{font-size:15px;margin:0 0 8px;padding-left:8px;border-left:4px solid var(--navy)}
.bulletin article{border-bottom:1px solid #333;padding:4px 0 10px;font-size:13px}
.bulletin-head{display:flex;justify-content:space-between;gap:12px;font-size:12px}.bulletin-head time{color:var(--muted)}
.bulletin p{margin:12px 6px;line-height:1.6}
.bulletin-actions{text-align:right;padding-top:8px}
.classic-button{border:1px solid #777;background:linear-gradient(#fff,#ddd);padding:5px 22px;box-shadow:0 2px 2px #0003}
.support-note{border:1px dashed #9aa6d8;background:#f3f6f5;padding:8px 12px;font-size:12px;line-height:1.6;position:relative}
.support-note h3{font-size:13px;margin:0 0 4px}.support-note p{margin:0 0 10px}.support-note .alert{color:#c4151c}
.support-fab{position:fixed;right:18px;bottom:18px;display:flex;gap:6px;align-items:center;border:0;border-radius:18px;background:var(--navy);color:#fff;padding:9px 16px;font-weight:700;box-shadow:0 2px 6px #0005}
.support-fab span{display:inline-grid;place-items:center;width:18px;height:18px;border:2px solid #fff;border-radius:50%;font-size:12px}
.screen[hidden] .support-fab{display:none}
@media(max-width:900px){.menu-lower{grid-template-columns:1fr}}
.menu-split{flex-wrap:wrap;gap:2px 12px}.menu-split-label{white-space:nowrap}
.daily-buttons{display:flex;justify-content:flex-end;gap:8px;margin:-6px 4px 8px}
.schedule.stack{min-width:0;width:max-content}
.schedule.stack .schedule-head,.schedule.stack .schedule-row{grid-template-columns:84px repeat(22,34px)}
.schedule.stack .schedule-head{margin-left:26px}
.schedule.stack .schedule-row{height:17px;min-height:17px;grid-template-rows:17px;grid-auto-flow:column;overflow:hidden}
.schedule-legend{display:flex;gap:12px;flex-wrap:wrap;margin:4px 4px 6px;font-size:11px}.schedule-legend span{display:inline-flex;align-items:center;gap:4px}.schedule-legend i{width:14px;height:12px;border:1px solid #aaa;display:inline-block}.legend-yellow{background:var(--yellow)}.legend-pink{background:var(--pink)}.legend-gray{background:#e9ebec}
.schedule.stack .person{padding:1px 4px;font-size:11px;background:#fff;border-bottom:1px solid #e1e3e5}
.schedule.stack .slot{min-height:17px;background:#fff}
.schedule.stack .schedule-row .slot.band-y{background:var(--yellow)}.schedule.stack .schedule-row .slot.band-p{background:var(--pink)}.schedule.stack .schedule-row .slot.band-g{background:#e9ebec}
.schedule.stack .shift-block{height:16px;padding:0 3px;font-size:11px;line-height:14px;border-radius:0}
.schedule.stack .hour.after{background:var(--blue)}
.day-block{display:grid;grid-template-columns:26px max-content;border-bottom:10px solid #fff}
.day-label{display:flex;flex-direction:column;align-items:center;gap:2px;padding:2px 0;background:#eee;font-size:11px;border-right:1px solid var(--line)}
.day-label.dow6{background:#6fc7ef}.day-label.dow0{background:#f6a6cd}
.day-label button{writing-mode:vertical-rl;border:0;background:transparent;color:#143a9c;font-size:10px;padding:2px}
.day-empty{grid-column:1/-1;padding:2px 8px;color:var(--muted);font-size:11px}
.old-list-toolbar{background:#fff;border:0;padding:4px 0;justify-content:center;max-width:1100px;margin:0 auto 6px}
.old-list-toolbar .result-count{font-size:12px;font-weight:400}
.old-table-wrap{max-width:1100px;margin:0 auto}
/* Keep the legacy table's left edge anchored while the overall width is
   adjusted with the native horizontal resize handle. */
#leave .old-table-wrap,#deleted .old-table-wrap,#masters .old-table-wrap{margin-left:0;margin-right:auto}
.old-table{min-width:980px;font-size:11px}.old-table th{padding:3px 5px;font-weight:700}.old-table td{padding:2px 5px}
.old-table th{position:relative}.col-resizer{position:absolute;right:-3px;top:0;width:7px;height:100%;cursor:col-resize;z-index:2}.col-resizer:hover,.col-resizer.active{background:#2d78c8}
#masters .old-table-wrap{resize:horizontal;overflow:auto;max-width:100%;}
#masters .old-table{table-layout:fixed;min-width:560px}
#masters .old-table th:nth-child(1),#masters .old-table td:nth-child(1){width:78px}
#masters .old-table th:nth-child(2),#masters .old-table td:nth-child(2){width:280px;white-space:nowrap}
#masters .old-table th:nth-child(3),#masters .old-table td:nth-child(3){width:180px;white-space:nowrap}
#masters .master-panel:nth-of-type(2) .old-table{table-layout:auto;min-width:2500px}
#masters .master-panel:nth-of-type(2) .old-table th,#masters .master-panel:nth-of-type(2) .old-table td{min-width:92px;white-space:nowrap}
#masters .master-panel:nth-of-type(2) .old-table th:nth-child(1),#masters .master-panel:nth-of-type(2) .old-table td:nth-child(1){min-width:110px;width:110px}
#masters .master-panel:nth-of-type(2) .old-table th:nth-child(2),#masters .master-panel:nth-of-type(2) .old-table td:nth-child(2){min-width:130px;width:130px}
#masters .master-panel:nth-of-type(2) .old-table th:nth-child(3),#masters .master-panel:nth-of-type(2) .old-table td:nth-child(3){min-width:170px;width:170px}
#leave .old-table thead th{background:#f3b9ee;color:#111;border-color:#b9a8b7}
#leave .old-table tbody tr:nth-child(even) td{background:#f1f4f6}
#leave .old-table tbody tr:nth-child(odd) td{background:#fff}
#leave .old-table td:nth-child(2),#leave .old-table td:nth-child(3){white-space:nowrap}
.old-table .num{text-align:right}.row-link.plain{text-decoration:none;color:#1030a0;padding:0}.row-link.plain:hover{text-decoration:underline}
.old-list-foot{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.shift-total{margin:0;font-size:11px}.mark-legend{max-width:1100px;margin:4px auto;font-size:11px;color:#333}
.old-bottom-buttons{max-width:1100px;margin:10px auto;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.old-bottom-buttons span{display:flex;gap:8px;flex-wrap:wrap}
.master-top{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px}
.master-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-bottom:4px}
.master-filters{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap;font-size:12px;padding-bottom:4px}
.master-filters select{height:24px}
.folder-tabs{display:flex;align-items:flex-end;gap:2px}
.folder-tabs button{border:1px solid #888;border-bottom:0;border-radius:10px 10px 0 0;padding:6px 26px;font-weight:700;color:#333;opacity:.8}
.folder-tabs button.active{opacity:1;padding-top:9px}
.tab-basic{background:#8fd0ec}.tab-contract{background:#f4b4d0}.tab-match{background:#b8e2a8}
.gender{display:block;text-align:center;font-weight:700}.gender.m{background:#5fb5e6}.gender.f{background:#f7a1c4}
@media(max-width:900px){.master-top{grid-template-columns:1fr}.master-filters{justify-content:flex-start}}
@media(max-width:560px){
  .old-table-wrap,.calendar-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .calendar-scroll{border-color:#7f8fa0;box-shadow:inset -10px 0 0 -8px #7892aa}
  .calendar-table{min-width:770px}
  .calendar-table td{height:88px;padding:3px}
  .calendar-table td button{font-size:10px;padding:2px;white-space:nowrap}
  .old-list-toolbar,.old-list-foot,.old-bottom-buttons,.mark-legend,.master-top,.master-panel{max-width:100%;margin-left:4px;margin-right:4px}
  .old-list-toolbar,.master-filters{gap:6px;justify-content:flex-start}
  .folder-tabs{overflow-x:auto;max-width:100%;padding-bottom:1px}
  .folder-tabs button{padding:5px 14px;font-size:12px}
  .calendar-toolbar{gap:6px;margin-left:4px;margin-right:4px}
  .calendar-toolbar select{max-width:100%;height:28px}
  /* 休暇一覧はスマホでは主要列を優先し、旧画面より横幅を圧縮する。 */
  #leave .old-table{min-width:0;width:100%;table-layout:fixed;font-size:10px}
  #leave .old-table th,#leave .old-table td{padding:2px 2px;white-space:nowrap;overflow:hidden;text-overflow:clip}
  #leave .old-table th:nth-child(1),#leave .old-table td:nth-child(1){width:10%}
  #leave .old-table th:nth-child(2),#leave .old-table td:nth-child(2){width:24%;max-width:none}
  #leave .old-table th:nth-child(3),#leave .old-table td:nth-child(3){width:22%}
  #leave .old-table th:nth-child(4),#leave .old-table td:nth-child(4){width:20%}
  #leave .old-table th:nth-child(5),#leave .old-table td:nth-child(5){width:24%}
  #leave .old-table th:nth-child(6),#leave .old-table td:nth-child(6),#leave .old-table th:nth-child(7),#leave .old-table td:nth-child(7){display:none}
}
@media (min-width:561px) and (max-width:900px){
  #leave .old-table-wrap{width:560px;max-width:100%;resize:horizontal;overflow:auto}
  #leave .old-table{width:100%;min-width:0;table-layout:fixed}
  #leaveedit .le-table{table-layout:fixed;font-size:11px}
  #leaveedit .le-table th{width:88px !important;padding:4px 4px;white-space:nowrap;font-size:10px}
  #leaveedit .le-table th:nth-child(1),#leaveedit .le-table th:nth-child(3){width:88px !important}
  #leaveedit .le-table td{padding:4px 6px}
  #leaveedit #leUpd{white-space:nowrap;font-size:10px}
  #leaveedit .le-actions{justify-content:space-between;gap:12px}
  #leaveedit .le-actions button{width:140px;min-width:140px;padding:8px 12px;font-size:13px}
  #leave .old-table{min-width:0;width:100%;table-layout:fixed;font-size:11px}
  #leave .old-table th,#leave .old-table td{padding:3px 4px;white-space:nowrap;overflow:hidden}
  #leave .old-table th:nth-child(1),#leave .old-table td:nth-child(1){width:10%}
  #leave .old-table th:nth-child(2),#leave .old-table td:nth-child(2){width:24%}
  #leave .old-table th:nth-child(3),#leave .old-table td:nth-child(3){width:22%}
  #leave .old-table th:nth-child(4),#leave .old-table td:nth-child(4){width:20%}
  #leave .old-table th:nth-child(5),#leave .old-table td:nth-child(5){width:24%}
  #leave .old-table th:nth-child(6),#leave .old-table td:nth-child(6),#leave .old-table th:nth-child(7),#leave .old-table td:nth-child(7){display:none}
  #deleted .old-table-wrap{width:680px;max-width:100%;resize:horizontal;overflow:auto}
  #deleted .old-table-wrap{margin:0 !important}
  #deleted .old-table{min-width:0;width:100%;table-layout:fixed;font-size:9px}
  #deleted .old-table th,#deleted .old-table td{padding:3px 3px;white-space:nowrap;overflow:hidden}
  #deleted .old-table th:nth-child(1),#deleted .old-table td:nth-child(1){width:7%}
  #deleted .old-table th:nth-child(2),#deleted .old-table td:nth-child(2){width:10%}
  #deleted .old-table th:nth-child(3),#deleted .old-table td:nth-child(3){width:15%}
  #deleted .old-table th:nth-child(4),#deleted .old-table td:nth-child(4){width:22%}
  #deleted .old-table th:nth-child(5),#deleted .old-table td:nth-child(5){width:15%}
  #deleted .old-table th:nth-child(6),#deleted .old-table td:nth-child(6){width:13%}
  #deleted .old-table th:nth-child(7),#deleted .old-table td:nth-child(7){width:8%}
  #deleted .old-table th:nth-child(8),#deleted .old-table td:nth-child(8){width:10%}
}
.send-btn{border:1px solid #1d4fa0;background:#2456c6;color:#fff;padding:2px 8px;font-size:11px}

.mm-wrap{max-width:820px;margin:0 auto}.mm-title{font-size:26px;text-align:center;margin:8px 0 14px;font-weight:700}
.mm-grid{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:24px;padding-top:6px;border-top:4px solid #d0e8b0}
.mm-col{display:flex;flex-direction:column;gap:10px}
.mm-btn{min-height:44px;display:flex;gap:10px;align-items:center;border:1px solid #96d890;background:#d2f0ce;padding:8px 12px;text-align:left;font-size:14px;font-weight:700;box-shadow:0 2px 3px #0002}
.mm-btn span{width:22px;text-align:center;color:#5d6165}
.mm-btn.active{outline:3px solid var(--focus);outline-offset:1px}
.master-panel{max-width:1100px;margin:22px auto 0;padding-top:10px;border-top:1px solid #aaa}
.master-title{margin:0 16px 0 0;font-size:16px}
.master-panel .list-toolbar{align-items:center}
.kana-index{display:flex;justify-content:center;gap:10px;margin:4px 0 10px;font-size:12px}
.kana-index button{border:0;background:transparent;color:#1d4fa0;padding:2px 4px;font-size:12px}
.kana-index button.active{font-weight:700;text-decoration:underline}
.old-cal-toolbar{align-items:center}
.calendar-status-filter{position:relative;display:inline-flex;align-items:center;gap:6px}
.calendar-status-filter .filter-help{font-size:12px;color:#555;white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cal-chip{background:var(--navy);color:#fff;padding:2px 6px;margin-right:6px;font-size:12px}
.cal-left{justify-self:start}
.cal-summary{font-size:12px;margin:0 0 6px}
.cal-buttons{display:flex;justify-content:flex-end;gap:8px;margin-bottom:8px}
.calendar-table td.today{background:#c9f7a0 !important}
.calendar-table td.holiday b.sun,.calendar-table td b.sun{color:#c4151c}
.calendar-table td b.sat{color:#0a86c0}
.calendar-table td small.hol{display:block;color:#c4151c;font-size:10px;line-height:1.2;margin:-6px 0 4px 0}
.cal-legend{display:flex;gap:10px;margin-top:6px;font-size:12px}
.cal-legend .lg{border:1px solid #888;padding:0 8px}
.cal-legend .lg-p{background:#fff}.cal-legend .lg-s{background:#f9d7f0}

.helper-cal th.wk-head{width:90px}
.calendar-table td.week-total{background:#fff !important;vertical-align:middle;text-align:center;font-size:11px;width:90px}

.sal-links{display:flex;gap:16px;font-size:12px;margin:0 0 6px;max-width:1100px;margin-left:auto;margin-right:auto}
.sal-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center;max-width:1100px;margin:0 auto 8px}
.sal-toolbar label{display:flex;gap:6px;align-items:center;font-size:12px}
.sal-toolbar button[disabled]{opacity:.5}
.sal-table td.num{text-align:right}
.sal-table tr.sal-red td{background:#fde7e7 !important;color:#8a1111}
.sal-table tr.sal-yellow td{background:#fff7c2 !important}
.sal-summary{max-width:1100px;margin:8px auto 0;text-align:right;font-size:12px}
.sal-summary p{margin:2px 0}
.sal-notes{max-width:1100px;margin:10px auto 0;font-size:12px;line-height:1.6}
.sal-notes p{margin:0}
.sal-red{color:#c4151c;font-weight:700}.sal-yellow{background:#fff1a8;font-weight:700}.sal-warn{color:#8a5300;font-weight:700}

.approve-box{max-width:520px;margin:40px auto 16px;border:1px solid #9aa6b2;background:#f5f7fa;padding:18px}
.approve-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.approve-row label{background:#dce9f3;padding:6px 10px;font-weight:700;font-size:13px}
.approve-row input{height:28px;border:1px solid #888;min-width:220px}
.approve-actions{text-align:center;margin:14px 0 8px}
.approve-box input:disabled,.approve-box button:disabled{opacity:.6}

.sum-grid{border-top-color:#f1dc9a}
.sum-btn{background:#faf1cf !important;border-color:#e8d27a !important}
.sum-note{max-width:820px;margin:18px auto 0}

.pay-links{display:flex;gap:12px;justify-content:flex-start;max-width:1100px;margin:0 auto 6px;font-size:12px}
.pay-toolbar{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;margin:0 auto 4px}
.pay-toolbar label{display:flex;gap:6px;align-items:center;font-size:12px}
.pay-note{text-align:center;font-size:12px;margin:4px 0 8px}
.pay-table th{text-align:center}
.pay-table .del-head{color:#ff8a8a}
.pay-table td.num{text-align:right}
.pay-table tr.pay-total td{background:#dbe3ea;font-weight:700}

.bill-top{display:flex;justify-content:flex-end;max-width:1100px;margin:0 auto 10px}
.bill-status{border:1px solid #9aa6b2;background:#f0f3f6;padding:14px 18px;font-weight:700;font-size:13px;text-align:center;line-height:1.5}
.bill-table td.num{text-align:right}
.bill-table tfoot tr.pay-total td{background:#dbe3ea;font-weight:700}
.bill-formula{max-width:1100px;margin:10px auto 0;text-align:right;font-size:13px}

.ut-top{max-width:1100px;margin:6px auto 10px;display:grid;gap:8px;font-size:12px}
.ut-range{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}
.ut-links{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap}
.ut-check{display:flex;gap:4px;align-items:center}
.ut-month{display:flex;gap:8px;align-items:center;justify-content:center}
.ut-month b{font-size:18px;margin:0 6px}
.ut-month button{border:0;background:transparent;color:#143a9c;padding:2px 4px}
.ut-scroll{overflow:auto;border:1px solid #999;max-width:100%}
.ut-table{border-collapse:collapse;font-size:11px;white-space:nowrap;min-width:1400px}
.ut-table th,.ut-table td{border:1px solid #9aa0a6;padding:2px 4px;text-align:center}
.ut-table th{font-weight:700}
.ut-table td.num{text-align:right}
.ut-table td.ut-n{min-width:34px}
.ut-table th.g-body{background:#2e8b2e;color:#fff}
.ut-table th.g-blue{background:#3a72d6;color:#fff}
.ut-table th.g-purple{background:#c3b1e1}
.ut-table th.g-orange{background:#f39a1c;color:#fff}
.ut-table th.g-khaki{background:#8f8f6a;color:#fff}
.ut-table th.g-lav{background:#9db1f2}
.ut-table tbody tr:nth-child(even){background:#f4f6f8}

.ut-table th.g-yellow{background:#f7d24a}
.ut-table tfoot tr.pay-total td{background:#dbe3ea;font-weight:700}
.hu-notes{max-width:1100px;margin:10px auto 0;font-size:12px;line-height:1.7;padding-left:18px}

.kn-step{max-width:1100px;margin:14px auto;border:1px solid #c9d2db;background:#fff;padding:10px 14px}
.kn-step h3{font-size:14px;margin:0 0 6px;color:#143a6b}
.kn-note{font-size:12px;margin:2px 0 8px;color:#555}
.kn-ym{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:13px;border:1px solid #6b8fb5;padding:6px;max-width:420px;margin:0 auto}
.kn-w5{font-size:12px}
.kn-groups{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:8px}
.kn-group{border:1px solid #aab;min-width:0}
.kn-title{padding:4px 6px;font-size:12px;font-weight:700;color:#fff}
.kn-items{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 6px;padding:6px;font-size:11px}
.kn-item{display:flex;gap:4px;align-items:center}
.kn-allclear,.kn-tools{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:8px;flex-wrap:wrap}
.kn-tools{justify-content:flex-start}
.kn-out{background:#2456c6 !important;color:#fff}
.kn-title.g-body{background:#2e8b2e}.kn-title.g-blue{background:#3a72d6}.kn-title.g-orange{background:#f39a1c}.kn-title.g-khaki{background:#8f8f6a}.kn-title.g-purple{background:#5b2a8c}

.pl-filters{display:grid;gap:8px;max-width:1100px;margin:6px auto 4px;justify-items:center}
.pl-label{font-size:11px;text-align:center;color:#143a6b}
.pl-page{text-align:right;max-width:1100px;margin:6px auto 4px;font-size:12px}
.pl-table td.num{text-align:right}
.pl-table td.pl-red,.pl-table .pl-red{color:#c4151c;font-weight:700}
.pl-foot{max-width:1100px;margin:12px auto 0;font-size:11px;line-height:1.6;color:#333}

.mail-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center;max-width:1100px;margin:6px auto 10px;font-size:12px}
.mail-top label{display:flex;gap:4px;align-items:center}
.mail-btns{display:flex;gap:8px;align-items:center}
.mail-send{background:#2456c6 !important;color:#fff}

.rp-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:1100px;margin:6px auto 10px;gap:10px}
.rp-top .classic-button{justify-self:start}
.rp-date{display:flex;gap:10px;align-items:center;justify-content:center;font-size:16px}
.rp-date b{font-size:18px}
.rp-orders{justify-self:end;background:#f09a2b;color:#fff;border:1px solid #c97617;padding:6px 16px;font-weight:700}
.rp-filters{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:center;max-width:1100px;margin:0 auto 6px;font-size:12px}
.rp-filters label{display:flex;gap:4px;align-items:center}
.rp-legend{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;max-width:1100px;margin:0 auto 6px;font-size:12px}
.rp-mark{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:12px}
.rp-alert{color:#e11d2f;border:2px solid #e11d2f;background:#fff}
.rp-ok{color:#0a7d3a;font-size:14px}
.rp-scroll{overflow:auto;max-width:1100px;margin:0 auto;border:1px solid #2f8f7d}
.rp-table{width:100%;border-collapse:collapse;min-width:820px;font-size:12px}
.rp-table th{background:#2f8f7d;color:#fff;padding:6px;font-weight:500;border-right:1px solid #55a596}
.rp-table td{padding:6px;border-bottom:1px solid #b5d9d1;border-right:1px solid #cde6df;white-space:nowrap}
.rp-table td.c{text-align:center}
.rp-table tr:nth-child(even){background:#f0f8f5}
.rp-table tr.rp-row-alert td{background:#fff}

.od-reports{justify-self:end;background:#2f8f7d;color:#fff;border:1px solid #237466;padding:6px 16px;font-weight:700}
.od-table th{background:#e8862b}
.od-table th{border-right:1px solid #f0a866}
.od-table td{border-bottom:1px solid #f1c08f;border-right:1px solid #f6d9b8}
.od-table tr:nth-child(even){background:#fdf4ea}

.se-wrap{max-width:680px;width:100%;margin:8px auto}
.se-top{display:flex;justify-content:flex-start;align-items:center;gap:6px;font-size:12px;margin-bottom:6px}
.se-top .se-id{margin-left:auto}
.se-id{color:#555}
.se-form{width:100%;border-collapse:collapse;font-size:12px;background:#fff}
.se-form th,.se-form td{border:1px solid #9aa6b2;padding:4px 6px;vertical-align:middle;text-align:left}
.se-form th{background:#003399;width:108px;font-weight:700;color:#fff}
.se-form td{word-break:break-word}
.se-form select{max-width:100%}
.se-form .se-sec{background:#cccccc;color:#000;text-align:center}
.se-form .se-r{text-align:right;background:#cccccc;color:#000}
.se-form input[type=text],.se-form input:not([type]){width:100%}
.se-form select,.se-form textarea,.se-form input{font-size:12px}
.se-g{display:inline-block;padding:0 6px;margin-left:4px;background:#dfe9f5;border:1px solid #9aa6b2}
.se-actions{display:flex;justify-content:center;gap:12px;margin:14px 0 8px;flex-wrap:wrap}
.se-actions button{padding:8px 26px;border:1px solid #777;font-weight:700}
.se-save{background:#a9dcf2}.se-cancel{background:#f6e27a}.se-copy{background:#b7e7b7}.se-del{background:#f3b7c8}
#verificationMode{font-size:12px;color:#35506b}
#verificationStatus{margin-left:8px;font-size:12px;color:#6b5a00}
#verificationStatus.verification-on{font-weight:700;color:#0b6b4b}
body.verification-mode .readonly-action.verification-action{outline:2px solid #72b7d8;outline-offset:-2px;cursor:pointer}
.se-notes{font-size:11px;line-height:1.6;color:#333;padding-left:18px}
.se-form button:disabled,.se-actions button:disabled{opacity:.7;cursor:not-allowed}

.sf-form{max-width:900px;margin:8px auto}
.sf-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}
.sf-table th,.sf-table td{border:1px solid #9aa6b2;padding:5px 7px;text-align:left}
.sf-table th{background:#1b4f85;color:#fff;font-weight:500;width:160px}
.sf-table td input[type=search],.sf-table td select{font-size:12px}
.sf-table td input[type=search]{width:100%}
.sf-table .sf-sec{text-align:center;background:#9aa9ba}
.sf-note{font-size:11px;margin:6px 0 4px}
.sf-go{text-align:center;margin:8px 0}
.sf-run{padding:6px 28px;border:1px solid #777;background:linear-gradient(#fff,#ddd);font-weight:700}
.sf-result{max-width:1100px;margin:14px auto 0}
.sf-count{font-weight:700;font-size:13px}

.sd-wrap{max-width:640px;margin:8px auto}
.sd-no{text-align:right;font-size:11px;margin:0 0 4px}
.sd-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}
.sd-table th,.sd-table td{border:1px solid #9aa6b2;padding:4px 6px;text-align:left;vertical-align:top}
.sd-table th{background:#990000;width:140px;font-weight:700;color:#fff}
.sd-table th.sd-del{background:#990000;color:#fff}
.sd-table th.sd-sec{background:#cccccc;color:#000;text-align:center;font-weight:700}
.sd-memo{min-height:40px}
.sd-actions{display:flex;justify-content:space-between;gap:12px;margin:12px 0 8px}
.sd-actions button{padding:7px 26px;border:1px solid #777;font-weight:700}
.sd-left{display:flex;gap:12px}
.sd-restore{background:#a9dcf2}.sd-cancel{background:#f6e27a}.sd-del-btn{background:#cc0000;color:#fff;border-color:#990000}
.sd-actions button:disabled{opacity:.6;cursor:not-allowed}
.sd-mail{border:1px solid #9aa6b2;font-size:12px;display:flex}
.sd-mail span:first-child{background:#cfd8e0;padding:4px 8px;min-width:100px}
.sd-mail span:last-child{padding:4px 8px}

.le-wrap{max-width:905px;margin:8px auto}
.le-no{text-align:right;font-size:11px;margin:0 0 4px}
.le-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}
.le-table th,.le-table td{border:1px solid #0066a8;padding:6px 8px;text-align:left;vertical-align:middle}
.le-table th{background:#f2c2f4;width:130px;font-weight:700}
.le-table td input,.le-table td select,.le-table td textarea{font-size:12px}
.le-table td textarea{width:100%}
.le-actions{display:flex;justify-content:space-between;gap:18px;margin:28px 0 8px;flex-wrap:wrap}
.le-actions button{padding:12px 42px;border:1px solid #777;font-size:16px;font-weight:700;min-width:160px}
.le-actions .le-save{background:#8cc9e2}.le-actions .le-cancel{background:#ffe7a6}.le-actions .le-copy{background:#a8e6a3}.le-actions .le-delete{background:#e6a1bd;margin-left:auto}
.le-save{background:#a9dcf2}.le-cancel{background:#f6e27a}.le-copy{background:#b7e7b7}.le-del{background:#f3b7c8}
.le-actions button:disabled{opacity:.6;cursor:not-allowed}

.ac-btn{background:#8fd0ec;border:1px solid #5aa7c9;padding:4px 14px;font-weight:700}
.ai-wrap{max-width:720px;margin:8px auto}
.ai-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}
.ai-table th,.ai-table td{border:1px solid #9aa6b2;padding:6px 8px;text-align:left;vertical-align:middle}
.ai-table th{background:#dbe6f0;width:140px;font-weight:700;color:#143a6b}
.ai-table textarea{width:100%}
.ai-actions{display:flex;justify-content:center;gap:16px;margin:14px 0 8px}
.ai-actions button{padding:8px 28px;border:1px solid #777;font-weight:700}
.ai-save{background:#a9dcf2}.ai-cancel{background:#f6e27a}
.ai-actions button:disabled{opacity:.6;cursor:not-allowed}

.ai-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:4px}
.ai-no{color:#555}.ai-upd b{font-weight:400}
.ai-len{margin-left:10px;font-weight:700;color:#143a6b}
.ai-fare{width:110px}
.ai-rep{display:flex;gap:8px;align-items:flex-start}
.ai-rep textarea{flex:1}
.ai-pick{background:#fff3c4;border:1px solid #c7a83a;padding:6px 10px;font-weight:700;white-space:nowrap}
.ai-table textarea{width:100%;font-size:12px}
.ai-table select,.ai-table input{font-size:12px}
.ai-h{font-size:14px;margin:14px 0 6px;color:#143a6b}
.ai-hist td{font-size:12px}
.ai-actions .ai-save{background:#a9dcf2}
@media(max-width:560px){
  .ai-wrap{max-width:none;margin:4px 0;font-size:12px}
  .ai-head{flex-wrap:wrap;gap:4px}
  .ai-table{width:100%;table-layout:fixed;font-size:11px}
  .ai-table th{width:88px;padding:5px 4px;white-space:normal}
  .ai-table td{padding:5px 4px;min-width:0;overflow-wrap:anywhere}
  .ai-table select,.ai-table input{max-width:100%;min-width:0;font-size:11px}
  .ai-table textarea{font-size:11px;min-height:74px}
  .ai-actions{justify-content:flex-start;flex-wrap:wrap;gap:6px}
  .ai-actions button{padding:8px 16px}
  .ai-rep{flex-direction:column;gap:5px}
  .ai-rep textarea{width:100%}
}

.ce-wrap{max-width:720px;margin:8px auto}
.ce-no{text-align:right;font-size:11px;margin:0 0 4px}
.ce-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}
.ce-table th,.ce-table td{border:1px solid #9aa6b2;padding:6px 8px;text-align:left;vertical-align:middle}
.ce-table th{background:#d9efe0;width:120px;font-weight:700;color:#1f5a33}
.ce-table input,.ce-table select{font-size:12px;width:100%}
.ce-table textarea{width:100%;font-size:12px}
.ce-actions{display:flex;justify-content:center;gap:16px;margin:14px 0 8px}
.ce-actions button{padding:8px 26px;border:1px solid #777;font-weight:700}
.ce-save{background:#a9dcf2}.ce-cancel{background:#f6e27a}.ce-del{background:#f3b7c8}
.ce-actions button:disabled,.ce-table input:disabled,.ce-table select:disabled,.ce-table textarea:disabled{opacity:.8}

.ce-wrap{max-width:900px;margin:8px auto;font-size:12px}
.ce-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.ce-top label{display:flex;gap:6px;align-items:center}
.ce-code{width:140px}
.ce-req{color:#c4151c}
.ce-no{margin-left:auto;font-size:11px;color:#555}
.ce-note{color:#555;font-size:11px}
.ce-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-bottom:6px}
.ce-col{display:grid;gap:4px;align-content:start}
.ce-col label{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:6px;background:#eef6f0;padding:3px 6px;border:1px solid #c6dccd}
.ce-col label input,.ce-col label select,.ce-col label textarea{font-size:12px;width:100%}
.ce-col label input[type=checkbox]{width:auto}
.ce-col .ce-date,.ce-col label .ce-n{width:auto}
.ce-date{display:flex;gap:4px;align-items:center;flex-wrap:nowrap;white-space:nowrap;min-width:0}
.ce-date select{flex:0 0 82px;width:82px}
.ce-date .ce-n{flex:0 0 55px;width:55px;min-width:0}
.ce-col label .ce-date select{width:82px!important;flex:0 0 82px}
.ce-col label .ce-date input.ce-n{width:55px!important;flex:0 0 55px}
.ce-n{width:70px}
.ce-sec{background:#9dc7a8;color:#fff;text-align:center;font-weight:700;padding:3px;margin:6px 0}
.ce-contract-sync{display:flex;align-items:center;gap:10px;margin:8px 0 4px;padding:5px 7px;background:#eef6f0;border:1px solid #c6dccd}
.ce-contract-sync label{display:flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap}
.ce-contract-sync select{min-width:190px;font-size:12px}
.ce-small{font-size:11px;color:#333;margin:2px 0}
.ce-notes{font-size:11px;line-height:1.6;color:#333;margin:6px 0;padding-left:18px}
.cs-block{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:6px;margin-top:8px}
.cs-group{border:1px solid #aab;min-width:0}
.cs-title{padding:3px 6px;font-size:11px;font-weight:700;color:#fff;text-align:center}
.cs-items{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 6px;padding:5px;font-size:11px}
.cs-item{display:flex;gap:4px;align-items:center}
.cs-title.g-body{background:#2e8b2e}.cs-title.g-blue{background:#3a72d6}.cs-title.g-purple{background:#7b4fb3}.cs-title.g-orange{background:#f39a1c}.cs-title.g-khaki{background:#8f8f6a}
.ce-actions{display:flex;justify-content:center;gap:16px;margin:14px 0 8px}
.ce-actions button{padding:8px 26px;border:1px solid #777;font-weight:700}
.ce-save{background:#a9dcf2}.ce-cancel{background:#f6e27a}.ce-del{background:#f3b7c8}
.ce-actions button:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:560px){.ce-grid{grid-template-columns:1fr}.cs-block{grid-template-columns:repeat(2,minmax(160px,1fr))}}
@media(max-width:560px){
  html,body{max-width:100%;overflow-x:hidden}
  #clientedit .ce-wrap,#helperedit .ce-wrap{max-width:100%;overflow:hidden}
  #clientedit .ce-top,#helperedit .ce-top{gap:4px}
  #clientedit .ce-top .ce-note,#helperedit .ce-top .ce-note{flex-basis:100%}
  #clientedit .ce-top .ce-no,#helperedit .ce-top .ce-no{margin-left:auto}
  #clientedit .ce-col label,#helperedit .ce-col label{grid-template-columns:92px minmax(0,1fr);gap:3px;padding:3px 4px}
  #clientedit .ce-date select,#helperedit .ce-date select,
  #clientedit .ce-col label .ce-date select,#helperedit .ce-col label .ce-date select{width:52px!important;flex-basis:52px}
  #clientedit .ce-date .ce-n,#helperedit .ce-date .ce-n,
  #clientedit .ce-col label .ce-date input.ce-n,#helperedit .ce-col label .ce-date input.ce-n{width:27px!important;flex-basis:27px}
  #clientedit .ce-date,#helperedit .ce-date{gap:1px;font-size:11px;max-width:100%;overflow:hidden}
  /* 和暦・年・月・日を狭い画面でも一列に収める */
  #clientedit .ce-birth,#helperedit .ce-birth{display:flex;flex-wrap:nowrap;gap:0;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;font-size:10px}
  #clientedit .ce-birth select:first-child,#helperedit .ce-birth select:first-child{width:50px!important;flex:0 0 50px}
  #clientedit .ce-birth select.ce-n,#helperedit .ce-birth select.ce-n{width:24px!important;flex:0 0 24px;padding-left:1px;padding-right:1px}
  #clientedit .cs-block,#helperedit .cs-block{max-width:100%;min-width:0;overflow-x:auto}
  #clientedit .ce-contract-sync{align-items:flex-start;flex-direction:column;gap:3px}
  #clientedit .ce-contract-sync select{max-width:100%;min-width:0}
  #helperedit .ce-col label{grid-template-columns:92px minmax(0,1fr)}
  #helperedit .ce-col label{display:flex;align-items:center;gap:4px;white-space:nowrap}
  #helperedit .ce-col label>input,#helperedit .ce-col label>select{flex:1;min-width:0}
  #helperedit .ce-col label>.ce-date{flex:1;min-width:0}
  #helperedit #heName,#helperedit #heKana{width:100%!important;min-width:0}
  #helperedit .ce-small{display:inline;white-space:nowrap;font-size:10px}
  #helperedit .he-wage{width:88px!important;min-width:88px}
}

.he-memo{width:100%;margin:6px 0;font-size:12px}
#helperedit .ce-col label{grid-template-columns:110px 1fr}
#helperedit .ce-small{display:block}

.qual-grid{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:4px 10px;padding:6px;border:1px solid #c6dccd;background:#fbfdfb;font-size:11px}
@media(max-width:900px){.qual-grid{grid-template-columns:1fr}}

#clients .ut-table-like th.g-body,#clients th.g-body{background:#2e8b2e;color:#fff}
#clients th.g-blue{background:#3a72d6;color:#fff}
#clients th.g-purple{background:#c3b1e1}
#clients th.g-orange{background:#f39a1c;color:#fff}
#clients th.g-khaki{background:#8f8f6a;color:#fff}
#clients th.g-lav{background:#9db1f2}
#clients .old-table td:not(:first-child){text-align:center}

#clients .old-table th.hd-admin{background:#f5e61a;color:#111}
#clients .old-table th.sub{background:#fff;color:#111;font-weight:400;border:1px solid #888;text-align:center}
#clients .old-table tr:first-child th{text-align:center}
#clients .old-table td .dot{font-size:14px;color:#111}
#clients .old-table td .vtext{writing-mode:vertical-rl;margin:0 auto;padding:4px 0;font-size:11px;font-weight:700}
#clients .old-table td .vtext.f,#clients .old-table td:has(> .vtext) .vtext.f{color:#c4151c}
#clients .old-table td .vtext.m{color:#1d4fa0}
#clients .old-table td:has(> .vtext){background:#f9d6e8;text-align:center;padding:0}
#clients .old-table th.gcol{background:#f9d6e8;color:#111;width:24px}
#clients .old-table td:not(.gcol){text-align:center}
#clients .old-table td:nth-child(2){text-align:left}

.me-wrap{max-width:900px;margin:8px auto;font-size:12px}
.me-info{border-collapse:collapse;width:100%;background:#fff;margin-bottom:14px}
.me-info th,.me-info td{border:1px solid #9aa6b2;padding:5px 8px;text-align:left}
.me-info th{background:#1b4f85;color:#fff;font-weight:500;width:110px}
.me-no{text-align:right!important;color:#555;font-size:11px}
.me-table-wrap{overflow:auto}
.me-table{border-collapse:collapse;width:100%;min-width:720px;background:#fff;font-size:12px}
.me-table th,.me-table td{border:1px solid #6a8db5;padding:3px 6px;text-align:left}
.me-table thead th{background:#1b4f85;color:#fff;font-weight:500;text-align:center}
.me-table td input[type=checkbox]{width:16px;height:16px}
.me-table td input.me-fare{width:70px;text-align:right}
.me-table td.me-admin{background:#f5e61a;font-weight:700}
.me-gender td{background:#f9d6e8}
.me-f{font-weight:700;color:#c4151c}
.me-msg{color:#8a5300;font-weight:700;margin-left:6px}
.me-actions{display:flex;justify-content:center;gap:16px;margin:16px 0 8px}
.me-actions button{padding:8px 26px;border:1px solid #777;font-weight:700}
.me-save{background:#a9dcf2}.me-cancel{background:#f6e27a}
.me-actions button:disabled,.me-bulk:disabled{opacity:.6;cursor:not-allowed}

#helpers .old-table th.g-body{background:#2e8b2e;color:#fff}
#helpers .old-table th.g-blue{background:#3a72d6;color:#fff}
#helpers .old-table th.g-purple{background:#c3b1e1;color:#111}
#helpers .old-table th.g-orange{background:#f39a1c;color:#fff}
#helpers .old-table th.g-khaki{background:#8f8f6a;color:#fff}
#helpers .old-table th.g-lav{background:#9db1f2;color:#111}
#helpers .old-table td .dot{font-size:14px;color:#111}
#helpers .old-table td:not(:nth-child(2)){text-align:center}

#helpers .old-table th.sub{background:#fff;color:#111;font-weight:400;border:1px solid #888;text-align:center}
#helpers .old-table th.gcol{background:#f9d6e8;color:#111;width:24px}
#helpers .old-table td:has(> .vtext){background:#f9d6e8;padding:0;text-align:center}
#helpers .old-table td .vtext{writing-mode:vertical-rl;margin:0 auto;padding:4px 0;font-size:11px;font-weight:700}
#helpers .old-table td .vtext.f{color:#c4151c}
#helpers .old-table td .vtext.m{color:#1d4fa0}
#helpers .old-table tr:first-child th{text-align:center}

.hm-table td{vertical-align:middle}
.hm-group td{font-weight:700}
.hm-group.hm-f td{background:#f9b8d8}
.hm-group.hm-m td{background:#5bc0f0}
.hm-group.hm-v td{background:#f2c7f3}
.hm-msg{color:#8a5300;margin-left:6px}
.hm-label{margin-right:6px}

.wk-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;max-width:1100px;margin:12px auto 10px;font-size:14px}
.wk-total b,.wk-name b{font-size:15px}
.wk-back{padding:6px 18px;border:1px solid #888;background:linear-gradient(#fff,#ddd);font-weight:700}
.wk-scroll{overflow:auto;max-width:100%;padding:0 12px}
.wk-table{border-collapse:collapse;font-size:11px;margin:0 auto}
.wk-table th,.wk-table td{border:1px solid #c7ced6;padding:0}
.wk-lbl{background:#fff;font-weight:400;padding:2px 4px;font-size:11px;text-align:center;min-width:44px}
.wk-hr{color:#fff;text-align:center;font-size:11px;font-weight:700;padding:2px 0}
.wk-hr-d{background:#0a3f8c}.wk-hr-l{background:#1ea6e0}
.wk-mn{color:#fff;background:#1ea6e0;font-size:9px;width:18px;text-align:center;font-weight:400}
.wk-day{background:#fff;padding:2px 6px;text-align:right;font-weight:400;min-width:40px}
.wk-day.wk-sun{background:#f9b8d8}.wk-day.wk-sat{background:#5bc0f0;color:#fff;font-weight:700}
.wk-table td{width:18px;height:22px}
.wk-table td.wk-y{background:#fffbe0}.wk-table td.wk-p{background:#fbe9fb}.wk-table td.wk-g{background:#e6e6e6}
.wk-table td.wk-on{background:#9fd6f2}

.wk-new{padding:6px 18px;border:1px solid #1d4fa0;background:#2456c6;color:#fff;font-weight:700;margin-right:8px}
.wa-wrap{max-width:720px;margin:14px auto;font-size:13px}
.wa-table{width:100%;border-collapse:collapse;background:#fff}
.wa-table th,.wa-table td{border:1px solid #6a8db5;padding:8px 10px;text-align:left;vertical-align:middle}
.wa-table th{background:#1b4f85;color:#fff;font-weight:700;width:130px}
.wa-req{color:#ffd38a}
.wa-days{display:flex;flex-wrap:wrap;gap:6px 12px}
.wa-day{white-space:nowrap}.wa-sun{color:#c4151c}.wa-sat{color:#1d4fa0}
.wa-actions{display:flex;justify-content:center;gap:16px;margin:16px 0 8px}
.wa-actions button{padding:8px 28px;border:1px solid #777;font-weight:700}
.wa-save{background:#a9dcf2}.wa-cancel{background:#f6e27a}

.wk-dayb{border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;width:100%;text-align:right;padding:2px 6px}
.wk-dayb:hover{text-decoration:underline}

#contractedit .ce-wrap{max-width:720px}
#jobedit #jbName{width:360px;max-width:100%;}
#jobedit .ce-order-select{width:96px;min-width:72px;}

#masters .old-table th.g-body{background:#2e8b2e;color:#fff}
#masters .old-table th.g-blue{background:#3a72d6;color:#fff}
#masters .old-table th.g-purple{background:#c3b1e1}
#masters .old-table th.g-orange{background:#f39a1c;color:#fff}
#masters .old-table th.g-khaki{background:#8f8f6a;color:#fff}
#masters .old-table th.g-lav{background:#9db1f2}
#masters .old-table td:not(:first-child):not(:nth-child(2)){text-align:center}

.qr-wrap{max-width:900px;margin:10px auto}
.qr-title{font-weight:700;font-size:12px;margin-bottom:4px}
.qr-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:4px}
.qr-item{display:grid;grid-template-columns:1fr 64px;gap:4px;align-items:center;font-size:11px;background:#fff;border:1px solid #c6dccd;padding:2px 4px}
.qr-item input{width:100%;font-size:11px;text-align:right}
.qr-item.g-body{border-left:4px solid #2e8b2e}.qr-item.g-blue{border-left:4px solid #3a72d6}.qr-item.g-purple{border-left:4px solid #9b7fd0}.qr-item.g-orange{border-left:4px solid #f39a1c}.qr-item.g-khaki{border-left:4px solid #8f8f6a}
@media(max-width:900px){.qr-grid{grid-template-columns:1fr 1fr}}

.hl-wrap{max-width:820px;margin:8px auto;font-size:12px}
.hl-top{width:100%;border-collapse:collapse;background:#fff;margin-bottom:8px}
.hl-top th,.hl-top td{border:1px solid #6a8db5;padding:4px 6px;text-align:left}
.hl-top th{background:#1b4f85;color:#fff;font-weight:500;width:130px}
.hl-top input,.hl-top select{font-size:12px;width:100%}
.hl-n{text-align:right;width:90px}
.hl-base-cell{white-space:nowrap}
.hl-base-cell .hl-base-unit{display:inline-block;margin:0 8px 0 4px;white-space:nowrap}
.hl-base-cell button{white-space:nowrap;vertical-align:middle}
.hl-no{text-align:right!important;color:#555;font-size:11px}
.hl-table-wrap{overflow:auto}
.hl-table{border-collapse:collapse;width:100%;min-width:620px;background:#fff}
.hl-table th,.hl-table td{border:1px solid #9aa6b2;padding:3px 5px;text-align:center}
.hl-table thead th{background:#dbe6f0;font-weight:700}
.hl-table thead .hl-wd{background:#fff3c4}.hl-table thead .hl-hol{background:#fbd9f2}
.hl-table thead .hl-sub{font-weight:400;background:#fff}
.hl-table .hl-item{text-align:left;font-weight:700;color:#fff;min-width:170px}
.hl-table .hl-sec{background:#cfd6dd;font-weight:700;text-align:center}
.hl-table td input{width:90px;text-align:right;font-size:12px}
.hl-item.g-body{background:#2e8b2e}.hl-item.g-blue{background:#3a72d6}.hl-item.g-purple{background:#7b4fb3}.hl-item.g-orange{background:#f39a1c}.hl-item.g-khaki{background:#8f8f6a}.hl-item.g-lav{background:#9db1f2;color:#111}
.hl-item.hl-other{background:#1f5fb0}
.hl-actions{display:flex;justify-content:center;gap:16px;margin:12px 0 6px}
.hl-actions button{padding:8px 26px;border:1px solid #777;font-weight:700}
.hl-notes{font-size:11px;line-height:1.6;color:#333;padding-left:18px}
.hl-table .hl-item{color:#111;background:#fff}
.hl-table .hl-item.g-body,.hl-table .hl-item.g-blue,.hl-table .hl-item.g-purple,.hl-table .hl-item.g-orange,.hl-table .hl-item.g-khaki{color:#fff}
.hl-table .hl-item.g-lav{color:#111}
.hl-table .hl-item.hl-other{color:#fff}

.cy-wrap{max-width:560px;margin:8px auto;font-size:13px}
.cy-table{width:100%;border-collapse:collapse;background:#fff}
.cy-table th,.cy-table td{border:1px solid #9aa6b2;padding:6px 8px;text-align:left}
.cy-table th{background:#f3f1e8;width:170px;font-weight:700}
.cy-table td input,.cy-table td select{width:100%;font-size:13px}
.cy-table tr.cy-sec th{background:#e8e8e8;text-align:center;font-size:14px}
.cy-types{margin:14px 0;font-size:12px;line-height:1.6}
.cy-types .cy-h{text-align:center;color:#1b4f85;font-weight:700;margin:0 0 6px}
.cy-types dl{display:grid;grid-template-columns:130px 1fr;gap:6px 10px;margin:0}
.cy-types dt{font-weight:400}.cy-types dd{margin:0}
#clientedit .ce-wrap{max-width:900px}

.mt-wrap{max-width:1000px;margin:8px auto;font-size:12px}
.mt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mt-box{border:1px solid #9aa6b2;background:#fff;margin-bottom:8px}
.mt-title{background:#dbe6f0;color:#143a6b;font-weight:700;padding:4px 8px;text-align:center;font-size:12px}
.mt-box textarea{width:100%;border:0;font-size:11px;line-height:1.5;resize:vertical;box-sizing:border-box;padding:6px;background:#fff}
.mt-keys{font-size:11px;line-height:1.6;background:#f3f5f7;padding:6px 8px;margin:6px 0;border:1px solid #c9d2db}
.mt-keys p{margin:0}
.mt-footer textarea{min-height:90px}
@media(max-width:900px){.mt-grid{grid-template-columns:1fr}}

.hd-table{width:100%;max-width:560px;margin:8px auto;border-collapse:collapse;font-size:13px;background:#fff}
.hd-table th,.hd-table td{border:1px solid #9aa6b2;padding:6px 8px;text-align:left;vertical-align:middle}
.hd-table th{background:#f3f1e8;width:180px;font-weight:700}
.hd-table input:not([type=checkbox]),.hd-table select{width:100%;font-size:13px}
.hd-actions{display:flex;justify-content:center;gap:16px;margin:14px 0 8px}
.hd-actions button{padding:8px 26px;border:1px solid #777;font-weight:700}
.hd-actions .ce-save{background:#a9dcf2}.hd-actions .ce-cancel{background:#f6e27a}.hd-actions .ce-del{background:#f3b7c8}
.hd-notes{max-width:560px;margin:10px auto;font-size:12px;line-height:1.7;color:#333;padding-left:18px}

.cl-wrap{display:grid;grid-template-columns:minmax(260px,1fr) minmax(420px,2fr);gap:14px;max-width:1100px;margin:10px auto;font-size:12px}
.cl-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.cl-count{font-weight:700}
.cl-table{width:100%;border-collapse:collapse;background:#fff}
.cl-table th,.cl-table td{border:1px solid #9aa6b2;padding:4px 6px;text-align:left}
.cl-table thead th{background:#f0efe6;color:#143a6b;font-weight:700}
.cl-table td.num{text-align:right}
.cl-table tbody tr:nth-child(even){background:#f5f8fa}
@media(max-width:900px){.cl-wrap{grid-template-columns:1fr}}

.cn-wrap{max-width:560px;margin:14px auto;font-size:13px}
.cn-table{width:100%;border-collapse:collapse;background:#fff}
.cn-table th,.cn-table td{border:1px solid #9aa6b2;padding:8px 10px;text-align:left}
.cn-table th{background:#f0efe6;width:150px;font-weight:700}
.cn-table input{width:100%;font-size:13px}
.cn-table input.cn-n{width:90px}
.cn-note{font-size:12px;text-align:center;margin:14px 0;line-height:1.6}
.cn-actions{display:flex;justify-content:center;gap:16px;margin:12px 0}
.cn-actions button{padding:8px 26px;border:1px solid #777;font-weight:700}
.cn-save{background:#a9dcf2}.cn-cancel{background:#f6e27a}

.pg-top{display:flex;gap:18px;align-items:center;flex-wrap:wrap;max-width:1100px;margin:10px auto;font-size:13px}
.pg-sw select{font-size:12px}
.pg-scroll{overflow:auto;max-width:100%;padding:0 10px}
.pg-table td.wk-y,.pg-table td.wk-g,.pg-table td.wk-p{font-size:10px;text-align:center}
.pg-table td.pg-on{background:#f7e4a6;font-size:10px;font-weight:700;white-space:nowrap}
.pg-note{font-size:11px;margin:6px 10px}
.pg-sum{max-width:420px;margin:12px 10px;font-size:11px}
.pg-sum-table{border-collapse:collapse}
.pg-sum-table th,.pg-sum-table td{border:1px solid #888;padding:3px 10px;text-align:center}
.pg-sum-table .sv-red{background:#c4151c;color:#fff}.pg-sum-table .sv-navy{background:#2a1a6e;color:#fff}
.pg-actions{text-align:center;margin:12px 0}
.pg-back{padding:6px 24px;border:1px solid #888;background:linear-gradient(#fff,#ddd);font-weight:700}

.pe-table{width:100%;max-width:560px;margin:8px auto;border-collapse:collapse;font-size:13px;background:#fff}
.pe-table th,.pe-table td{border:1px solid #9aa6b2;padding:6px 8px;text-align:left;vertical-align:middle}
.pe-table th{background:#f3f1e8;width:170px;font-weight:700}
.pe-table input,.pe-table select,.pe-table textarea{width:100%;font-size:13px}

.pw-wrap{max-width:900px;margin:8px auto;font-size:12px}
.pw-table{width:100%;border-collapse:collapse;background:#fff}
.pw-table th,.pw-table td{border:1px solid #1d4fa0;padding:5px 7px;text-align:left;vertical-align:middle}
.pw-table th{background:#1b4f85;color:#fff;font-weight:500;width:130px}
.pw-table td input[type=text],.pw-table td input:not([type]),.pw-table td select,.pw-table td textarea{font-size:12px}
.pw-table td input:not([type]){width:100%}
.pw-table textarea{width:100%}
.pw-chk{white-space:nowrap;margin-right:6px}
.pw-note{font-size:11px;color:#333;line-height:1.6;margin:8px 0}
.pw-copy{background:#b7e7b7}
.pw-wrap .ce-actions{justify-content:space-between}

.pw-table select,.pw-table input[type=checkbox]{font-size:12px}
.pw-table td input:not([type]){width:100%;font-size:12px}
.pw-table textarea{width:100%}
.pw-table .pw-sec{background:#c8c8c8;color:#222;text-align:center;font-weight:400}
.pw-len{margin-left:12px}
.pw-table{table-layout:fixed;width:100%}
.pw-table th{width:130px}
.pw-table input:not([type=checkbox]),.pw-table select,.pw-table textarea{box-sizing:border-box;max-width:100%}
.pw-wrap{max-width:770px;margin:8px auto}

#patnew .pw-table input:not([type=checkbox]),#patnew .pw-table select,#patnew .pw-table textarea{width:100%;font-size:12px}
#patnew .pw-table td input[type=checkbox]{width:auto}
#patnew .pw-table td select{width:auto;min-width:70px}
#patnew .pw-table td textarea{width:100%}

/* パターン編集表：見出しを改行させない幅 */
#patedit .pw-table th{
  width:90px;
  min-width:90px;
  white-space:nowrap;
}
.se-fare-in{width:110px;text-align:right;font-size:12px}

.wh-wrap{max-width:720px;margin:12px auto;font-size:12px}
.wh-table{width:100%;border-collapse:collapse;background:#fff}
.wh-table th,.wh-table td{border:1px solid #1d4fa0;padding:4px 6px;text-align:left}
.wh-table th{background:#e8eef6;font-weight:400}
.wh-grp{background:#1b4f85;color:#fff;text-align:center;width:90px}
.wh-lbl{text-align:center;background:#eef4fb}
.wh-no{text-align:right}
.wh-val{text-align:right}
.wh-sum{text-align:right;background:#f0f0f0}
.wh-diff{background:#cfcfcf;text-align:center}
.wh-diff-v{text-align:center;font-weight:700;background:#f0f0f0}
.wh-in{width:100%;text-align:right;background:#fff8c8;border:1px solid #444;font-size:12px}
.wh-memo{width:100%;background:#fff8c8;border:1px solid #444;font-size:12px}
.wh-actions{display:flex;justify-content:center;gap:16px;margin:14px 0}
.wh-actions button{padding:8px 26px;border:1px solid #777;font-weight:700}
.wh-save{background:#a9dcf2}.wh-cancel{background:#f6e27a}

.st-wrap{max-width:820px;margin:10px auto;font-size:12px}
.st-table{width:100%;border-collapse:collapse;background:#fff}
.st-table th,.st-table td{border:1px solid #9aa6b2;padding:4px 8px;text-align:left}
.st-table th{background:#f0f3f6;width:260px;font-weight:400}
.st-table td input:not([type=checkbox]),.st-table td select{width:100%;font-size:12px}
.st-sec{background:#cfd6dd !important;text-align:center;font-weight:700}
.st-note{font-size:11px;margin:8px 0}
.st-actions{display:flex;justify-content:center;gap:16px;margin:12px 0}
.st-actions button{padding:8px 26px;border:1px solid #777;font-weight:700}
.st-save{background:#a9dcf2}.st-cancel{background:#f6e27a}

.st-wrap{max-width:1000px;margin:10px auto;font-size:12px}
.st-table{width:100%;border-collapse:collapse;background:#fff}
.st-table th,.st-table td{border:1px solid #6a8db5;padding:3px 7px;text-align:left;vertical-align:middle}
.st-table > tbody > tr > th:first-child{background:#1b4f85;color:#fff;font-weight:400;width:200px}
.st-sub{background:#eef4fb;color:#111;width:200px;font-weight:400}
.st-sec{background:#cfcfcf !important;color:#111;text-align:center;font-weight:400}
.st-table input:not([type=checkbox]),.st-table select{font-size:12px}
.st-table td input:not([type=checkbox]):not(.st-n2){width:100%}
#settings .st-table tr:nth-of-type(25) td{line-height:1.35}
#settings .st-table tr:nth-of-type(25) td select{display:block;width:100%;min-width:0;margin:2px 0 7px;font-size:14px;line-height:1.3}
.kc-rate-wrap{margin-top:14px;border-top:1px solid #9aaabd;padding-top:8px}.kc-helper-rate-title{margin-top:12px;background:#9bc7a8;color:#fff;text-align:center;font-weight:700;padding:6px}.kc-rate-scroll{max-width:100%;overflow:auto}.kc-rate-table{min-width:980px}.kc-helper-rate-table{min-width:600px}.kc-rate-table th,.kc-helper-rate-table th{background:#06436f;color:#fff;white-space:nowrap}.kc-rate-table td,.kc-helper-rate-table td{padding:4px 6px}.kc-rate-table input,.kc-rate-table select,.kc-helper-rate-table input,.kc-helper-rate-table select{width:100%;box-sizing:border-box;min-width:0}.kc-rate-table td:first-child{min-width:150px}.kc-rate-table td:nth-child(2),.kc-rate-table td:nth-child(3){min-width:125px}.kc-rate-table td:nth-child(n+4):nth-child(-n+8){min-width:95px}.kc-rate-table td:last-child,.kc-helper-rate-table td:last-child{text-align:center;min-width:56px}.kc-rate-table input[type=checkbox],.kc-helper-rate-table input[type=checkbox]{width:18px;height:18px}
.he-rate-scroll{max-width:100%;overflow:auto}.he-rate-table{min-width:720px}.he-rate-table th{background:#06436f;color:#fff;white-space:nowrap}.he-rate-table td{padding:4px 6px}.he-rate-table input,.he-rate-table select{width:100%;box-sizing:border-box;min-width:0}.he-rate-table input[type=checkbox]{width:18px;height:18px}.he-rate-table td:first-child{min-width:120px}.he-rate-table td:nth-child(2){min-width:150px}
@media(max-width:560px){.kc-rate-table{min-width:980px}.kc-helper-rate-table{min-width:560px}.kc-rate-wrap .ce-small{font-size:12px}}
.st-n2{width:110px;font-size:12px}
.st-n{color:#c4151c;font-size:11px}
.st-c{white-space:nowrap;margin-right:6px}
.st-ex{color:#222}
.st-actions{display:flex;justify-content:center;gap:16px;margin:12px 0}
.st-actions button{padding:8px 26px;border:1px solid #777;font-weight:700}
.st-save{background:#a9dcf2}.st-cancel{background:#f6e27a}

.wh-brk{max-width:720px;margin:16px auto;font-size:12px}
.wh-brk-t{text-align:center;margin-bottom:4px}
.wh-brk-tbl{width:100%;border-collapse:collapse;background:#fff}
.wh-brk-tbl th,.wh-brk-tbl td{border:1px solid #1d4fa0;padding:4px 6px;text-align:right}
.wh-brk-tbl th{background:#1b4f85;color:#fff;font-weight:400;text-align:center}

.nt-wrap,.ne-wrap{max-width:1000px;margin:10px auto;font-size:12px}
.nt-page{text-align:right;font-size:11px;margin-bottom:4px}
.nt-table{width:100%;border-collapse:collapse;background:#fff}
.nt-table th,.nt-table td{border:1px solid #b8c4d0;padding:4px 8px;text-align:left;vertical-align:top}
.nt-table thead th{background:#1b4f85;color:#fff;font-weight:400;text-align:center}
.nt-d{text-align:center;white-space:nowrap;font-size:11px}
.nt-actions{display:flex;justify-content:flex-end;margin:12px 0}
.nt-new{padding:8px 30px;border:1px solid #777;background:linear-gradient(#fff,#ddd);font-weight:700}
.ne-table{width:100%;border-collapse:collapse;background:#fff}
.ne-table th,.ne-table td{border:1px solid #6a8db5;padding:6px 8px;text-align:left;vertical-align:top}
.ne-table > tbody > tr > th{background:#1b4f85;color:#fff;font-weight:400;width:110px}
.ne-table textarea,.ne-table input{width:100%;font-size:12px}
.ne-table textarea{font-family:inherit;line-height:1.5}
.ne-actions{display:flex;justify-content:center;gap:16px;margin:14px 0}
.ne-actions button{padding:8px 26px;border:1px solid #777;font-weight:700}
.ne-save{background:#a9dcf2}.ne-cancel{background:#f6e27a}.ne-del{background:#f3b7c8}
.ne-actions button:disabled{opacity:.6}

.pg2-wrap{max-width:900px;margin:10px auto;font-size:12px}
.pg2-top{display:flex;align-items:center;gap:20px;margin-bottom:12px}
.pg2-grant{padding:6px 22px;border:1px solid #777;background:linear-gradient(#fff,#ddd);font-weight:700}
.pg2-title{font-size:14px}
.pg2-table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}
.pg2-table th,.pg2-table td{border:0;border-bottom:1px solid #9aa6b2;padding:8px 10px;text-align:left}
.pg2-table thead th{background:#f0efe6;color:#111;font-weight:700}
.pg2-link{color:#1d4fa0}
.pg2-back{text-align:right;margin:12px 0}
.pg2-back-btn{padding:8px 26px;border:1px solid #777;background:#f6e27a;font-weight:700}
.pg2-work{width:100%;border-collapse:collapse;margin-top:18px;font-size:12px;background:#fff}
.pg2-work td{border:1px solid #9aa6b2;text-align:center;padding:6px 4px}
.pg2-wh{background:#1b4f85;color:#fff;text-align:left;padding:6px 10px;font-weight:400}
.pg2-sum{float:right}
.pg2-nav{text-align:center;margin:10px 0;color:#1d4fa0}

.gn-wrap{max-width:560px;margin:14px auto;font-size:13px}
.gn-table{width:100%;border-collapse:collapse;background:#fff}
.gn-table th,.gn-table td{border:1px solid #1d4fa0;padding:6px 8px;text-align:left;vertical-align:middle}
.gn-table th{background:#1b4f85;color:#fff;font-weight:400;width:160px}
.gn-req{color:#ffd38a}
.gn-n{width:110px;font-size:12px;margin:2px 0}
.gn-actions{display:flex;justify-content:space-between;gap:16px;margin:16px 0;padding:0 40px}
.gn-actions button{padding:8px 28px;border:1px solid #777;font-weight:700}
.gn-save{background:#a9dcf2}.gn-cancel{background:#f6e27a}

.hr-wrap{max-width:1000px;margin:8px auto;font-size:12px}
.hr-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.hr-name{font-size:14px;font-weight:700}
.hr-scroll{overflow:auto}
.hr-table{width:100%;border-collapse:collapse;font-size:11px;background:#fff}
.hr-table th,.hr-table td{border:1px solid #9aa6b2;padding:3px 5px;text-align:left;white-space:nowrap}
.hr-table thead th{background:#1b4f85;color:#fff;font-weight:400;text-align:center}
.hr-table td.num{text-align:right}
.hr-c{text-align:center}
.hr-foot{display:flex;justify-content:space-between;align-items:center;margin:8px 0}
.hr-next{padding:4px 14px;border:1px solid #888;background:#fff}
.hr-total{font-weight:700}
.hr-note{font-size:11px;color:#333;line-height:1.6}
.hr-btns{display:flex;justify-content:center;gap:12px;margin:12px 0;flex-wrap:wrap}
.hr-b{padding:8px 16px;border:1px solid #777;background:linear-gradient(#fff,#ddd);font-weight:700}
.hr-b:disabled{opacity:.6}
.hourly-add{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:6px 0 10px;padding:8px 10px;background:#f1f7ff;border:1px solid #bcd4f0;border-radius:6px}
.hourly-add label{font-weight:700;font-size:12px;color:#17233d}
.hourly-add input{padding:4px 8px;border:1px solid #9bb6d6;border-radius:4px;font-size:13px}
.hourly-add #hourlyAddBtn{cursor:pointer}
.hourly-add-note{flex:1 1 100%;font-size:11px;color:#33506f;line-height:1.6}
.master-row{cursor:pointer}
#masterRows .master-row:hover td{background:#eaf3ff}
#masterRows .master-row:focus{outline:2px solid #2f6fd6;outline-offset:-2px}
#masterRows .master-row:focus:not(:focus-visible){outline:none}
.hl-pink{color:#ff00ff;font-size:11px;display:inline-block}
#masterRows td.num{white-space:nowrap}
/* 時給単価【修正】のサービス名ラベル：白背景＋白文字で見えない不具合を修正（色付き背景を復活） */
.hl-table .hl-item.g-body{background:#2e8b2e;color:#fff}
.hl-table .hl-item.g-blue{background:#3a72d6;color:#fff}
.hl-table .hl-item.g-purple{background:#7b4fb3;color:#fff}
.hl-table .hl-item.g-orange{background:#f39a1c;color:#fff}
.hl-table .hl-item.g-khaki{background:#8f8f6a;color:#fff}
.hl-table .hl-item.g-lav{background:#9db1f2;color:#111}
.hl-table .hl-item.hl-other{background:#1f5fb0;color:#fff}
.rt-wrap{max-width:560px;margin:0 auto}
.rt-head{margin:10px 0}
.rt-head select{padding:4px 8px;border:1px solid #9bb6d6;border-radius:4px}
.rt-table th.rt-ck,.rt-table td.rt-ck{width:48px;text-align:center}
.rt-actions{display:flex;gap:12px;justify-content:center;margin:12px 0}
.kei-sw{display:inline-block;min-width:46px;padding:2px 8px;text-align:center;border-radius:3px;font-weight:700;border:1px solid #d9e2ef}
.kei-sw.kei-none{background:#fff;color:#17233d}
.hourly-add[hidden]{display:none}
.se-kou{background:#006666!important;color:#fff!important}
.se-del{background:#f33;color:#fff}
.se-n{width:110px;text-align:right}
.se-history{margin:14px 0}
.se-htitle{text-align:center;margin:8px 0;font-size:15px}
.se-hist{border-collapse:collapse;margin:0 auto;min-width:520px}
.se-hist th{background:#003399;color:#fff;font-weight:700;padding:4px 10px;font-size:12px}
.se-hist td{background:#fff;border:1px solid #c7d2e0;padding:4px 10px;font-size:12px}
.se-hist .se-arrow{text-align:center;font-weight:700}
.ai-date select{padding:2px 4px;border:1px solid #9bb6d6;border-radius:4px}
/* 削除履歴一覧：実システムに合わせ、ヘッダー行を赤(#990000)に */
#deleted .data-table th{background:#990000;color:#fff}
.del-foot{text-align:left;margin:10px 4px;max-width:1100px;display:flex;justify-content:flex-start;align-items:center;gap:10px}
.del-foot span{font-size:13px}
.del-exec{background:#cc0000;color:#fff;border:1px solid #990000;padding:6px 22px;font-weight:700;border-radius:3px}
.del-exec:disabled{opacity:.75;cursor:not-allowed}
.del-note{max-width:1100px;margin:6px auto;text-align:center;font-size:12px;color:#444}
/* 休暇入力【新規】：ピンク配色＋カレンダー */
.ln-wrap{max-width:560px;margin:8px auto}
.ln-table{width:100%;border-collapse:collapse;font-size:13px}
.ln-table th,.ln-table td{border:1px solid #c9a6c9;padding:5px 8px;text-align:left;vertical-align:top}
.ln-table th{background:#FFCCFF;color:#000;width:110px;font-weight:700}
.ln-table select,.ln-table input,.ln-table textarea{padding:3px 5px;border:1px solid #c9a6c9;border-radius:3px}
.ln-warn{color:#c00;font-size:11px;display:block;margin:4px 0}
.ln-cal-wrap{margin-top:6px}
.ln-cal{border-collapse:collapse;width:322px}
.ln-cal th,.ln-cal td{border:1px solid #ccc;width:40px;height:22px;text-align:center;font-size:12px}
.ln-cal thead th{background:#f3f3f3;cursor:pointer;font-weight:700}
.ln-cal th.ln-w0{background:#ffeeee}.ln-cal th.ln-w6{background:#eef7ff}
.ln-allrow td,.ln-clearrow td{background:#eeeeee;cursor:pointer;font-size:11px}
.ln-cal .ln-day{text-align:left;padding:2px 4px}
.ln-cal .ln-day.ln-w0{background:#ffeeee}.ln-cal .ln-day.ln-w6{background:#eef7ff}
.ln-cal .ln-day label{cursor:pointer;display:block}
.ln-cal .ln-empty{background:#fafafa}
.ln-actions{display:flex;gap:12px;justify-content:center;margin:12px 0}
.ln-actions button{padding:7px 22px;border:1px solid #777;font-weight:700;border-radius:3px}
.ln-save{background:#4a78c8;color:#fff}.ln-cancel{background:#f6e27a}
/* 休暇一覧：ピンク系テーマに合わせヘッダーをピンクに */
#leave .data-table th{background:#FFCCFF;color:#000}
/* メール一括送信先選択：表の幅を狭める（横スクロール解消） */
#mailbulk .old-table-wrap{max-width:820px}
#mailbulk .data-table.old-table{min-width:0;width:100%}
#mailbulk .data-table.old-table th,#mailbulk .data-table.old-table td{white-space:nowrap}
/* メール一括送信先選択：1画面に収める（折り返し可・幅100%・コンパクト） */
#mailbulk .old-table-wrap{max-width:100%;overflow-x:auto}
#mailbulk .data-table.old-table{min-width:0;width:100%;font-size:11px}
#mailbulk .data-table.old-table th,#mailbulk .data-table.old-table td{white-space:normal;word-break:break-all;padding:3px 5px}
#mailbulk .mail-top{flex-wrap:wrap}
/* シフト入力【修正】の実績インライン展開 */
.ac-inline{display:inline-flex;align-items:center;gap:4px;margin-left:10px}
.ac-inline[hidden]{display:none}
.ac-len2{font-weight:700;color:#17233d;margin-left:6px}
.ac-btn.ac-on{background:#cfe8c0;border-color:#8bbf6a}
.ac-len2{white-space:nowrap}
.ac-inline{flex-wrap:wrap}
/* シフト一覧：列ヘッダークリックで並び替え */
#shifts thead th.sortable{cursor:pointer;user-select:none}
#shifts thead th.sortable:hover{background:#0a4d80}
#shifts thead th.sorted{background:#0a4d80}
/* 削除シフト検索：赤テーマ（削除系） */
.ds-wrap{max-width:620px;margin:8px auto}
.ds-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}
.ds-table th,.ds-table td{border:1px solid #b89aa0;padding:5px 7px;text-align:left;vertical-align:middle}
.ds-table th{background:#990000;color:#fff;width:150px;font-weight:700}
.ds-table .ds-sec{background:#cccccc;color:#000;text-align:center;width:auto}
.ds-table select,.ds-table input[type=text]{padding:3px 5px;border:1px solid #c9b0b4;border-radius:3px}
.ds-table input[type=text]{width:90%}
.ds-table select{max-width:100%}
.ds-actions{display:flex;gap:12px;justify-content:center;margin:12px 0}
.ds-actions button{padding:7px 22px;border:1px solid #777;font-weight:700;border-radius:3px}
.ds-run{background:#cc0000;color:#fff;border-color:#990000}
@media (max-width:700px){
  .calendar-status-filter{align-items:flex-start;flex-wrap:wrap}
  .calendar-status-filter .filter-help{flex-basis:100%;font-size:11px;white-space:normal}
}
.se-service-breakdown{display:inline-flex;gap:4px;flex-wrap:wrap;margin-left:4px;font-size:12px;vertical-align:middle}.se-service-breakdown:empty{display:none}.se-service-part{display:inline-block;border:1px solid #8aa4bd;background:#eef5fa;padding:1px 5px;white-space:nowrap}.se-service-part.body{border-color:#8b9fca;background:#eef1ff}.se-service-part.life{border-color:#a1b98b;background:#f0f8e9}.se-service-note{color:#6a5a22;margin-left:4px}
.ce-small{white-space:nowrap}
.ce-birth{white-space:nowrap;display:inline-flex;align-items:center;gap:.18rem}
#helperedit .ce-col label:has(#heGender){white-space:nowrap}
#clientedit .ce-col label{white-space:nowrap}
#clientedit .ce-small{white-space:nowrap}
/* 利用者マスタ：介護度と自己負担率は給与設定と同じ独立ブロックとして表示 */
#clientedit .ce-policy-block{border-left:4px solid #9dc7a8;padding:5px 7px;font-weight:700;background:#e8f3eb}
#clientedit .ce-policy-block .ce-date{font-weight:400;background:#fff;padding:3px 4px;border:1px solid #c6dccd}
#clientedit .ce-policy-block .ce-date select{width:42px!important;flex:0 0 42px;padding-left:2px;padding-right:2px}
#clientedit .ce-policy-block .ce-date select.ce-n{width:32px!important;flex-basis:32px}
#clientedit #ceExpiryEra,#clientedit #ceCareExpiryEra,#clientedit #ceCopayExpiryEra{width:42px!important;flex:0 0 42px;padding-left:2px;padding-right:2px}
#clientedit #ceExpiryYear,#clientedit #ceExpiryMonth,#clientedit #ceExpiryDay,#clientedit #ceCareExpiryYear,#clientedit #ceCareExpiryMonth,#clientedit #ceCareExpiryDay,#clientedit #ceCopayExpiryYear,#clientedit #ceCopayExpiryMonth,#clientedit #ceCopayExpiryDay{width:32px!important;flex:0 0 32px;padding-left:2px;padding-right:2px}
#clientedit #ceCopayRate{width:42px!important;flex:0 0 42px;padding-left:2px;padding-right:2px}
#clientedit .ce-grid{grid-template-columns:1fr}

/* 利用者名・フリガナの入力欄をラベル右側へ配置 */
#clientedit .ce-col label:has(#ceName),
#clientedit .ce-col label:has(#ceKana){
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
#clientedit .ce-col label:has(#ceName)>#ceName,
#clientedit .ce-col label:has(#ceKana)>#ceKana{
  flex:1 1 auto;
  min-width:0;
  width:auto;
}

/* 利用者編集画面：指定された幅と左寄せ */
#clientedit #cePhone,
#clientedit #ceMail,
#clientedit #ceShort,
#clientedit .ce-grid:nth-of-type(4) .ce-col:nth-child(1) label:nth-child(1) select,
#clientedit .ce-grid:nth-of-type(4) .ce-col:nth-child(1) label:nth-child(3) select,
#clientedit .ce-grid:nth-of-type(4) .ce-col:nth-child(2) label:nth-child(1) select,
#clientedit .ce-grid:nth-of-type(5) .ce-col:nth-child(1) label:nth-child(2) input,
#clientedit .ce-grid:nth-of-type(5) .ce-col:nth-child(1) label:nth-child(3) select,
#clientedit .ce-grid:nth-of-type(5) .ce-col:nth-child(2) label:nth-child(1) select,
#clientedit .ce-grid:nth-of-type(5) .ce-col:nth-child(2) label:nth-child(2) select,
#clientedit .ce-grid:nth-of-type(5) .ce-col:nth-child(2) label:nth-child(3) select{
  width:20%;
  margin-left:0;
  margin-right:auto;
}
#clientedit .ce-grid:nth-of-type(2) .ce-col:nth-child(2) label:nth-child(5) input,
#clientedit .ce-grid:nth-of-type(4) .ce-col:nth-child(1) label:nth-child(1) select{
  width:10%;
  margin-left:0;
  margin-right:auto;
}
#clientedit #ceActive,
#clientedit .ce-grid:nth-of-type(4) .ce-col:nth-child(2) label:nth-child(3) input{
  margin-left:0;
  margin-right:auto;
}
#clientedit #ceIns{
  width:20%;
  margin-left:2em;
  margin-right:auto;
}

/* 受給者証番号の有効期限：プルダウン間の空白を詰める */
#clientedit .ce-col label:has(#ceExpiryEra){
  display:flex;
  align-items:center;
  gap:2px;
  white-space:nowrap;
}
#clientedit .ce-col label:has(#ceExpiryEra) .ce-date{
  display:flex;
  align-items:center;
  gap:0;
}

/* 有効期限を独立した下段パネルとして表示 */
#clientedit .ce-col label:has(#ceExpiryEra){
  display:block;
}
#clientedit .ce-col label:has(#ceExpiryEra) .ce-date{
  display:flex;
  width:100%;
  margin-top:3px;
}
#clientedit .ce-expiry-caption{
  display:inline;
  margin-top:0;
}

/* 有効期限の年月日を同じ上段に配置 */
#clientedit .ce-col label:has(#ceExpiryEra){
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:2px;
  white-space:nowrap;
}
#clientedit .ce-col label:has(#ceExpiryEra) .ce-date{
  display:inline-flex;
  width:auto;
  margin-top:0;
  flex:0 0 auto;
}

/* 受給者証番号・有効期限の2パネル */
#clientedit .ce-col label:has(#ceExpiryEra){
  display:flex;
  align-items:center;
  gap:6px;
}
#clientedit .ce-recipient-panel,
#clientedit .ce-expiry-panel{
  display:flex;
  align-items:center;
  gap:3px;
  min-width:0;
}
#clientedit .ce-recipient-panel{flex:0 0 42%;}
#clientedit .ce-expiry-panel{flex:1 1 auto;}
#clientedit .ce-recipient-panel input{width:100%;min-width:0;}

/* 有効期限パネルを受給者証番号の下へ */
#clientedit .ce-col label:has(#ceExpiryEra){
  flex-direction:column;
  align-items:stretch;
}
#clientedit .ce-recipient-panel,
#clientedit .ce-expiry-panel{
  width:100%;
  flex:0 0 auto;
}

/* 有効期限パネル内のプルダウン幅 */
#clientedit #ceExpiryEra{width:30%!important;flex:0 0 30%!important;}
#clientedit #ceExpiryYear,
#clientedit #ceExpiryMonth,
#clientedit #ceExpiryDay{width:20%!important;flex:0 0 20%!important;}
#clientedit .ce-expiry-panel .ce-date:has(#ceExpiryDay)::after{content:'日';margin-left:2px;}

/* 追加指定：利用者編集画面の各入力幅 */
#clientedit .ce-grid:nth-of-type(5) .ce-col:nth-child(1) label:nth-child(3) select{width:30%;}
#clientedit .ce-grid:nth-of-type(5) .ce-col:nth-child(1) label:nth-child(2) input{width:100%;}
#clientedit .ce-grid:nth-of-type(4) .ce-col:nth-child(2) label:nth-child(1) select{width:30%;}
#clientedit .ce-grid:nth-of-type(4) .ce-col:nth-child(1) label:nth-child(3) select{width:30%;}
#clientedit .ce-grid:nth-of-type(4) .ce-col:nth-child(1) label:nth-child(1) select{width:30%;}
#clientedit .ce-grid:nth-of-type(2) .ce-col:nth-child(2) label:nth-child(5) input{width:50%;}
#clientedit #ceGender{width:30%;}
#clientedit .ce-grid:nth-of-type(2) .ce-col:nth-child(2) label:nth-child(2) select{width:50%;}
#clientedit #ceShort,#clientedit #cePhone,#clientedit #ceName,#clientedit #ceKana{width:50%;}
#clientedit #ceIns{width:50%;margin-left:2em;}
#clientedit .ce-grid:nth-of-type(4) .ce-col:nth-child(2) label:nth-child(1) select{width:35%;}

/* 年齢の計算値と「歳」を同じ行にする */
#clientedit .ce-col label:has(#ceAge){
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  align-items:center;
  gap:4px;
  white-space:nowrap;
}
#clientedit #ceAge{display:inline-block;}
#clientedit .ce-age-value{grid-column:2;display:inline-block;text-align:left;}

/* 日の重複表示と不要な改行を解除 */
#clientedit .ce-expiry-panel .ce-date:has(#ceExpiryDay)::after{content:none;}
#clientedit .ce-expiry-panel .ce-date{
  display:inline-flex;
  width:auto;
  margin-top:0;
  flex-wrap:nowrap;
}

/* 有効期限パネルを折り返さない */
#clientedit .ce-expiry-panel{
  flex-wrap:nowrap;
  white-space:nowrap;
  gap:1px;
  font-size:12px;
  overflow:hidden;
}
#clientedit .ce-expiry-panel .ce-date{
  flex-wrap:nowrap;
  gap:0;
  min-width:0;
}

/* E-MAILはセル幅の50% */
#clientedit #ceMail{width:50%!important;}

/* 有効期限の日表示が右側に出るようにする */
#clientedit .ce-expiry-panel{overflow:visible;}

/* 被保険者番号入力を「番号」の右側へ */
#clientedit .ce-col label:has(#ceIns){
  display:flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
}
#clientedit .ce-col label:has(#ceIns) #ceIns{
  width:50%;
  margin-left:0;
  margin-right:auto;
}

/* ヘルパー賃金体系：旧画面の密度を保ち、狭い画面でも列見出しを一行で表示 */
#helperedit .he-rate-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden}
#helperedit .he-rate-table{width:100%;min-width:560px;table-layout:fixed}
#helperedit .he-rate-table th,#helperedit .he-rate-table td{white-space:nowrap;overflow:hidden;text-overflow:clip}
#helperedit .he-rate-table th:nth-child(1),#helperedit .he-rate-table td:nth-child(1){width:22%;min-width:0}
#helperedit .he-rate-table th:nth-child(2),#helperedit .he-rate-table td:nth-child(2){width:26%;min-width:0}
#helperedit .he-rate-table th:nth-child(3),#helperedit .he-rate-table td:nth-child(3){width:22%;min-width:0}
#helperedit .he-rate-table th:nth-child(4),#helperedit .he-rate-table td:nth-child(4){width:22%;min-width:0}
#helperedit .he-rate-table th:nth-child(5),#helperedit .he-rate-table td:nth-child(5){width:8%;min-width:44px}
@media(max-width:560px){
  #helperedit .he-rate-table{min-width:520px;font-size:11px}
  #helperedit .he-rate-table th,#helperedit .he-rate-table td{padding:3px 4px}
}

/* ヘルパー設定の車両・契約日を狭い画面でも一列で表示 */
#helperedit .he-vehicle-settings label{display:flex!important;align-items:center;gap:4px;white-space:nowrap}
#helperedit .he-vehicle-settings select,#helperedit .he-vehicle-settings input{flex:0 0 30%;width:30%!important;min-width:0!important;box-sizing:border-box}
#helperedit .ce-contract-year{flex:0 0 60px!important;width:60px!important;min-width:60px!important}
#helperedit .ce-contract-month,#helperedit .ce-contract-day{flex:0 0 40px!important;width:40px!important;min-width:40px!important}
#helperedit .ce-col label:has(.ce-contract-year){gap:0}
