.dc-master { color:var(--text); background:var(--panel); border:1px solid var(--line,var(--muted)); border-radius:12px; padding:16px; min-width:0; isolation:isolate; }
.dc-heading,.dc-tools,.dc-filters { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.dc-heading { justify-content:space-between; margin-bottom:16px; }
.dc-tools button { min-height:44px; }
.dc-tools label { display:inline-flex; align-items:center; gap:8px; }
.dc-tools input[type=checkbox] { margin:0; width:18px; height:18px; }
.dc-heading h2,.dc-heading p { margin:0 0 6px; }
.dc-heading small { color:var(--muted); }
.dc-filters { margin-bottom:12px; align-items:end; }
.dc-filters label { display:grid; gap:4px; font-size:13px; }
.dc-master .dc-filters input,.dc-master .dc-filters select { width:auto; max-width:180px; min-height:44px; font-size:14px; padding:8px; }
.dc-columns { position:relative; }
.dc-columns summary { cursor:pointer; padding:12px; min-height:44px; }
.dc-columns>div { position:absolute; z-index:8; top:100%; left:0; width:min(260px,calc(100vw - 60px)); max-height:300px; overflow:auto; padding:12px; background:var(--surface); border:1px solid var(--muted); box-shadow:0 8px 24px #0003; }
.dc-columns>div label { display:flex; align-items:center; min-height:44px; gap:8px; }
.dc-columns input { flex:0 0 20px; }
.dc-scroll { overflow:auto; max-height:68vh; max-height:68dvh; min-height:160px; position:relative; overscroll-behavior:contain; scrollbar-gutter:stable; border:1px solid var(--line,var(--muted)); }
.dc-master .dc-table { border-collapse:separate; border-spacing:0; table-layout:fixed; width:max-content; min-width:100%; margin:0; font-size:14px; }
.dc-master .dc-table th,.dc-master .dc-table td { padding:0; width:152px; min-width:152px; max-width:152px; border:0; border-bottom:1px solid var(--line,var(--muted)); border-right:1px solid var(--line,var(--muted)); background:var(--panel); color:var(--text); vertical-align:middle; }
.dc-master .dc-table thead th { position:sticky; top:0; z-index:3; background:var(--surface); }
.dc-master .dc-table tbody th { position:sticky; left:0; z-index:2; width:72px; min-width:72px; max-width:72px; background:var(--surface); text-align:center; font-size:18px; }
.dc-master .dc-table th small { display:block; font-size:12px; font-weight:400; }
.dc-master .dc-table th.dc-corner { left:0; z-index:4; width:72px; min-width:72px; max-width:72px; text-align:center; }
.dc-master button.dc-cell,.dc-master button.dc-column-action { display:block; width:100%; min-height:48px; height:auto; margin:0; border:0; border-radius:0; box-shadow:none; transform:none; clip-path:none; background:transparent; color:var(--text); padding:8px; font:inherit; cursor:pointer; }
.dc-master button.dc-cell::before,.dc-master button.dc-cell::after,.dc-master button.dc-column-action::before,.dc-master button.dc-column-action::after { content:none; }
.dc-master button.dc-cell.is-complete { background:color-mix(in srgb,var(--accent,#367b65) 13%,var(--panel)); }
.dc-master button.dc-cell.is-due { font-size:12px; font-weight:650; letter-spacing:.05em; }
.dc-master button.dc-column-action { min-height:98px; text-align:left; overflow-wrap:anywhere; }
.dc-column-action strong,.dc-column-action span,.dc-column-action small { display:block; margin:3px 0; }
.dc-column-action span { font-size:12px; }
.dc-master button:focus-visible,.dc-scroll:focus-visible { outline:3px solid var(--accent); outline-offset:-3px; }
dialog.dc-dialog { position:fixed!important; inset:0!important; margin:auto!important; transform:none!important; width:min(520px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow:auto; padding:20px; border:1px solid var(--muted); border-radius:14px; background:var(--panel); color:var(--text); box-sizing:border-box; }
.dc-dialog::backdrop { background:#0008; }
.dc-dialog-content { display:grid; gap:12px; }
.dc-dialog h3,.dc-dialog p { margin:0; }
.dc-dialog form,.dc-dialog label { display:grid; gap:10px; }
.dc-dialog button { min-height:44px; }
.dc-dialog dl { margin:0; display:grid; gap:5px; }
.dc-dialog dd { margin:0 0 10px; }
.dc-dialog dt { color:var(--muted); }
.dc-dialog details { border-top:1px solid var(--muted); padding:10px 0; }
.dc-dialog summary { cursor:pointer; min-height:44px; }
.dc-history { padding-left:20px; }
.dc-history li { padding:8px 0; }
[data-dc-error] { color:var(--text); border-inline-start:3px solid var(--accent); padding-inline-start:10px; }
@media(max-width:600px) { .dc-master { padding:8px; } .dc-heading { gap:8px; } .dc-filters { gap:6px; } .dc-master .dc-filters input,.dc-master .dc-filters select { max-width:145px; } .dc-master .dc-table th,.dc-master .dc-table td { width:132px; min-width:132px; max-width:132px; } }

/* The same tracker surfaces, tables, controls and sheets serve all domains. */
.operations-nav { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; }
.operations-nav button { min-height:44px; font-size:14px; }
.operations-nav [aria-current] { outline:2px solid var(--accent); outline-offset:-3px; }
.operations-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr)); gap:12px; }
.operations-summary article { border:1px solid var(--line,var(--muted)); padding:12px; }
.operations-summary h3,.operations-summary p { margin:4px 0 10px; }
.operations-summary small { display:block; min-height:24px; }
.operations-legacy { margin-block:20px; }
.operations-legacy>summary { min-height:44px; padding:12px; cursor:pointer; }
.dc-master .operations-table th.dc-corner,.dc-master .operations-table tbody th { width:160px; min-width:160px; max-width:160px; font-size:14px; text-align:left; }
.dc-master .operations-table td,.dc-master .operations-table thead th { padding:8px; overflow-wrap:anywhere; }
.dc-master .operations-table tbody th,.dc-master .operations-table td:has(.dc-cell) { padding:0; }
.operations-table td small,.operations-table th small { display:block; font-size:12px; font-weight:400; }
.dc-master .operations-table th button { text-align:left; }
.operations-status { display:inline-block; padding:5px; border:1px solid currentColor; font-size:12px; font-weight:700; }
.operations-status[data-status=LOW],.operations-status[data-status=OUT] { border-inline-start:5px solid var(--accent); }
.dc-dialog .operations-weekday { display:inline-flex; align-items:center; min-height:44px; gap:5px; margin-right:10px; }
.operations-weekday input { width:18px; height:18px; }
.dc-dialog textarea { min-height:72px; }
.tracker-column-list { list-style:none; padding:0; margin:0; display:grid; gap:14px; }
.tracker-column-list li { border-top:1px solid var(--line,var(--muted)); padding-top:12px; display:grid; gap:8px; }
.dc-master .tracker-custom-cell { white-space:pre-wrap; overflow-wrap:anywhere; text-align:left; }
.dc-dialog-content input,.dc-dialog-content select,.dc-dialog-content textarea { min-width:0; max-width:100%; box-sizing:border-box; }
@media(max-width:600px) { .dc-master .operations-table th.dc-corner,.dc-master .operations-table tbody th { width:140px; min-width:140px; max-width:140px; } }

.dc-bulk-bar,.ri-bulk-bar { display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;margin:10px 0;border:1px solid var(--accent,var(--line));border-radius:12px;background:var(--surface); }
.dc-bulk-bar strong,.ri-bulk-bar strong { margin-right:auto; }
.dc-cell.is-selected { outline:3px solid var(--accent);outline-offset:-4px;font-weight:700; }
.dc-cell[aria-pressed=true] { box-shadow:inset 0 0 0 3px var(--accent); }
.room-inventory-master { margin-top:20px; }
.inventory-subnav { display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid var(--line); }
.inventory-subnav button { min-height:42px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:inherit;font:inherit;font-weight:700; }
.inventory-subnav button[aria-pressed="true"] { outline:2px solid var(--accent,var(--line));outline-offset:1px; }
.room-inventory-master .dc-heading p { margin:6px 0; }
.room-inventory-master .room-inventory-table th.dc-corner,.room-inventory-master .room-inventory-table tbody th { width:88px;min-width:88px;max-width:88px;text-align:center;font-variant-numeric:tabular-nums; }
.ri-column { display:flex;align-items:center;justify-content:space-between;gap:8px; }
.ri-column>button.dc-column-action { min-height:98px;width:100%; }
.ri-column { position:relative; }
.ri-column details { position:absolute;right:4px;bottom:4px; }
.ri-column details>div { position:absolute;right:0;top:100%;z-index:5;display:grid;min-width:130px;padding:6px;background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 14px #0003; }
.ri-column details button { min-height:40px; }
.dc-master .dc-table button.ri-cell { width:100%;min-height:50px;padding:8px 6px;font-size:13px;line-height:1.25;white-space:normal;overflow-wrap:anywhere; }
.ri-cell.ri-unchecked { opacity:.76;border:1px dashed var(--muted)!important; }
.ri-cell.ri-present { border-inline-start:4px solid #29885b!important; }
.ri-cell.ri-missing,.ri-cell.ri-damaged,.ri-cell.ri-dirty,.ri-cell.ri-replacement_needed { border-inline-start:5px solid #bf4d43!important;font-weight:700; }
.ri-cell.ri-not_applicable,.ri-cell.ri-not-expected { opacity:.65; }
.ri-cell.is-selected { outline:3px solid var(--accent);outline-offset:-4px; }
.ri-bulk-bar { position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));z-index:7;box-shadow:0 4px 18px #0003; }
.room-inventory-card-summary { display:grid;gap:7px;margin:10px 0;padding:10px;border:1px solid var(--line,var(--muted));border-inline-start:4px solid #bf4d43;border-radius:8px;background:var(--surface); }
.room-inventory-card-summary>summary { display:flex;align-items:baseline;justify-content:space-between;gap:8px;cursor:pointer;list-style-position:inside; }
.room-inventory-card-summary[open]>summary { padding-bottom:6px;border-bottom:1px solid var(--line); }
.room-inventory-card-summary li { display:flex;align-items:center;gap:6px;flex-wrap:wrap; }
.room-inventory-card-summary>div { display:flex;align-items:baseline;justify-content:space-between;gap:8px; }
.room-inventory-card-summary ul { margin:0;padding-inline-start:20px; }
.room-inventory-card-summary li { padding:2px 0; }
.room-inventory-card-summary small { color:var(--muted); }
.room-inventory-card-summary button { justify-self:start;min-height:40px; }
.room-inventory-table tr[data-ri-room-row]:target { outline:3px solid var(--accent);outline-offset:-3px; }
.dc-dialog [data-ri-form] { display:grid;gap:12px; }
.dc-dialog [data-ri-form] label { display:grid;gap:5px; }
.dc-dialog [data-ri-form] select,.dc-dialog [data-ri-form] textarea { width:100%;min-height:44px; }
.dc-dialog [data-ri-form] textarea { min-height:90px; }
@media(max-width:600px) {
 .room-inventory-master .dc-heading { align-items:flex-start; }
 .room-inventory-master .dc-tools { gap:5px; }
 .dc-bulk-bar,.ri-bulk-bar { position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:7; }
 .dc-bulk-bar strong,.ri-bulk-bar strong { flex-basis:100%; }
}

.ri-filters { display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:8px 0 12px; }
.ri-filters label { display:grid;gap:4px; }
.ri-filters input,.ri-filters select { min-height:42px; }
.ri-column-filter { position:relative; }
.ri-column-filter summary { min-height:42px;display:flex;align-items:center;cursor:pointer; }
.ri-column-filter>div { position:absolute;top:100%;right:0;z-index:6;display:grid;gap:8px;min-width:min(280px,85vw);max-height:50vh;overflow:auto;padding:10px;background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 14px #0003; }
.ri-column-filter label { display:flex;align-items:center;gap:8px; }
.room-inventory-table tbody th small { display:block;font-size:11px;line-height:1.3; }
.pm-filters { display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:8px 0 12px; }
.pm-filters label { display:grid;gap:4px; }
.pm-filters input,.pm-filters select { min-height:42px; }
.pm-scope { max-height:42vh;overflow:auto; }
.pm-scope summary { padding:8px 0; }
.pm-scope ul { margin-block:6px; }
.pm-master { margin-block:20px; }
.pm-scroll { max-height:min(68vh,54rem); }
.pm-table { min-width:max-content; }
.pm-table th { min-width:152px; }
.pm-table th:first-child { min-width:72px; }
.pm-column { display:flex;align-items:center;justify-content:space-between;gap:6px; }
.pm-column details { position:relative; }
.pm-column details>div { position:absolute;right:0;top:100%;z-index:5;display:grid;min-width:150px;padding:6px;background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 14px #0003; }
.pm-column details button { min-height:40px; }
.pm-table td { min-width:152px;text-align:center; }
.dc-master .dc-table button.pm-cell { display:block;width:100%;min-height:48px;padding:7px;font-size:13px;white-space:normal;overflow-wrap:anywhere; }
.pm-due { border-inline-start:4px solid #b67b16!important; }
.pm-not-due { display:inline-grid;gap:3px;padding:6px;opacity:.72; }
.pm-complete { display:grid;gap:3px;color:var(--success,#287c52); }
.pm-complete small { font-size:.78em; }
.pm-bulk-bar { position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));z-index:7;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;margin:10px 0;border:1px solid var(--accent,var(--line));border-radius:12px;background:var(--surface);box-shadow:0 4px 18px #0003; }
.pm-bulk-bar strong { margin-right:auto; }
@media(max-width:600px) { .pm-master .dc-heading { align-items:flex-start; }.pm-table th,.pm-table td { min-width:136px; }.pm-bulk-bar strong { flex-basis:100%; } }
@media(max-width:600px) { .ri-column-filter>div { position:fixed;right:12px;left:12px;top:auto;max-width:none;max-height:55dvh; } }
