*{box-sizing:border-box}body{margin:0;background:#f3f6f8;color:#19384d;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}.shift-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px;background:#17384f;color:#fff}.shift-header span{font-size:11px;font-weight:900;letter-spacing:.12em;color:#abd1e5}.shift-header h1{margin:3px 0 0;font-size:24px}.shift-header-actions{display:flex;align-items:center;gap:12px}.shift-header-actions a{color:#fff;text-decoration:none;border:1px solid #7894a6;padding:8px 12px;border-radius:8px}.shift-main{max-width:920px;margin:0 auto;padding:20px}.shift-note{background:#fff8df;border:1px solid #efd88c;padding:12px 14px;border-radius:10px;line-height:1.65}.identity-box{display:flex;align-items:center;gap:10px;margin:14px 0;padding:12px 14px;background:#fff;border:1px solid #d4dee5;border-radius:10px}.identity-box span{font-size:12px;color:#71838e}.identity-box strong{font-size:15px}.identity-box button{margin-left:auto;min-height:36px;border:1px solid #bccbd5;border-radius:8px;background:#fff;font-weight:800;color:#29485d}.shift-message{padding:10px 12px;border-radius:8px;background:#e9f6ed;color:#17683d}.shift-message.error{background:#fff0ed;color:#9a3429}.coverage-panel{background:#fff;border:1px solid #d4dee5;border-radius:12px;padding:15px;margin-bottom:16px}.coverage-panel h2{margin:0 0 4px;font-size:17px}.coverage-panel p{margin:0 0 10px;color:#667c89;font-size:13px}.coverage-warnings{display:flex;gap:7px;flex-wrap:wrap}.coverage-ok{display:inline-flex;padding:7px 10px;border-radius:8px;background:#e8f6ed;color:#17683d;font-weight:800;font-size:12px}.coverage-warning{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:8px;background:#fff0ed;border:1px solid #e4b4ad;color:#983a30;font-size:12px;font-weight:900}.coverage-loading{color:#768996}.shift-days{display:grid;gap:16px}.shift-day{background:#fff;border:1px solid #d8e1e7;border-radius:12px;overflow:hidden}.shift-day-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#f4f7f9}.shift-day-head h2{margin:0;font-size:18px}.shift-day-head span{font-size:12px;color:#647985}.shift-rows{padding:10px}.shift-row{display:grid;grid-template-columns:minmax(130px,1.2fr) 120px 120px auto auto;gap:8px;align-items:center;margin-bottom:8px}.shift-row select{min-height:40px;border:1px solid #bccbd5;border-radius:8px;padding:7px 8px;background:#fff;font:inherit;color:#29485d}.shift-row button,.shift-actions button{min-height:38px;border:1px solid #bccbd5;border-radius:8px;background:#fff;padding:7px 10px;font-weight:800;color:#29485d}.shift-row .remove{color:#a23d34;border-color:#d9aaa5}.shift-actions{display:flex;gap:8px;padding:0 10px 12px}.shift-actions .save-day{margin-left:auto;background:#176b42;border-color:#176b42;color:#fff}.empty-row{padding:12px;color:#71838e;text-align:center}.day-warnings{display:flex;gap:6px;flex-wrap:wrap;padding:0 10px 10px}.day-warning{display:inline-flex;padding:5px 8px;border-radius:7px;background:#fff0ed;color:#983a30;font-size:11px;font-weight:900;border:1px solid #e4b4ad}.day-ok{display:inline-flex;padding:5px 8px;border-radius:7px;background:#e8f6ed;color:#17683d;font-size:11px;font-weight:800}@media(max-width:700px){.shift-header{padding:14px 16px}.shift-header h1{font-size:20px}.shift-header-actions strong{display:none}.shift-main{padding:14px}.identity-box{flex-wrap:wrap}.shift-row{grid-template-columns:1fr 1fr}.shift-row .area{grid-column:1/3}.shift-row .all-day,.shift-row .remove{width:100%}.shift-actions{flex-wrap:wrap}.shift-actions .save-day{margin-left:0;flex:1}.shift-actions .add-shift{flex:1}.shift-day-head{align-items:flex-start;gap:8px;flex-direction:column}}

.effective-summary{display:flex;gap:6px;flex-wrap:wrap;padding:10px 10px 2px;background:#fbfcfd}.effective-shift{display:inline-flex;align-items:center;gap:4px;padding:6px 9px;border:1px solid #cfdbe3;border-radius:999px;background:#fff;color:#29485d;font-size:12px;font-weight:800}.effective-shift small{color:#7b6b2f;font-size:10px}.day-warning::first-letter{font-weight:900}

/* V0.15.2 monthly self shift */
.shift-month-toolbar{display:grid;grid-template-columns:auto minmax(170px,1fr) auto;gap:10px;align-items:center;margin:14px 0 10px;padding:11px;border:1px solid #d6e0e6;border-radius:11px;background:#f8fafb}.shift-month-toolbar>div{text-align:center}.shift-month-toolbar span{display:block;font-size:11px;color:#71838e;font-weight:900}.shift-month-toolbar strong{font-size:20px}.shift-month-toolbar button{min-height:40px;border:1px solid #bccbd5;border-radius:8px;background:#fff;font-weight:900;color:#29485d;padding:7px 12px}.my-calendar-wrap{border:1px solid #d7e1e7;border-radius:12px;background:#fff;overflow:hidden;margin-bottom:16px}.my-weekdays,.my-shift-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.my-weekdays span{padding:8px 4px;text-align:center;background:#edf3f6;border-right:1px solid #dae4e9;font-size:12px;font-weight:900;color:#536b7a}.my-weekdays span:last-child{border-right:0}.my-shift-calendar{border-top:1px solid #dae4e9}.calendar-empty{min-height:76px;background:#fafcfd;border-right:1px solid #edf1f4;border-bottom:1px solid #edf1f4}.my-calendar-day{min-height:76px;border:0;border-right:1px solid #edf1f4;border-bottom:1px solid #edf1f4;background:#fff;padding:7px;text-align:left;display:flex;flex-direction:column;gap:3px;color:#29485d;cursor:pointer}.my-calendar-day:nth-child(7n){border-right:0}.my-calendar-day>span{font-size:15px;font-weight:900}.my-calendar-day strong{font-size:11px}.my-calendar-day small{font-size:10px;color:#6f8390}.my-calendar-day.has-shift{background:#eff9f2}.my-calendar-day.has-shift strong{color:#17683d}.my-calendar-day.no-shift strong{color:#8797a1}.my-calendar-day.selected{outline:3px solid #1677a8;outline-offset:-3px}.my-calendar-day.today>span{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#17384f;color:#fff}.effective-summary{display:flex;gap:6px;flex-wrap:wrap;padding:10px}.effective-shift{display:inline-flex;gap:4px;align-items:center;padding:6px 8px;border-radius:8px;background:#eef4f7;font-size:11px;color:#385569}.effective-shift small{padding:1px 5px;border-radius:999px;background:#dde7ec}.coverage-warning{cursor:pointer}.coverage-warning.today{background:#ffe9e5;border-color:#dc9f98}.coverage-warning.urgent{background:#fff3e4;border-color:#e1bd86}
@media(max-width:700px){.shift-month-toolbar{grid-template-columns:1fr 1.2fr 1fr;padding:9px}.shift-month-toolbar button{padding:7px 5px;font-size:12px}.shift-month-toolbar strong{font-size:17px}.calendar-empty,.my-calendar-day{min-height:64px}.my-calendar-day{padding:5px}.my-calendar-day>span{font-size:14px}.my-calendar-day strong{font-size:10px}.my-calendar-day small{font-size:9px}}

/* V0.15.2 fix1: shift alert collapse */
.coverage-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.coverage-panel-head>div{min-width:0}.coverage-panel-head h2 em{font-style:normal;font-size:12px;margin-left:4px}.coverage-panel-head button{min-width:72px;min-height:38px;border:1px solid #b7c7d1;border-radius:8px;background:#fff;color:#29485d;font-weight:900;cursor:pointer}.coverage-panel.is-collapsed .coverage-warnings{display:none}.coverage-panel.is-collapsed .coverage-panel-head p{margin-bottom:0}@media(max-width:700px){.coverage-panel-head{align-items:flex-start}.coverage-panel-head button{min-height:42px}}

/* V0.16.2 fix5: 自分の同一曜日一括登録 */
.shift-actions .copy-weekday{background:#eef7fc;border-color:#8bbbd3;color:#195f86;font-weight:900}.shift-weekday-note{margin:0 10px 12px;padding:8px 10px;border-radius:8px;background:#f4f8fa;color:#607789;font-size:11px;line-height:1.55}.copy-weekday:disabled{opacity:.55;cursor:not-allowed}@media(max-width:700px){.shift-actions .copy-weekday{width:100%}}

/* V0.18.0 fix25: 月間シフト 操作フィードバック */
.shift-main button{
  cursor:pointer;
  transition:transform .12s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease;
  -webkit-tap-highlight-color:rgba(23,107,66,.14);
}
@media (hover:hover) and (pointer:fine){
  .shift-main button:not(:disabled):hover{
    transform:translateY(-1px);
    box-shadow:0 5px 12px rgba(35,68,88,.13);
    border-color:#8ba9ba;
  }
  .shift-actions .save-day:not(:disabled):hover{
    background:#0f5c37;
    border-color:#0f5c37;
  }
  .shift-actions .copy-weekday:not(:disabled):hover{
    background:#dff1fa;
    border-color:#6ca9c7;
  }
  #my-add-shift:not(:disabled):hover{
    background:#f2f7fa;
  }
}
.shift-main button:not(:disabled):active,
.shift-main button.is-clicked:not(:disabled){
  transform:translateY(1px) scale(.985);
  box-shadow:inset 0 2px 4px rgba(31,61,79,.18);
}
.shift-main button:focus-visible{
  outline:3px solid rgba(230,139,38,.48);
  outline-offset:2px;
}
.shift-main button:disabled{
  cursor:not-allowed;
}
.shift-main button.is-busy{
  cursor:wait;
  opacity:.9;
  box-shadow:0 0 0 3px rgba(23,107,66,.12);
}
.shift-actions .save-day.is-busy{
  background:#145f3b;
  border-color:#145f3b;
}
.shift-actions .copy-weekday.is-busy{
  background:#dfeff7;
}
.shift-row.is-new{
  animation:bscShiftRowFlash .8s ease-out;
}
@keyframes bscShiftRowFlash{
  0%{background:#fff2cf;box-shadow:0 0 0 3px rgba(230,139,38,.26);border-radius:9px}
  100%{background:transparent;box-shadow:none}
}
#bsc-action-feedback,
#shift-message{
  scroll-margin-top:88px;
}
@media(max-width:700px){
  .shift-main button:not(:disabled):active,
  .shift-main button.is-clicked:not(:disabled){
    transform:scale(.975);
  }
  .shift-actions button{
    min-height:44px;
  }
}
