/* /Pages/Apps/SHE/Dashboard.cshtml.rz.scp.css */
.dashboard-wrap[b-2sh75ct5ct] {
    /* Status colours */
    --cs-ontime:       #2f8a3e;
    --cs-overdue:      #dc3545;
    --cs-acked:        #f08c00;
    --cs-nodata:       #ced4da;

    /* Text */
    --cs-text:         #212529;
    --cs-text-sec:     #495057;
    --cs-text-muted:   #6c757d;
    --cs-text-dim:     #868e96;
    --cs-text-faint:   #adb5bd;

    /* Borders / surfaces */
    --cs-border:       #e3e3e0;
    --cs-border-sub:   #f0efec;
    --cs-bg-header:    #f7f7f5;
    --cs-bg-group:     #f4f4f1;
    --cs-bg-row:       #fafaf7;
    --cs-bg-hover:     #fbfbf9;

    /* Good / bad stat card tints */
    --cs-good-bg:      #f4faf5;
    --cs-bad-bg:       #fdf4f5;

    /* Uncategorized / warning band */
    --cs-warn-text:    #8a5a00;
    --cs-warn-bg:      #fff8e6;
    --cs-warn-border:  #f3e2b0;

    /* Attention band */
    --cs-attn-text:    #a4202c;
    --cs-attn-bg:      #fdf0f1;
    --cs-attn-count:   #b86671;

    /* Acknowledge chip */
    --cs-ack-bg:       #fff4e0;
    --cs-ack-border:   #f3d999;

    /* Due-soon colour (darker orange, distinct from --cs-acked) */
    --cs-due-soon:     #b8730a;

    /* Heatmap layout */
    --hm-cell:         1.5rem;
    --hm-label:        80px;
    --hm-gap:          2px;
    --hm-nodata:       #ececec;
    --hm-inactive:     #f5f5f3;

    /* Frequency strip */
    --fs-dot:          7px;
    --fs-nodata:       #e0e0dc;
}

/* Stat cards */
[b-2sh75ct5ct] .stat-card {
    border: 1px solid var(--cs-border);
    border-left: 4px solid transparent;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    background: #fff;
}
[b-2sh75ct5ct] .stat-card .stat-value {
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.1;
}
[b-2sh75ct5ct] .stat-card .stat-label {
    font-size: 0.85rem;
    color: var(--cs-text-muted);
}
[b-2sh75ct5ct] .stat-card.stat-good {
    border-left-color: var(--groots-primary, var(--cs-ontime));
    background: var(--cs-good-bg);
}
[b-2sh75ct5ct] .stat-card.stat-good .stat-value { color: var(--groots-primary, var(--cs-ontime)); }
[b-2sh75ct5ct] .stat-card.stat-bad {
    border-left-color: var(--cs-overdue);
    background: var(--cs-bad-bg);
}
[b-2sh75ct5ct] .stat-card.stat-bad .stat-value { color: var(--cs-overdue); }

