/* Watchman rotation manager (/admin/watch/shifts, /super/watch/shifts).
   Source: _Info/UI Designs/Watchmen Shifts 1.html. Every rule is scoped to .gc-wsr so the
   app shell (sidebar, topbar, page padding) keeps its own styles. */

.gc-wsr{max-width:1240px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);padding:24px;
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-size:16px;line-height:normal;color:#1f3a5f;text-align:left}
.gc-wsr :is(h1,h2,p,table,th,td,label,input,select,button,small,b){box-sizing:border-box;margin:0;padding:0;letter-spacing:normal;text-transform:none}
.gc-wsr :is(div,span){box-sizing:border-box}
.gc-wsr h1{font-size:24px;font-weight:700;line-height:normal;color:#1f3a5f;margin-bottom:4px}
.gc-wsr h2{font-size:17px;font-weight:700;line-height:normal;color:#1f3a5f;margin:28px 0 12px;border-bottom:1px solid #e1e8f0;padding-bottom:8px}
.gc-wsr .sub{color:#6b7a8d;font-size:13px;margin-bottom:8px}
.gc-wsr .wsr-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}
.gc-wsr .wsr-row > .end{align-self:flex-end}
.gc-wsr label{font-size:12px;font-weight:400;color:#6b7a8d;display:block;margin-bottom:4px}
.gc-wsr input,.gc-wsr select{font:inherit;font-size:14px;padding:8px;border:1px solid #c9d6e8;border-radius:6px;background:#fff;color:#1f3a5f;height:auto;min-height:0;box-shadow:none;width:auto}
.gc-wsr select:disabled,.gc-wsr input:disabled{opacity:.6;cursor:not-allowed}
.gc-wsr .wsr-btn{display:inline-block;padding:8px 16px;background:#1f3a5f;color:#fff;border:none;border-radius:6px;font:inherit;font-size:14px;line-height:normal;cursor:pointer;text-decoration:none}
.gc-wsr .wsr-btn:hover{background:#2a4a7a;color:#fff}
.gc-wsr .wsr-btn:disabled{opacity:.6;cursor:not-allowed}
.gc-wsr .wsr-btn-secondary{background:#e8f1fb;color:#1f3a5f}
.gc-wsr .wsr-btn-secondary:hover{background:#d6e4f5;color:#1f3a5f}
.gc-wsr .wsr-btn-danger{background:#c0392b;color:#fff}
.gc-wsr .wsr-btn-danger:hover{background:#a93226;color:#fff}
.gc-wsr .wsr-btn-sm{padding:4px 10px;font-size:12px}
.gc-wsr .link-btn{background:none;border:none;color:#1f3a5f;text-decoration:underline;cursor:pointer;font:inherit;font-size:11px;padding:0}
.gc-wsr .wm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.gc-wsr .wm-card{background:#f9fbfd;border:1px solid #e1e8f0;border-radius:8px;padding:12px}
.gc-wsr .wm-card input,.gc-wsr .wm-card select{width:100%}
.gc-wsr .wm-card .gap-top{margin-top:10px}
.gc-wsr .strip{display:flex;gap:3px;margin-top:10px}
.gc-wsr .strip-cell{flex:1;text-align:center;font-size:11px;font-weight:700;padding:5px 0;border-radius:4px;color:#fff}
.gc-wsr .strip-cell.m{background:#2e6fb7}
.gc-wsr .strip-cell.n{background:#1f3a5f}
.gc-wsr .strip-cell.o{background:#b9c6d6;color:#4a5b70}
.gc-wsr .sched-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:10px}
.gc-wsr .sched-head .wsr-row{margin:0}
.gc-wsr .range{font-weight:700;font-size:15px}
.gc-wsr .range small{display:block;font-weight:400;color:#6b7a8d;font-size:12px}
.gc-wsr .table-scroll{overflow-x:auto}
.gc-wsr table{width:100%;border-collapse:collapse;background:transparent}
.gc-wsr th,.gc-wsr td{padding:8px;text-align:left;border:none;border-bottom:1px solid #eef2f7;font-size:13px;vertical-align:top;color:inherit}
.gc-wsr th{background:#f9fbfd;font-weight:600;color:#6b7a8d;text-transform:uppercase;font-size:11px;letter-spacing:.4px}
.gc-wsr tr.today{background:#fffdf3}
.gc-wsr tr.today td:first-child{box-shadow:inset 3px 0 0 #f0b429}
.gc-wsr .dow{font-weight:700;font-size:13px}
.gc-wsr .dnum{font-size:12px;color:#4a5b70}
.gc-wsr .cycle-tag{font-size:10px;color:#8a99ab;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.gc-wsr .cell select{width:100%;font-size:12px;padding:5px}
.gc-wsr .cell select + select{margin-top:4px;background:#fdf7e8;border-color:#e8d59b}
.gc-wsr .cell-meta{margin-top:4px;display:flex;gap:6px;align-items:center}
.gc-wsr .tag{font-size:10px;padding:1px 6px;border-radius:99px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.gc-wsr .tag-pattern{background:#eef2f7;color:#8a99ab}
.gc-wsr .tag-override{background:#fdf3d8;color:#8a6100}
.gc-wsr .wsr-badge{display:inline-block;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:700}
.gc-wsr .wsr-badge.ok{background:#e3f5e8;color:#1e7a3c}
.gc-wsr .wsr-badge.warn{background:#fdf3d8;color:#8a6100}
.gc-wsr .wsr-badge.bad{background:#fbe4e1;color:#a93226}
.gc-wsr .cover-note{font-size:11px;color:#a93226;margin-top:4px}
.gc-wsr .sum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.gc-wsr .sum-card{background:#f9fbfd;border:1px solid #e1e8f0;border-radius:8px;padding:12px}
.gc-wsr .sum-name{font-weight:700;font-size:13px;margin-bottom:8px}
.gc-wsr .sum-row{display:flex;justify-content:space-between;font-size:12px;padding:2px 0;color:#4a5b70}
.gc-wsr .sum-row b{color:#1f3a5f}
.gc-wsr .ext-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;background:#f9fbfd;border:1px solid #e1e8f0;border-radius:6px;margin-bottom:6px;font-size:13px}
.gc-wsr .ext-add{margin-top:10px}
.gc-wsr .ext-add .ext-name{min-width:180px}
.gc-wsr .ext-add .ext-phone{min-width:160px}
.gc-wsr .note{font-size:12px;color:#6b7a8d}
.gc-wsr .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #e1e8f0}

@media print{
  body:has(.gc-wsr){background:#fff}
  body:has(.gc-wsr) .gc-sidebar,
  body:has(.gc-wsr) .gc-topbar{display:none !important}
  .gc-wsr{box-shadow:none;padding:0}
  .gc-wsr .no-print{display:none !important}
  .gc-wsr th{background:#eee !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.gc-wsr .mx-cell{text-align:center;font-size:12px;font-weight:600;white-space:nowrap}
.gc-wsr .mx-day{background:#fff4d6;color:#8a6d00}
.gc-wsr .mx-night{background:#dfe6ff;color:#273b8a}
.gc-wsr .mx-rest{background:#f1f4f8;color:#6b7a8d}
.gc-wsr .mx-out{background:#f6e0e0;color:#8a2727}
.gc-wsr .mx-absence{background:#ffe3c2;color:#8a4a00}
.gc-wsr .mx-overlap{background:#ffd0d0;color:#8a0000;outline:2px solid #c62828}

@media (max-width:760px){
  .gc-wsr :is(table,thead,tbody,th,td,tr){display:block}
  .gc-wsr thead{display:none}
  .gc-wsr tr{border:1px solid #e1e8f0;border-radius:8px;margin-bottom:12px;padding:6px}
  .gc-wsr td{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;border-bottom:1px solid #eef2f7}
  .gc-wsr td:last-child{border-bottom:none}
  .gc-wsr td::before{content:attr(data-label);font-weight:700;font-size:11px;color:#6b7a8d;text-transform:uppercase;flex:0 0 90px;padding-top:6px}
  .gc-wsr .cell{flex:1}
}
