.access-layout {
  max-width: 620px;
  margin: 45px auto;
  padding: 24px;
  min-height: auto;
}
.access-kicker {
  margin-top: 38px;
}
#access-intro { text-align:center; }
#access-intro .brand--stacked { font-size:26px; }
.access-layout .panel {
  margin: 24px 0;
}
.access-form {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}
.access-form label {
  display: grid;
  gap: 7px;
  font-size: 13px;
}
.access-form input {
  width: 100%;
  font-size: 16px;
  min-height: 45px;
}
#access-status {
  font-size: 13px;
  overflow-wrap: anywhere;
}
#client-list {
  margin: 20px 0;
}
[hidden] {
  display: none !important;
}
.access-layout.is-authenticated {
  max-width: 1200px;
}
.is-authenticated #login-title,
.is-authenticated .session-help,
.is-authenticated > .subtitle { display: none; }
.telemetry-filters { display:grid; grid-template-columns:1fr 2fr 1.5fr; gap:16px; margin:24px 0; }
.telemetry-filters label { display:grid; gap:8px; font-size:13px; min-width:0; }
.telemetry-filters select { width:100%; min-width:0; font-size:14px; }
.telemetry-summary { display:flex; align-items:center; gap:28px; padding:18px 0; flex-wrap:wrap; }
.telemetry-summary p { margin:5px 0; }
.telemetry-value { font-size:clamp(32px,5vw,48px); color:var(--cyan); }
.telemetry-chart { width:100%; min-height:200px; overflow:hidden; }
.telemetry-chart svg { display:block; width:100%; height:auto; }
.telemetry-chart text { fill:var(--muted); font-size:11px; }
.telemetry-chart .series { fill:none; stroke:var(--cyan); stroke-width:2; }
.telemetry-measures { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; margin-top:20px; }
.telemetry-measure { padding:16px; border:1px solid var(--border); border-radius:10px; min-width:0; }
.telemetry-measure p { margin-top:0; font-size:12px; overflow-wrap:anywhere; }
.telemetry-measure strong { display:block; font-size:22px; margin:10px 0; }
.telemetry-measure small { color:var(--muted); }
#telemetry-status { font-size:13px; }
#telemetry-status[data-state="fresh"] { color:var(--green); }
#telemetry-status[data-state="stale"] { color:var(--amber); }
@media(max-width:760px) { .telemetry-filters { grid-template-columns:1fr; } .telemetry-chart { overflow-x:auto; } .telemetry-chart svg { min-width:650px; } .telemetry-chart text { font-size:16px; } }
#memberships > label {
  display: grid;
  gap: 8px;
  margin: 20px 0;
}
#memberships select {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  font-size: 16px;
}
#memberships .inventory-record {
  overflow-wrap: anywhere;
}
.inventory-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0;
}
.inventory-tabs button {
  border: 1px solid var(--border);
  min-height: 42px;
}
.inventory-tabs button[aria-pressed="true"] {
  color: var(--accent);
  background: var(--accent-dim);
  border-color: var(--accent);
}
.inventory-record {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0;
  border-top: 1px solid var(--border);
}
.inventory-record p {
  margin: 4px 0;
}
.record-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
#inventory-editor {
  max-width: 720px;
}
.editor-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 22px 0;
}
.editor-fields label {
  display: grid;
  gap: 7px;
  align-content: start;
}
.editor-fields input,
.editor-fields select {
  min-width: 0;
  width: 100%;
  font-size: 14px;
}
.editor-fields .check-field {
  display: flex;
  align-items: center;
}
.check-field input {
  width: 18px;
  min-height: 18px;
}
.field-help {
  font-size: 10px;
  color: var(--muted);
}
#editor-error {
  color: var(--red);
  font-size: 12px;
}
@media (max-width: 600px) {
  .editor-fields {
    grid-template-columns: 1fr;
  }
  .inventory-record {
    align-items: flex-start;
    flex-direction: column;
  }
  .record-actions {
    width: 100%;
  }
  .inventory-tabs button {
    flex: 1;
    justify-content: center;
  }
}
@media (max-width: 490px) {
  .access-layout {
    margin: 12px auto;
    padding: 20px;
  }
}