/* Filter pills */
[b-2sh75ct5ct] .filter-pills .btn {
    border-radius: 999px;
    padding: 0.3rem 0.85rem;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
[b-2sh75ct5ct] .filter-pills .badge {
    background: rgba(0,0,0,0.08);
    color: inherit;
    font-weight: 500;
    font-size: 0.72rem;
    padding: 0.18rem 0.42rem;
}
[b-2sh75ct5ct] .filter-pills .btn-dark .badge { background: rgba(255,255,255,0.22); color: #fff; }

/* Table */
[b-2sh75ct5ct] .checksheets-table {
    border: 1px solid var(--cs-border);
    border-radius: 0.5rem;
    overflow: hidden;
    background: #fff;
}
[b-2sh75ct5ct] .checksheets-table table { margin-bottom: 0; }
[b-2sh75ct5ct] .checksheets-table thead th {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--cs-text-muted);
    font-weight: 600;
    background: var(--cs-bg-header);
    border-bottom: 1px solid var(--cs-border);
    padding: 0.6rem 0.75rem;
}
[b-2sh75ct5ct] .checksheets-table tbody td {
    padding: 0.7rem 0.75rem;
    vertical-align: middle;
    border-top: 1px solid var(--cs-border-sub);
}
[b-2sh75ct5ct] .checksheets-table tbody tr:first-child td { border-top: none; }

/* Group header */
[b-2sh75ct5ct] tr.group-header td {
    background: var(--cs-bg-group);
    color: var(--cs-text-sec);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.45rem 0.75rem;
    border-top: 1px solid var(--cs-border) !important;
    border-bottom: 1px solid var(--cs-border);
}
[b-2sh75ct5ct] tr.group-header .group-count { font-weight: 500; color: var(--cs-text-dim); margin-left: 0.4rem; }
[b-2sh75ct5ct] tr.group-header.group-uncategorized td {
    background: var(--cs-warn-bg);
    color: var(--cs-warn-text);
    border-bottom-color: var(--cs-warn-border);
}

/* Attention sub-header */
[b-2sh75ct5ct] tr.attention-header td {
    background: var(--cs-attn-bg);
    color: var(--cs-attn-text);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.35rem 0.75rem;
    border-top: none !important;
}
[b-2sh75ct5ct] tr.attention-header .group-count { font-weight: 500; color: var(--cs-attn-count); margin-left: 0.4rem; }
[b-2sh75ct5ct] tr.row-attention td:first-child    { box-shadow: inset 3px 0 0 var(--cs-overdue); }
[b-2sh75ct5ct] tr.row-acknowledged td:first-child { box-shadow: inset 3px 0 0 var(--cs-acked); }

/* Checksheet name cell */
[b-2sh75ct5ct] .cs-name { font-weight: 600; color: var(--cs-text); }
[b-2sh75ct5ct] .cs-doc   { font-size: 0.78rem; color: var(--cs-text-dim); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
[b-2sh75ct5ct] .cs-ack-chip {
    display: inline-flex; align-items: center; gap: 0.3rem;
    margin-top: 0.25rem; padding: 0.15rem 0.5rem;
    background: var(--cs-ack-bg); color: var(--cs-warn-text);
    border: 1px solid var(--cs-ack-border); border-radius: 999px;
    font-size: 0.72rem; max-width: 100%;
}
[b-2sh75ct5ct] .cs-ack-chip .ack-note {
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 220px;
}

/* Status dots */
[b-2sh75ct5ct] .status-dot {
    display: inline-block; width: 0.75rem; height: 0.75rem;
    border-radius: 50%; background: var(--cs-nodata);
    vertical-align: middle; flex-shrink: 0;
}
[b-2sh75ct5ct] .status-ontime       { background: var(--cs-ontime); }
[b-2sh75ct5ct] .status-overdue      { background: var(--cs-overdue); box-shadow: 0 0 0 0 rgba(220,53,69,0.6); animation: pulse-red-b-2sh75ct5ct 1.6s infinite; }
[b-2sh75ct5ct] .status-acknowledged { background: var(--cs-acked); }
[b-2sh75ct5ct] .status-nodata       { background: var(--cs-nodata); }
@keyframes pulse-red-b-2sh75ct5ct {
    0%   { box-shadow: 0 0 0 0 rgba(220,53,69,.55); }
    70%  { box-shadow: 0 0 0 8px rgba(220,53,69,0); }
    100% { box-shadow: 0 0 0 0 rgba(220,53,69,0);   }
}

/* Last entry / due columns */
[b-2sh75ct5ct] .entry-time { font-size: 0.88rem; }
[b-2sh75ct5ct] .entry-time a { color: var(--cs-text); text-decoration: none; border-bottom: 1px dotted var(--cs-text-faint); }
[b-2sh75ct5ct] .entry-time a:hover { color: var(--cs-ontime); border-bottom-color: var(--cs-ontime); }
[b-2sh75ct5ct] .entry-user { font-size: 0.75rem; color: var(--cs-text-dim); }
[b-2sh75ct5ct] .due-text { font-size: 0.85rem; }
[b-2sh75ct5ct] .due-overdue { color: var(--cs-overdue); font-weight: 600; }
[b-2sh75ct5ct] .due-soon    { color: var(--cs-due-soon); }
[b-2sh75ct5ct] .due-future  { color: var(--cs-text-sec); }
[b-2sh75ct5ct] .due-none    { color: var(--cs-text-faint); }
[b-2sh75ct5ct] .freq-text   { font-size: 0.8rem; color: var(--cs-text-sec); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }

/* Actions column */
[b-2sh75ct5ct] .actions-cell { text-align: right; white-space: nowrap; }
[b-2sh75ct5ct] .actions-cell .btn { padding: 0.22rem 0.55rem; font-size: 0.8rem; }
[b-2sh75ct5ct] .actions-cell .btn + .btn { margin-left: 0.25rem; }
[b-2sh75ct5ct] .actions-cell .btn-icon   { padding: 0.22rem 0.45rem; }

/* Heatmap expand row */
[b-2sh75ct5ct] tr.heatmap-row > td { padding: 0 !important; background: var(--cs-bg-row); border-top: 1px solid var(--cs-border-sub) !important; }
[b-2sh75ct5ct] .heatmap-wrap { padding: 0.9rem 1rem 1rem; }
[b-2sh75ct5ct] .heatmap-title {
    font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em;
    color: var(--cs-text-muted); font-weight: 600; margin-bottom: 0.5rem;
    display: flex; align-items: center; justify-content: space-between;
}
[b-2sh75ct5ct] .heatmap-grid,
[b-2sh75ct5ct] .heatmap-week-grid { display: grid; gap: var(--hm-gap); align-items: center; }
[b-2sh75ct5ct] .heatmap-grid      { grid-template-columns: var(--hm-label) repeat(30, var(--hm-cell)); }
[b-2sh75ct5ct] .heatmap-week-grid { grid-template-columns: var(--hm-label) repeat(7,  var(--hm-cell)); }
[b-2sh75ct5ct] .hg-day-label  { font-size: 0.65rem; color: var(--cs-text-dim); text-align: center; }
[b-2sh75ct5ct] .hg-slot-label { font-size: 0.7rem; color: var(--cs-text-sec); font-family: ui-monospace, SFMono-Regular, monospace; padding-right: 0.5rem; text-align: right; }
[b-2sh75ct5ct] .hg-cell             { aspect-ratio: 1/1; border-radius: 2px; background: var(--hm-nodata); }
[b-2sh75ct5ct] .hg-cell.hg-ontime   { background: var(--cs-ontime); }
[b-2sh75ct5ct] .hg-cell.hg-late     { background: var(--cs-acked); }
[b-2sh75ct5ct] .hg-cell.hg-missed   { background: var(--cs-overdue); }
[b-2sh75ct5ct] .hg-cell.hg-inactive { background: var(--hm-inactive); }
[b-2sh75ct5ct] .heatmap-legend { font-size: 0.7rem; color: var(--cs-text-muted); display: flex; gap: 0.75rem; align-items: center; }
[b-2sh75ct5ct] .heatmap-legend .swatch {
    display: inline-block; width: 0.6rem; height: 0.6rem; border-radius: 2px; margin-right: 0.25rem; vertical-align: middle;
}
[b-2sh75ct5ct] .swatch-ontime   { background: var(--cs-ontime); }
[b-2sh75ct5ct] .swatch-acked    { background: var(--cs-acked); }
[b-2sh75ct5ct] .swatch-overdue  { background: var(--cs-overdue); }
[b-2sh75ct5ct] .swatch-nodata   { background: var(--hm-nodata); }
[b-2sh75ct5ct] .swatch-inactive { background: var(--hm-inactive); }

/* Freq strip (today peek dots) */
[b-2sh75ct5ct] .freq-strip { display: inline-flex; gap: var(--hm-gap); margin-left: 0.4rem; vertical-align: middle; }
[b-2sh75ct5ct] .freq-strip .fs-dot { width: var(--fs-dot); height: var(--fs-dot); border-radius: 50%; background: var(--fs-nodata); }
[b-2sh75ct5ct] .freq-strip .fs-dot.fs-ontime { background: var(--cs-ontime); }
[b-2sh75ct5ct] .freq-strip .fs-dot.fs-late   { background: var(--cs-acked); }
[b-2sh75ct5ct] .freq-strip .fs-dot.fs-missed { background: var(--cs-overdue); }

/* Empty state */
[b-2sh75ct5ct] .empty-state-icon { font-size: 1.5rem; }

/* Assignee filter select */
[b-2sh75ct5ct] .filter-pills select.form-select { min-width: 11rem; max-width: 18rem; }

/* Max width on wide screens */
@media (min-width: 992px) { [b-2sh75ct5ct] .container.dashboard-wrap { max-width: 1180px; } }

/* Row hover */
[b-2sh75ct5ct] tbody tr.cs-row:hover td { background: var(--cs-bg-hover); }
[b-2sh75ct5ct] tbody tr.cs-row { cursor: default; }

[x-cloak][b-2sh75ct5ct] { display: none !important; }
/* /Pages/Shared/Components/FeedbackButton/Default.cshtml.rz.scp.css */
    .feedback-fab[b-f992rsvbwz] {
        position: fixed;
        bottom: 1.5rem;
        right: 1.5rem;
        z-index: 1050;
        border-radius: 2rem;
        padding: 0.6rem 1.1rem;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    }
/* /Pages/Shared/_Layout.cshtml.rz.scp.css */
/* Please see documentation at https://learn.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */

a.navbar-brand[b-ctd435rwmk] {
  white-space: normal;
  text-align: center;
  word-break: break-all;
}

a[b-ctd435rwmk] {
  color: #0077cc;
}

.btn-primary[b-ctd435rwmk] {
  color: #fff;
  background-color: #1b6ec2;
  border-color: #1861ac;
}

.nav-pills .nav-link.active[b-ctd435rwmk], .nav-pills .show > .nav-link[b-ctd435rwmk] {
  color: #fff;
  background-color: #1b6ec2;
  border-color: #1861ac;
}

.border-top[b-ctd435rwmk] {
  border-top: 1px solid #e5e5e5;
}
.border-bottom[b-ctd435rwmk] {
  border-bottom: 1px solid #e5e5e5;
}

.box-shadow[b-ctd435rwmk] {
  box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

button.accept-policy[b-ctd435rwmk] {
  font-size: 1rem;
  line-height: inherit;
}

/* NOTE: the default template's `.footer { position: absolute; bottom: 0; ... }`
   was removed here. As a SCOPED rule it compiled to `.footer[b-<hash>]`, whose
   attribute-selector specificity beat app-shell.css's `.content > .footer`,
   pulling the footer out of flow — it overlapped the page's submit button and
   its width:100% overflowed the viewport (horizontal scrollbar). The redesign's
   flex sticky-footer in app-shell.css now governs footer layout. */
