/* Positions app additions on top of the shared D45 stylesheet (style.css). */
.unitbar { display: flex; gap: 4px; flex-wrap: wrap; margin: 8px 0 10px; }
.unitbar button { font-family: var(--font-head); text-transform: uppercase; font-size: 15px; min-width: 46px; border-left: 4px solid var(--uc, var(--border)); }
.unitbar button.active { background: var(--accent); color: #fff; border-color: var(--accent); border-left-color: var(--uc, var(--accent)); }
.check-ok { color: var(--ok); font-weight: 600; }
.check-bad { color: var(--danger); font-weight: 600; }
.grp-head td { background: #eef3f6; color: var(--head); font-family: var(--font-head); text-transform: uppercase; font-size: 15px; letter-spacing: .3px; padding-top: 7px !important; }
.sub-head td { background: #f8f8f6; color: var(--muted); font-weight: 500; }
.sub-head td.lbl { padding-left: 16px; }
.vacant td.holder { color: var(--danger); font-weight: 600; }
.vacant.suspect td.holder { color: var(--warn); }
td code, li code { font-size: 11.5px; color: var(--muted); }
.hourly-col { background: #fbf7ea; }
th.hourly-col { background: #f7efd4 !important; }
.placeholder { border: 2px dashed var(--border); border-radius: 8px; padding: 18px 20px; background: #fbfbf9; max-width: 900px; }
.placeholder h2 { margin-top: 0; }
details.exc { margin: 4px 0 10px; }
details.exc summary { cursor: pointer; font-weight: 500; }
details.exc summary .pill { margin-left: 6px; }
.log { font-family: Consolas, monospace; font-size: 11.5px; background: #f6f5f2; border: 1px solid var(--border); border-radius: 4px; padding: 6px 8px; max-height: 240px; overflow: auto; white-space: pre-wrap; }
.legend-line { font-size: 11.5px; color: var(--muted); margin: 4px 0 8px; }
@media print { .no-print, .unitbar { display: none !important; } .view { display: none !important; } .view.active { display: block !important; } }
.dev-banner { background: #fff6dc; color: #8a5a00; border-bottom: 2px solid #e2a600; padding: 4px 14px; font-weight: 600; font-size: 12px; }
