.hrprac { max-width: 960px; margin: 0 auto; }
.hrprac-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.hrprac-card { border: 1px solid #d7dde5; border-radius: 12px; padding: 16px; background: #fff; }
.hrprac-card h3 { margin: 0 0 4px; }
.hrprac-meta { color: #5b6673; font-size: .9em; margin: 0 0 8px; }
.hrprac-tag { background: #e6f4ea; color: #1e6b34; border-radius: 999px; padding: 1px 8px; font-size: .85em; }
.hrprac-button { display: inline-block; padding: 8px 16px; border-radius: 8px; background: #0b3d91; color: #fff; text-decoration: none; }
.hrprac-button:focus-visible { outline: 3px solid #f2b100; outline-offset: 2px; }
.hrprac-secondary { background: #fff; color: #0b3d91; border: 1px solid #0b3d91; }
.hrprac-badges { list-style: none; padding: 0; margin: 0 0 8px; }
.hrprac-quiz { margin-top: 12px; }
.hrprac-statement { font-size: 1.15em; margin: 12px 0; padding: 12px 16px; border-left: 4px solid #0b3d91; background: #f4f7fb; }
.hrprac-choices { display: flex; gap: 12px; flex-wrap: wrap; margin: 12px 0; }
.hrprac-choice { border: 2px solid #0b3d91; cursor: pointer; font-size: 1em; min-width: 120px; }
.hrprac-choice.is-chosen { background: #f2b100; color: #111; border-color: #f2b100; }
.hrprac-review { border: 1px solid #d7dde5; border-left-width: 6px; border-radius: 8px; padding: 8px 14px; margin: 10px 0; }
.hrprac-review.is-right { border-left-color: #1e6b34; }
.hrprac-review.is-wrong { border-left-color: #b3261e; }
.hrprac-review .hrprac-statement { font-size: 1em; margin: 6px 0; }
.hrprac-badge-note { background: #fff6d6; border: 1px solid #f2b100; border-radius: 8px; padding: 8px 12px; font-weight: 600; }
.hrprac-error { color: #b3261e; }
.hrprac-quiz progress { width: 100%; }
.hrprac-stage { margin-top: 12px; }
.hrprac-item { margin: 16px 0; }
.hrprac-item textarea { width: 100%; box-sizing: border-box; font: inherit; padding: 8px; }
.hrprac-checklist { margin: 6px 0 6px 18px; }
.hrprac-checklist .is-right { color: #1e6b34; }
.hrprac-checklist .is-wrong { color: #b3261e; }
.hrprac-case fieldset { border: 1px solid #d7dde5; border-radius: 8px; margin: 12px 0; padding: 8px 14px; }
.hrprac-option { display: block; padding: 4px 0; }
.hrprac-button[disabled] { opacity: .5; cursor: not-allowed; }
[tabindex="-1"]:focus { outline: none; }
.hrprac-verdict { font-weight: 600; }
.hrprac-next { margin-top: 12px; }
.hrprac-seg { margin: 4px 0; }
.hrprac-chip { display: inline-block; font-size: .75em; font-weight: 600; padding: 1px 8px; border-radius: 999px; background: #e6eefb; color: #0b3d91; margin-right: 4px; }
.hrprac-seg.is-impact .hrprac-chip { background: #fff3d6; color: #7a4b00; }
.hrprac-seg.is-action .hrprac-chip { background: #e6f4ea; color: #1e6b34; }
.hrprac-model { border-left: 4px solid #1e6b34; padding-left: 12px; margin: 8px 0; }
.hrprac-notes { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 8px 0; }
.hrprac-note { border: 1px solid #d7dde5; border-radius: 8px; padding: 8px 12px; background: #fff; }
.hrprac-note p { margin: 4px 0 0; }
.hrprac-crit { border-top: 1px solid #d7dde5; padding-top: 8px; margin-top: 12px; }
.hrprac-nav { margin-top: 12px; }

.hrprac-notice { background: #e6f4ea; border: 1px solid #1e6b34; border-radius: 8px; padding: 8px 12px; margin: 8px 0; }
.hrprac-notice.is-warn { background: #fff3d6; border-color: #b7791f; }
.hrprac-studio .hrprac-table { width: 100%; border-collapse: collapse; margin: 8px 0 16px; }
.hrprac-studio .hrprac-table th, .hrprac-studio .hrprac-table td { border-bottom: 1px solid #d7dde5; padding: 6px 8px; text-align: left; vertical-align: top; }
.hrprac-inline { display: inline-block; margin: 2px 4px 2px 0; }
.hrprac-form input[type=text], .hrprac-form textarea, .hrprac-form select, .hrprac-form input[type=number] { width: 100%; box-sizing: border-box; font: inherit; padding: 6px; }
.hrprac-field { margin: 8px 0; }
.hrprac-field label { display: block; font-weight: 600; margin-bottom: 2px; }
.hrprac-rep { border: 1px solid #d7dde5; border-radius: 8px; margin: 12px 0; padding: 8px 14px; }
.hrprac-section { border-top: 2px solid #0b3d91; margin-top: 20px; }
.hrprac-gate { border: 1px solid #d7dde5; border-left-width: 6px; border-radius: 8px; padding: 8px 14px; margin: 12px 0; }
.hrprac-gate.is-ready { border-left-color: #1e6b34; }
.hrprac-gate.is-blocked { border-left-color: #b3261e; }
.hrprac-gate .is-error { color: #b3261e; }
.hrprac-gate .is-warning { color: #7a4b00; }
.hrprac-gate ul { list-style: none; padding-left: 0; }
