/* 20261025b: readable status, safe keyboard focus, mobile duty overview. */
:focus-visible{outline:3px solid #2e7c99;outline-offset:3px}
button:disabled{cursor:default}
#message:empty{display:none}
#message:not(:empty){position:sticky;top:8px;z-index:20;padding:13px 16px;border:1px solid #c8dfd2;background:#eef8f1;border-radius:12px;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
#message.error{color:#8e322e;background:#fff2ee;border-color:#e6c0b8}
.page-progress{position:fixed;top:0;left:0;right:0;z-index:100;background:#234b68;color:white;padding:9px;text-align:center;font-size:12px;box-shadow:0 2px 12px #234b6822}
.session-notice{border:1px solid #d6ac64;background:#fff5df;margin:15px 0;line-height:1.7}
.session-notice p{margin:8px 0}
.oncall-overview{background:#f3f7fa;border:1px solid #d7e3eb;border-radius:16px;padding:18px;margin-top:18px}
.oncall-overview h2{font-size:16px}
.coverage-counts{display:flex;gap:10px 22px;flex-wrap:wrap;margin:14px 0 10px;font-size:12px}
.coverage-counts b{font-size:22px;color:#234b68;margin-right:4px}
.oncall-overview summary{cursor:pointer;font-size:13px;color:#315f7a;line-height:1.8}
.oncall-staff{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:15px 0}
.oncall-staff article{display:grid;gap:7px;padding:14px;background:white;border:1px solid #dbe5ed;border-radius:12px;overflow-wrap:anywhere}
.oncall-staff strong{font-size:14px}.oncall-staff span{font-size:12px}.oncall-staff small{font-size:10px;color:#536b7d}
.coverage-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}
.coverage-day{display:grid;text-align:left;gap:6px;padding:12px;background:white;border:1px solid #d4e0e7;border-radius:10px;white-space:normal;min-width:0}
.coverage-day span{font-size:11px;color:#526c7e}.coverage-day strong{font-size:12px;overflow-wrap:anywhere}
.coverage-day.coverage-empty{border-color:#dcb99a;background:#fff7ed}.coverage-day.coverage-draft{border-style:dashed;background:#f4f6ff}
.active-doc-filters{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:12px 0}
.active-doc-filters>span{font-size:11px;padding:5px 9px;border-radius:7px;background:#e2eff0;color:#245e63}
.active-doc-filters button{font-size:11px;text-decoration:underline;color:#315f7a}
@media(max-width:700px){input:not([type=checkbox]):not([type=radio]),select,textarea,.home-search input,.search input{font-size:16px!important}dialog{max-height:calc(100dvh - 30px);overflow-y:auto}dialog .close{min-height:42px;min-width:42px}.oncall-overview{padding:14px}.coverage-days{grid-template-columns:repeat(2,minmax(0,1fr))}.coverage-counts{gap:8px 15px}.coverage-counts b{font-size:20px}.oncall-staff{grid-template-columns:1fr}#message:not(:empty){top:max(8px,env(safe-area-inset-top));font-size:12px}.calendar-month input[type=month]{max-width:160px}}
@media print{#message,#pageProgress,#sessionNotice,#dayChanged{display:none!important}}
@media(max-width:700px){.calendar-month{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px 6px}.calendar-month>.month-label{display:flex;width:100%;min-width:0}.calendar-month .month-label input[type=month]{width:100%;min-width:0;max-width:none}.calendar-month #thisMonth{grid-column:1/-1;justify-self:end;min-height:34px;font-size:13px;padding:6px 12px}}

.permission-summary{display:block;max-width:260px;white-space:normal;font-size:10px;color:#526b7c;margin-top:5px}.permission-dialog .check-label{line-height:1.8;align-items:flex-start}.permission-dialog .check-label input{flex:0 0 20px;margin-top:3px}.own-shift-note{padding:12px 0}