/* Workspace shell. Public demo styles and data remain independent. */
.skip-link { position:fixed; top:-70px; left:16px; z-index:100; padding:12px 18px; background:var(--panel); border:1px solid var(--focus); border-radius:8px; }
.skip-link:focus { top:12px; }
.workspace-sidebar { position:fixed; inset:0 auto 0 0; width:242px; padding:30px 20px 20px; background:var(--sidebar); border-right:1px solid var(--border); border-top:3px solid var(--accent); overflow-y:auto; display:flex; flex-direction:column; z-index:20; }
.workspace-sidebar .brand { font-size:22px; }
.workspace-caption { color:var(--muted); font-size:10px; letter-spacing:1.6px; font-weight:700; margin:24px 12px 14px; }
.workspace-nav { display:grid; gap:7px; }
.workspace-nav a { display:flex; align-items:center; gap:12px; padding:13px 12px; border:1px solid transparent; border-radius:9px; color:var(--muted); font-size:13px; font-weight:550; }
.workspace-nav a:hover { background:var(--panel); color:var(--text); }
.workspace-nav a[aria-current="page"] { color:var(--accent); background:var(--accent-dim); border-color:color-mix(in srgb,var(--accent) 25%,transparent); box-shadow:inset 3px 0 0 var(--accent); }
.workspace-nav svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.workspace-sidebar-note { margin-top:auto; padding:24px 10px; display:flex; align-items:center; gap:8px; font-size:11px; color:var(--muted); }
.workspace-dot { width:7px; height:7px; border-radius:50%; background:var(--accent); display:inline-block; flex-shrink:0; }
.workspace-account { display:flex; align-items:center; gap:10px; border-top:1px solid var(--border); padding:20px 0; min-width:0; }
.workspace-account > div { min-width:0; }
.workspace-account strong { display:block; font-size:12px; }
#identity { display:block; color:var(--muted); font-size:11px; overflow-wrap:anywhere; margin-top:3px; }
.workspace-avatar { background:var(--accent-dim); border:1px solid var(--border); color:var(--accent); width:36px; height:36px; border-radius:10px; display:grid; place-items:center; font-size:12px; font-weight:700; flex-shrink:0; }
.workspace-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.workspace-actions button { padding:8px 5px; font-size:11px; }
.access-layout.is-authenticated { width:calc(100% - 242px); max-width:1660px; margin:0 0 0 242px; padding:34px 40px 40px; min-height:100vh; }
.workspace-header { display:flex; justify-content:space-between; align-items:center; gap:20px; height:auto; padding:0 0 24px; background:transparent; border-bottom:1px solid var(--border); margin-bottom:24px; }
.workspace-header h1 { font-size:30px; margin:8px 0 4px; }
.workspace-header .eyebrow { font-size:9px; margin:0; }
.workspace-header .subtitle { font-size:13px; }
.workspace-badge { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; color:var(--muted); border:1px solid var(--border); border-radius:999px; padding:7px 12px; font-size:11px; }
.access-status:empty { display:none; }
.access-status:not(:empty) { margin:18px 0; padding:12px 15px; background:var(--accent-dim); border:1px solid var(--border); border-radius:8px; }
.access-layout:not(.is-authenticated) #login-panel { border-top:3px solid var(--accent); }
.is-authenticated .access-demo-link { display:none; }
.is-authenticated .panel { margin:0; }
.section-description { font-size:12px; margin:5px 0 0; }
.telemetry-filters { padding:18px; border:1px solid var(--border); border-radius:10px; background:var(--bg); grid-template-columns:1fr 1.7fr 1.3fr; }
.telemetry-filters label { color:var(--muted); font-size:11px; }
.telemetry-filters select { color:var(--text); background:var(--panel); font-size:13px; }
.telemetry-reading-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:28px 0 12px; }
.telemetry-reading-head .eyebrow { margin:0; }
#telemetry-status { margin:0; padding:5px 10px; border:1px solid var(--border); border-radius:999px; font-size:11px; }
#telemetry-status:empty { display:none; }
#telemetry-status[data-state="fresh"] { background:var(--green-dim); border-color:color-mix(in srgb,var(--green) 25%,transparent); }
#telemetry-status[data-state="stale"] { background:var(--amber-dim); border-color:color-mix(in srgb,var(--amber) 25%,transparent); }
.telemetry-reading-layout { display:grid; grid-template-columns:minmax(230px,1fr) minmax(280px,1fr); align-items:center; gap:24px; }
.telemetry-summary { display:block; padding:10px 0; }
.telemetry-summary .telemetry-value { display:block; font-size:clamp(38px,4.7vw,58px); font-weight:650; letter-spacing:-1.5px; line-height:1.2; margin-bottom:14px; }
.telemetry-variable-name { font-size:13px; font-weight:600; margin-bottom:9px !important; }
.telemetry-summary .muted { font-size:11px; }
.telemetry-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.telemetry-stat { padding:12px 16px; border:1px solid var(--border); border-radius:9px; }
.telemetry-stat span,.telemetry-stat small { display:block; color:var(--muted); font-size:11px; }
.telemetry-stat strong { display:block; font-size:18px; font-weight:600; margin:5px 0; overflow-wrap:anywhere; }
.telemetry-stat small { font-size:10px; }
.telemetry-history { border-top:1px solid var(--border); padding-top:24px; margin-top:28px; }
.telemetry-chart { background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:10px 0; }
.telemetry-chart .gridline { stroke:var(--border); stroke-width:1; opacity:.55; }
.telemetry-chart .series { stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.telemetry-variables-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:28px; }
.telemetry-variables-head span { font-size:11px; }
.telemetry-measures { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.telemetry-measure { display:block; width:100%; text-align:left; background:var(--panel); font:inherit; padding:17px; transition:border-color .15s,background .15s; }
.telemetry-measure:hover { border-color:var(--accent); }
.telemetry-measure[aria-pressed="true"] { border-color:var(--accent); background:var(--accent-dim); }
.telemetry-measure-label { display:block; font-size:11px; color:var(--muted); min-height:32px; }
.telemetry-measure strong { font-size:23px; font-weight:600; margin:6px 0 10px; }
.telemetry-measure small { display:block; font-size:10px; margin-top:3px; }
.telemetry-measure[data-state="stale"] small { color:var(--amber); }
.telemetry-footnote { font-size:11px; border-top:1px solid var(--border); padding-top:18px; margin:24px 0 0; }
@media (max-width:1100px) {
  .access-layout.is-authenticated { padding:28px; }
  .telemetry-filters { grid-template-columns:1fr; gap:12px; }
  .telemetry-reading-layout { grid-template-columns:1fr; gap:18px; }
  .telemetry-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:800px) {
  .workspace-sidebar { position:static; width:auto; display:grid; grid-template-columns:1fr auto; padding:20px; gap:18px; border-right:0; border-bottom:1px solid var(--border); }
  .workspace-sidebar .brand { grid-column:1 / -1; font-size:20px; }
  .workspace-sidebar .brand--stacked .brand-mark { width:80px; height:80px; }
  .workspace-caption,.workspace-sidebar-note,.workspace-account { display:none; }
  .workspace-nav { grid-row:2; grid-column:1 / -1; display:flex; gap:6px; overflow-x:auto; }
  .workspace-nav a { flex:1; justify-content:center; white-space:nowrap; font-size:12px; padding:10px; }
  .workspace-nav svg { width:18px; height:18px; }
  .workspace-actions { grid-row:3; grid-column:1 / -1; align-self:center; justify-self:center; }
  .access-layout.is-authenticated { margin:0; padding:24px 20px; width:100%; }
  .workspace-header h1 { font-size:26px; }
  .workspace-header { align-items:flex-start; }
  .telemetry-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:490px) {
  .workspace-sidebar { gap:14px; padding:18px; }
  .workspace-actions { grid-row:3; grid-column:1 / -1; justify-self:end; }
  .workspace-nav { gap:3px; }
  .workspace-nav a { font-size:11px; gap:7px; padding:10px 7px; }
  .workspace-header { gap:10px; }
  .workspace-badge { padding:6px 8px; font-size:10px; }
  .access-layout.is-authenticated { padding:24px 14px; }
  .telemetry-panel { padding:18px 14px; }
  .telemetry-variables-head { align-items:flex-start; flex-direction:column; gap:4px; }
  .telemetry-measures { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .telemetry-measure { padding:13px 11px; }
  .telemetry-measure strong { font-size:20px; }
}
@media (prefers-reduced-motion:reduce) { .telemetry-measure { transition:none; } }

.telemetry-layout-note { display:grid; gap:6px; padding:14px 18px; border-left:3px solid var(--accent); background:var(--accent-dim); border-radius:6px; }
.telemetry-layout-note[hidden] { display:none; }
.telemetry-layout-note strong { font-size:14px; }
.telemetry-layout-note span { font-size:11px; line-height:1.6; color:var(--muted); }
.is-triphase .telemetry-reading-layout { grid-template-columns:1fr; gap:16px; }
.telemetry-summary.is-phased { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.phase-reading { padding:16px; border:1px solid var(--border); border-top:3px solid var(--series-color,var(--green)); border-radius:9px; min-width:0; }
.phase-reading.is-total { grid-column:1 / -1; background:var(--bg); }
.phase-reading .telemetry-measure-label { min-height:0; margin-bottom:8px; }
.telemetry-summary .phase-reading .telemetry-value { font-size:clamp(23px,3.6vw,36px); letter-spacing:-.6px; margin-bottom:8px; overflow-wrap:anywhere; }
.telemetry-summary .phase-reading.is-total .telemetry-value { font-size:clamp(36px,5vw,52px); }
.phase-reading small { display:block; font-size:10px; line-height:1.6; color:var(--muted); }
.telemetry-stats.is-phased { grid-template-columns:repeat(3,minmax(0,1fr)); }
.phase-stat h4 { font-size:12px; margin:0 0 10px; }
.phase-stat > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.phase-stat strong { font-size:12px; }
.phase-stat:last-child:nth-child(4) { grid-column:1 / -1; }
.telemetry-legend { display:flex; justify-content:center; gap:14px 22px; padding:10px 14px; flex-wrap:wrap; }
.telemetry-legend span { font-size:11px; display:flex; align-items:center; gap:7px; }
.telemetry-legend span::before { content:''; width:10px; height:10px; border-radius:50%; background:var(--series-color); }
.telemetry-chart .series.phase-a { stroke:#b747ef; }
.telemetry-chart .series.phase-b { stroke:#e3b800; }
.telemetry-chart .series.phase-c { stroke:#14bbc7; }
.telemetry-chart .series.phase-total { stroke:#26b65f; }
.telemetry-measures.is-phased { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
.telemetry-phase-column { min-width:0; display:grid; gap:10px; }
.telemetry-phase-column h4 { margin:0; padding:10px 0; font-size:15px; }
.telemetry-phase-column .telemetry-measure { padding:13px; }
.telemetry-phase-column .telemetry-measure strong { font-size:20px; }
@media(max-width:650px) {
  .telemetry-stats.is-phased { grid-template-columns:1fr; }
  .phase-stat:last-child:nth-child(4) { grid-column:auto; }
  .telemetry-measures.is-phased { grid-template-columns:1fr; }
  .telemetry-phase-column { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .telemetry-phase-column h4 { grid-column:1 / -1; }
  .phase-reading { padding:12px 8px; }
  .telemetry-summary .phase-reading .telemetry-value { font-size:21px; }
}
/* Device overview: cards lead to the existing detail, without switch controls. */
.meter-topology-dialog { width:calc(100% - 32px); max-width:900px; max-height:92vh; overflow:auto; }
.hourly-energy-dialog { width:calc(100% - 32px); max-width:1050px; max-height:92vh; overflow:auto; }
.hourly-controls { display:flex; flex-wrap:wrap; align-items:end; gap:14px; margin:16px 0; }
.hourly-controls label { display:grid; gap:7px; font-size:13px; }
.hourly-table-wrap { overflow:auto; max-height:48vh; border:1px solid var(--border); border-radius:8px; }
.hourly-table { width:100%; border-collapse:collapse; font-size:12px; }
.hourly-table th,.hourly-table td { padding:12px; text-align:left; border-bottom:1px solid var(--border); }
.hourly-table th { white-space:nowrap; }
.hourly-table thead th { position:sticky; top:0; background:var(--panel); z-index:1; }
.hourly-table small { display:block; font-size:11px; color:var(--muted); margin-top:4px; }
.meter-topology-dialog fieldset { border:0; padding:0; margin:18px 0; min-width:0; }
.meter-topology-dialog label { display:grid; gap:7px; font-size:13px; }
.meter-topology-dialog textarea { width:100%; padding:10px; color:var(--text); background:var(--bg); border:1px solid var(--border); border-radius:8px; font:inherit; resize:vertical; }
.meter-topology-dialog .topology-wide { grid-column:1 / -1; }
.topology-notice { padding:12px 15px; border-left:3px solid var(--accent); background:var(--accent-dim); font-size:12px; line-height:1.6; }
.topology-history-label { margin-top:16px; }
.topology-preview { padding:15px; border:1px solid var(--border); border-radius:9px; background:var(--bg); }
.topology-preview h3 { margin-top:0; font-size:14px; }
.topology-tree,.topology-tree ul { list-style:none; padding-left:18px; }
.topology-tree { padding-left:0; margin-bottom:0; }
.topology-tree ul { border-left:1px solid var(--border); margin-left:8px; }
.topology-tree-line { display:flex; align-items:center; flex-wrap:wrap; gap:7px 12px; padding:9px 0; font-size:12px; }
.topology-tree-line strong { font-size:13px; }
#meter-topology-version { font-size:11px; line-height:1.6; }
#meter-topology-message { font-size:12px; }
.telemetry-catalog-toolbar { display:grid; grid-template-columns:minmax(150px,1fr) minmax(180px,1.5fr); gap:16px; padding:18px; border:1px solid var(--border); border-radius:10px; background:var(--bg); }
.telemetry-catalog-toolbar label,.telemetry-detail-filter label { display:grid; gap:8px; font-size:12px; color:var(--muted); }
#telemetry-catalog-status { font-size:12px; margin:18px 0; }
.device-catalog { display:grid; gap:28px; }
.device-client-group h3 { font-size:16px; margin:0 0 14px; }
.device-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(235px,1fr)); gap:15px; }
.device-card { display:flex; flex-direction:column; align-items:stretch; text-align:left; padding:20px; border:1px solid var(--border); border-radius:13px; background:var(--bg); color:var(--text); font:inherit; min-width:0; cursor:pointer; transition:border-color .15s,background .15s; }
.device-card:hover,.device-card:focus-visible { border-color:var(--accent); background:var(--accent-dim); }
.device-card-head { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.device-card-icon { flex-shrink:0; width:42px; height:46px; display:grid; place-items:center; border:1px solid var(--border); background:var(--panel); border-radius:9px; color:var(--accent); font-size:32px; }
.device-card-head h4 { font-size:16px; margin:0 0 5px; overflow-wrap:anywhere; }
.device-card-location { font-size:11px; color:var(--muted); }
.device-card-state { align-self:flex-start; font-size:10px; padding:4px 8px; border-radius:999px; background:var(--amber-dim); color:var(--text); margin-bottom:16px; }
.device-card-state[data-state="fresh"] { background:var(--green-dim); }
.device-card-label { font-size:11px; color:var(--muted); }
.device-card-value { font-size:clamp(30px,3vw,42px); font-weight:650; letter-spacing:-1px; margin:5px 0 12px; color:var(--cyan); }
.device-card > small,.device-card-time { font-size:10px; color:var(--muted); }
.device-card-footer { margin-top:auto; padding-top:18px; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:11px; }
.device-card-footer small { color:var(--muted); }
.device-card-footer span { color:var(--accent); white-space:nowrap; }
.telemetry-detail-toolbar { display:flex; justify-content:space-between; align-items:end; gap:18px; margin:16px 0 24px; }
.telemetry-detail-filter { min-width:240px; flex:1; max-width:450px; }
@media(max-width:600px) {
  .telemetry-catalog-toolbar { grid-template-columns:1fr; }
  .telemetry-detail-toolbar { flex-direction:column; align-items:stretch; }
  .telemetry-detail-filter { min-width:0; max-width:none; }
  .device-card-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .device-card { transition:none; } }
.mqtt-template-dialog { width:min(760px,calc(100% - 32px)); max-height:90vh; overflow:auto; }
.mqtt-template-dialog > label { display:grid; gap:8px; font-size:12px; }
.mqtt-template-dialog pre { white-space:pre-wrap; overflow-wrap:anywhere; padding:16px; background:var(--bg); border:1px solid var(--border); border-radius:9px; font-size:12px; line-height:1.7; }
.mqtt-variable-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:8px; margin:16px 0; }
.mqtt-variable-options label { font-size:11px; }
.profile-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:18px 0; }
.profile-catalog article { padding:16px; border:1px solid var(--border); border-radius:9px; }
.profile-catalog h3 { font-size:14px; margin:0 0 8px; }
.profile-catalog p { font-size:12px; color:var(--muted); line-height:1.6; margin:0; }
.membership-actions { display:grid; gap:9px; min-width:200px; max-width:100%; }
.membership-actions label { display:grid; gap:7px; font-size:12px; }
@media(max-width:700px) { .profile-catalog { grid-template-columns:1fr; } }
.monthly-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:24px 0; align-items:end; }
.monthly-filters label { display:grid; gap:8px; font-size:12px; min-width:0; }
.monthly-filters select,.monthly-filters input { width:100%; min-width:0; }
.monthly-filters button { justify-self:start; }
.monthly-result-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:24px 0 12px; }
.monthly-result-heading h3 { margin:0; }
.monthly-export { display:flex; flex-wrap:wrap; gap:8px; }
.monthly-summary { min-width:980px; }
.monthly-summary caption { text-align:left; padding:16px 0; color:var(--muted); }
.monthly-summary th small,.monthly-summary td small,.monthly-detail td small { display:block; margin-top:6px; font-weight:400; color:var(--muted); }
.monthly-hourly { margin-top:32px; }
#monthly-method { overflow-wrap:anywhere; }
@media(max-width:800px) { .monthly-filters { grid-template-columns:1fr 1fr; } }
@media(max-width:480px) { .monthly-filters { grid-template-columns:1fr; } }
@media print {
  body.printing-monthly { --bg:#fff; --panel:#fff; --text:#000; --muted:#333; --border:#aaa; --accent:#000; --accent-dim:transparent; background:#fff; color:#000; }
  body.printing-monthly > :not(#access-main),body.printing-monthly #access-main > :not([data-workspace-view="reports"]),body.printing-monthly .monthly-filters,body.printing-monthly #monthly-status,body.printing-monthly .monthly-export,body.printing-monthly .monthly-hourly,body.printing-monthly .monthly-summary th:last-child,body.printing-monthly .monthly-summary td:last-child { display:none!important; }
  body.printing-monthly #access-main { margin:0; padding:0; width:100%; max-width:none; }
  body.printing-monthly [data-workspace-view="reports"] { display:block!important; }
  body.printing-monthly .panel { border:0; padding:0; margin:0; background:#fff; }
  body.printing-monthly .hourly-table-wrap { overflow:visible; max-height:none; }
  body.printing-monthly .monthly-summary { min-width:0; width:100%; font-size:9px; }
  body.printing-monthly th,body.printing-monthly td { padding:8px 5px; color:#000; border-color:#aaa; }
  body.printing-monthly .muted,body.printing-monthly small { color:#333; }
  body.printing-monthly tr { break-inside:avoid; }
}
