/* hipaariskassessmenttool.com additions to the shared base.css */
fieldset.q { border: 0; border-top: 1px solid var(--line); margin: 0; padding: 12px 0; min-width: 0; }
fieldset.q legend { float: left; width: 100%; padding: 0; margin: 0 0 6px; font-weight: 600; }
fieldset.q legend + * { clear: both; }
.group h2 { font-size: 21px; margin: 26px 0 4px; }
.group h2 small, .std small { font-weight: 400; font-size: 14px; }
.std { font-size: 16px; margin: 18px 0 2px; color: var(--accent); }
.req { display: inline-block; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; padding: 1px 7px; border-radius: 4px; border: 1px solid currentColor; margin-right: 4px; }
.req.r { color: var(--high); } .req.a { color: var(--low); } .req.s { color: var(--muted); }
.progress-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 14px 0 4px; }
progress { flex: 1 1 220px; height: 10px; accent-color: var(--accent); }
.sticky-actions { position: sticky; bottom: 0; background: var(--panel); padding: 10px 0; margin-bottom: 0; border-top: 1px solid var(--line); }
.status-box { border: 1px solid var(--line); border-left: 4px solid var(--medium); background: var(--panel-2); border-radius: 8px; padding: 8px 14px; margin: 12px 0; font-size: 15px; }
.status-box p { margin: 4px 0; }
.stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
@media (min-width: 760px) { .stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.stat { background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; }
.bignum { font-size: 26px; font-weight: 800; line-height: 1.15; }
.lvl-critical, .lvl-high { color: var(--high); } .lvl-medium { color: var(--medium); } .lvl-low { color: var(--ok); }
.heatmap { width: auto; }
.heatmap th, .heatmap td { text-align: center; min-width: 46px; padding: 8px 6px; }
.hm { font-weight: 700; border: 1px solid var(--line); }
.hm.low { background: rgba(52, 211, 153, 0.18); } .hm.medium { background: rgba(251, 191, 36, 0.22); } .hm.high { background: rgba(248, 113, 113, 0.26); } .hm.critical { background: rgba(248, 113, 113, 0.45); }
.register td { font-size: 13.5px; }
.register select { width: auto; min-width: 58px; padding: 6px 8px; }
.register input[type="text"] { min-width: 120px; padding: 6px 8px; }
.register input[type="date"] { min-width: 140px; padding: 6px 8px; }
.register .fix { min-width: 220px; }
td.risk { font-weight: 700; white-space: nowrap; }
td.risk.critical, td.risk.high { color: var(--high); } td.risk.medium { color: var(--medium); } td.risk.low { color: var(--ok); }
.disclaimer { border: 1px solid var(--line); border-radius: 8px; padding: 10px 14px; font-size: 14px; color: var(--muted); margin: 18px 0; }
.notice { border-left: 4px solid var(--accent); background: var(--panel-2); padding: 8px 14px; border-radius: 6px; margin: 16px 0; }
.checks li { margin: 6px 0; }
@media print {
  .top, .foot, #hra, #status, .actions, .upsell, .crumbs, .status-box { display: none !important; }
  body { background: #fff; color: #000; }
  .register select, .register input { border: 0; background: none; }
}

/* axe color-contrast: base.css's light-mode amber (#a16207) is under 4.5:1 on the grey panels at small sizes */
@media (prefers-color-scheme: light) { :root { --medium: #854d0e; } }
.table-wrap:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
