 /* Weekly Schedule Widget — styles
   Colours are controlled from the settings in your HTML page (ACCENT, OFF_BG, TEXT).
   You can also edit the rest of this file to change fonts, sizes and spacing. */

*{box-sizing:border-box}

.w{
  max-width:1100px;margin:0 auto;padding:12px;
  font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:14px;color:#2b2418;
}
h2{text-align:center;text-transform:uppercase;font-size:26px;margin:8px 0 14px;letter-spacing:.5px}

/* Filters */
.bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-end;margin-bottom:12px}
.bar label{display:flex;flex-direction:column;font-size:12px;color:#7a6a4f;gap:3px}
select{font:inherit;padding:8px 10px;border:1px solid #e3d3ad;border-radius:6px;background:#fff;color:#2b2418;min-width:150px}

/* Buttons */
button{font:inherit;cursor:pointer;border:0;border-radius:6px;padding:9px 14px;background:var(--msw-accent,#c09a5b);color:#fff;font-weight:600}
button.g{background:rgba(255,255,255,.85);color:var(--msw-text,#9c7a3e);border:1px solid var(--msw-accent,#c09a5b)}

/* Week navigation */
.nav{display:flex;gap:8px;align-items:center;justify-content:center;margin:8px 0 14px;font-weight:600}

/* Table */
.sc{overflow-x:auto;border:1px solid #e3d3ad;border-radius:6px;background:var(--msw-off,#ecd9ae)}
table{border-collapse:collapse;width:100%;min-width:760px}
th{background:var(--msw-accent,#c09a5b);color:#fff;font-size:11px;text-transform:uppercase;padding:10px 4px}
th.t{outline:2px solid #2b2418;outline-offset:-2px}      /* today's column */
td{border:1px solid #e3d3ad;text-align:center;height:76px;padding:2px;font-size:11px;font-weight:600;color:var(--msw-text,#9c7a3e)}
td.on{background:#fff}                                  /* working */
td.off{letter-spacing:.5px}                             /* off */
td.on b{display:block}

/* Name column */
.who{position:sticky;left:0;z-index:2;background:#faf5ec;width:120px;min-width:110px;padding:6px}
th.who{background:var(--msw-accent,#c09a5b)}
.pic{width:56px;height:68px;border-radius:4px;object-fit:cover;margin:0 auto 4px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;background:linear-gradient(135deg,var(--msw-accent,#c09a5b),#8a6a35)}
.nm{font-size:12px;line-height:1.25;color:var(--msw-text,#9c7a3e)}
.nm small{display:block;color:#7a6a4f;font-weight:500}

/* Messages */
.msg{text-align:center;padding:30px;color:#7a6a4f}

/* Profile extension: names become clickable when schedule-profiles.js is loaded */
:host([data-profiles]) td.who{cursor:pointer}
:host([data-profiles]) td.who:hover .nm,:host([data-profiles]) td.who:focus .nm{text-decoration:underline}

/* Phones */
@media (max-width:520px){
  h2{font-size:20px}
  .bar{gap:8px}
  .bar label{flex:1 1 45%}
  select{min-width:0;width:100%}
  .bar button{flex:1 1 100%}
  .nav{flex-wrap:wrap}
  .nav span{order:-1;width:100%;text-align:center}
  button{padding:8px 12px;font-size:13px;white-space:nowrap}
  table{min-width:600px}
  .who{width:84px;min-width:84px;padding:4px}
  .pic{width:44px;height:54px;font-size:18px}
  .nm{font-size:11px}
}