.tss-week-picker { box-sizing:border-box; width:min(410px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow:auto; padding:16px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:var(--md-surface-bright); box-shadow:0 8px 32px #0003; }
.tss-week-picker::backdrop { background:#0005; }
.tss-week-picker .tss-week-picker-head { display:grid; grid-template-columns:32px 1fr 78px 32px; gap:6px; align-items:center; margin-bottom:12px; }
.tss-week-picker button,.tss-week-picker select,.tss-week-picker input { box-sizing:border-box; font:inherit; color:var(--ink); background:var(--md-surface-bright); border:1px solid var(--line); border-radius:5px; padding:6px; min-width:0; }
.tss-week-picker button { cursor:pointer; }
.tss-week-picker .tss-week-picker-grid { display:grid; grid-template-columns:30px repeat(5,minmax(0,1fr)); gap:3px; align-items:center; text-align:center; }
.tss-week-picker-grid button { min-height:34px; padding:3px; font-size:13px; }
.tss-week-picker-grid .tss-week-picker-week,.tss-week-picker-grid .tss-week-picker-heading { font-size:11px; color:var(--muted); font-weight:650; }
.tss-week-picker-grid .is-other { opacity:.6; }
.tss-week-picker-grid .is-today { border-color:var(--md-primary); }
.tss-week-picker-grid button[aria-pressed="true"] { background:var(--md-primary); color:white; }
.tss-week-picker button:disabled { opacity:.3; cursor:default; }
.tss-week-picker button:focus-visible { outline:2px solid var(--md-primary); outline-offset:1px; }
.tss-week-picker .tss-week-picker-selected { margin-top:10px; font-size:12px; color:var(--muted); }
.tss-week-picker .tss-week-picker-time:not([hidden]) { display:flex; align-items:center; gap:10px; margin-top:10px; }
.tss-week-picker .tss-week-picker-actions { display:flex; justify-content:flex-end; gap:6px; flex-wrap:wrap; }
.tss-week-picker [role="alert"] { color:#c41212; font-size:12px; }

/* Shared current-period markers; selection remains independently visible. */
html body .tss-week-picker .tss-week-picker-week.is-current-week,
html body #calendarWeekLabel.is-current-week, html body #planningWeekLabel.is-current-week,
html body #deploymentWeek.is-current-week, html body .time-tracking-week-nav .is-current-week,
html body .expenses-calendar-week.is-current-week,
html body #calendarGrid .calendar-corner.is-current-week { background:#dcefe6; color:#176445; font-weight:750; border-radius:4px; padding:4px; }
html body .tss-week-picker .tss-week-picker-grid button.is-today,
html body .expenses-calendar-day.is-today { background:#dcefe6!important; color:#176445!important; border:1px solid #a5d6b5!important; font-weight:750; opacity:1; }
html body .tss-week-picker .tss-week-picker-grid button.is-today[aria-pressed="true"],
html body .expenses-calendar-day.is-today.is-selected { box-shadow:inset 0 0 0 2px #fff; }
html body #projectPlanView .pp-weeks>.is-current-week>strong { background:#dcefe6; color:#176445; font-weight:750; }
html body #projectPlanView .pp-days>.is-today,
html body .calendar-day-head.is-today, html body .resource-grid-head.is-today,
html body .deployment-table th.is-today { background:#dcefe6!important; color:#176445!important; font-weight:750; }
html body .expenses-calendar-weekdays, html body .expenses-calendar-grid { grid-template-columns:30px repeat(7,minmax(0,1fr)); }
html body .expenses-calendar-week { align-self:center; text-align:center; font-size:11px; color:var(--muted); }
