/* HCM ▸ Security 1.0. No tinted backgrounds; status colours are text only. */
.hsec { margin-top: .5rem; }
.hsec-title { font-family: inherit; margin: .25rem 0 .25rem; }
.hsec-status { margin: .25rem 0 .75rem; }
.hsec-g { color: #1b7a33; font-weight: 600; }
.hsec-y { color: #9a6b00; font-weight: 600; }
.hsec-r { color: #b3261e; font-weight: 600; }
.hsec-muted { color: #5a5a5a; }
.hsec-small { font-size: .8rem; }
.hsec-notes { margin: .5rem 0 1rem 1.1rem; padding: 0; font-size: .85rem; color: #333; }
.hsec-tabs { margin-bottom: .75rem; }
.hsec-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.hsec-table th, .hsec-table td { text-align: left; padding: .4rem .5rem; border-bottom: 1px solid #ddd; vertical-align: top; }
.hsec-table thead th { border-bottom: 2px solid #121212; font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; }
.hsec-table tr.d0 th { padding-top: .7rem; }
.hsec-cell { white-space: nowrap; }
.hsec-sw { display: inline-flex; align-items: center; gap: .4rem; cursor: pointer; }
.hsec-sw input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.hsec-knob { width: 2.1rem; height: 1.15rem; border: 2px solid currentColor; border-radius: 1rem; position: relative; display: inline-block; }
.hsec-knob::after { content: ""; position: absolute; top: .12rem; left: .14rem; width: .7rem; height: .7rem; border-radius: 50%; border: 2px solid currentColor; transition: left .12s; }
.hsec-sw input:checked + .hsec-knob::after { left: 1.05rem; background: currentColor; }
.hsec-sw input:focus-visible + .hsec-knob { outline: 2px solid currentColor; outline-offset: 2px; }
.hsec-sw input:disabled + .hsec-knob { opacity: .4; }
.hsec-sw.dim { opacity: .55; }
.hsec-onoff { font-size: .8rem; min-width: 1.6rem; }
.hsec-link { border: 0; background: none; padding: 0; text-decoration: underline; cursor: pointer; font: inherit; font-size: .8rem; }
.hsec-people { display: grid; grid-template-columns: minmax(14rem, 18rem) 1fr; gap: 1.25rem; }
.hsec-plist { list-style: none; margin: 0; padding: 0; border-top: 1px solid #ddd; }
.hsec-person { display: block; width: 100%; text-align: left; border: 0; border-bottom: 1px solid #ddd; background: none; padding: .45rem .3rem; cursor: pointer; font: inherit; }
.hsec-person.on { border-left: 4px solid #121212; padding-left: .5rem; }
.hsec select { font: inherit; font-size: .85rem; padding: .15rem .3rem; border: 1px solid #121212; background: #fff; }
@media (max-width: 760px) { .hsec-people { grid-template-columns: 1fr; } }
.hsec-table tbody th { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: .9rem; }
.hsec-table tbody th b { font-weight: 700; }
