/* Scoped HR add-on; no global form, button, or dashboard overrides. */
.hx-balance{grid-column:1/-1}.hx-balance-history,.hx-corrections{max-height:320px;overflow:auto;overflow-wrap:anywhere}.hx-balance-history article,.hx-corrections article{padding:10px 0;border-bottom:1px solid var(--line)}.hx-balance-history p,.hx-corrections p{white-space:pre-wrap}.hx-reverse{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.hx-form [hidden]{display:none!important}
.hx-experience,.hx-dialog,.hx-row{--hx-line:var(--line,#e7e9ed);--hx-muted:var(--muted,#6f7787);--hx-subtle:color-mix(in srgb,var(--ink,#151921) 4%,var(--surface,#fff));--hx-green:#17643d;--hx-red:#a12b32;--hx-success-bg:#eaf6ef;--hx-error-bg:#fff0f0;--hx-warning-bg:#fff8e4;--hx-warning-ink:#805d18;color:var(--ink,#151921);min-width:0}
.hx-self-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.hx-card{padding:20px!important;margin-top:16px;min-width:0}
.hx-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.hx-card h2,.hx-dialog h2{margin:0;font-size:18px;line-height:1.3}
.hx-card .eyebrow{margin:0 0 5px;font-size:10px;letter-spacing:.1em}
.hx-counter{font-size:11px;font-weight:600;color:var(--hx-muted,#637268);white-space:nowrap}
.hx-form,.hx-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;min-width:0}
.hx-form label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12px;font-weight:600}
.hx-form input,.hx-form select,.hx-form textarea{box-sizing:border-box;min-width:0;width:100%;padding:9px 10px;border:1px solid var(--hx-line,#dfe4e0);border-radius:8px;background:var(--surface,#fff);color:inherit;font:inherit;line-height:1.35}
.hx-form textarea{resize:vertical;min-height:62px}
.hx-wide,.hx-message,.hx-fields{grid-column:1/-1}
.hx-fields{border:0;padding:0;margin:0}
.hx-fields:disabled{opacity:.8}
.hx-fields:disabled input,.hx-fields:disabled select{background:var(--hx-subtle)}
.hx-form>.primary-button,.hx-form>.hx-approve,.hx-form>.hx-reject{justify-self:start;min-height:36px}
.hx-preview{font-size:11px;color:var(--hx-muted,#637268);background:var(--hx-subtle);border-radius:7px;padding:8px 10px}
.hx-message{font-size:12px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.hx-message:empty{display:none}
.hx-message.error{color:var(--hx-red,#a12b32)}
.hx-original{margin:0;padding:10px;background:var(--hx-subtle);border-radius:7px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.hx-original b{display:block;margin-bottom:5px;font-size:11px}
.hx-history{margin-top:18px;border-top:1px solid var(--hx-line,#dfe4e0);max-height:420px;overflow:auto}
[data-hx-history-rows]{max-height:420px;overflow:auto;scrollbar-gutter:stable}
[data-hx-history-rows]:focus-visible{outline:2px solid #78988a;outline-offset:3px}
.hx-experience .hr-table{min-width:700px}
.hx-history summary{display:flex;gap:12px;justify-content:space-between;cursor:pointer;padding:12px 0;font-size:13px;font-weight:600;list-style:revert}
.hx-history summary span{font-size:11px;font-weight:400;color:var(--hx-muted,#637268)}
.hr-list-row.hx-row{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 0;border-color:var(--hx-line,#dfe4e0);border-top:1px solid var(--hx-line,#dfe4e0);background:var(--surface,#fff);min-width:0}
.hx-row-copy{min-width:0;flex:1}
.hx-row-copy strong{display:block;font-size:13px}
.hx-row-copy small{display:block;font-size:11px;line-height:1.6;color:var(--hx-muted,#637268);overflow-wrap:anywhere;white-space:pre-wrap}
.hx-row-copy .hx-decision-note{color:var(--hx-red,#a12b32)}
.hx-row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;max-width:55%}
.hx-row-actions>small{font-size:10px;color:var(--hx-muted,#637268)}
.hx-status{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--hx-line);background:var(--hx-subtle);border-radius:20px;font-size:10px;line-height:1.4;padding:4px 8px;white-space:nowrap}
.hx-status-approved{color:var(--hx-green);background:var(--hx-success-bg);border-color:color-mix(in srgb,var(--hx-green) 35%,var(--surface,#fff))}
.hx-status-rejected{color:var(--hx-red);background:var(--hx-error-bg);border-color:color-mix(in srgb,var(--hx-red) 35%,var(--surface,#fff))}
.hx-status-submitted{color:var(--hx-warning-ink);background:var(--hx-warning-bg);border-color:color-mix(in srgb,var(--hx-warning-ink) 35%,var(--surface,#fff))}
.hx-approve,.hx-reject,.hx-gear{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:6px 10px;border:1px solid;border-radius:7px;font:inherit;font-size:11px;font-weight:600;cursor:pointer}
.hx-approve{color:#fff;background:#17643d;border-color:#17643d}
.hx-reject{color:var(--hx-red,#a12b32);background:var(--hx-error-bg);border-color:color-mix(in srgb,var(--hx-red) 40%,var(--surface,#fff))}
.hx-gear{background:var(--surface,#fff);border-color:var(--hx-line,#dfe4e0);color:inherit;font-size:17px;width:33px;padding:4px}
.hx-approve:hover{background:#104f2e}.hx-reject:hover{background:color-mix(in srgb,var(--hx-red) 15%,var(--surface,#fff))}.hx-gear:hover{background:var(--hx-subtle)}
.hx-form button:disabled,.hx-row button:disabled{opacity:.5;cursor:wait}
.hx-experience :is(button,input,select,textarea,summary):focus-visible,.hx-dialog :is(button,input,select,textarea):focus-visible{outline:3px solid #78988a;outline-offset:2px}
.hx-empty{padding:14px 0;margin:0;font-size:12px;color:var(--hx-muted,#637268);line-height:1.5}
.hx-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}
.hx-facts dt{font-size:10px;color:var(--hx-muted,#637268);margin-bottom:5px}.hx-facts dd{font-size:12px;margin:0;overflow-wrap:anywhere}
.hx-upload{padding:14px;background:var(--hx-subtle);border:1px solid var(--hx-line,#dfe4e0);border-radius:10px;margin-bottom:18px}
.hx-upload>button[type="submit"]{grid-column:1/-1;max-width:100%}
.hx-drop{padding:16px;border:1px dashed #94aa9a;border-radius:8px;background:var(--surface,#fff);cursor:pointer}
.hx-drop strong{font-size:12px}.hx-drop span,.hx-drop output{font-size:11px;font-weight:400;color:var(--hx-muted,#637268);overflow-wrap:anywhere}
.hx-drop input{margin:8px 0;background:transparent;padding:0;border:0;font-size:11px}
.hx-drop input::file-selector-button{padding:7px 10px;border:1px solid var(--hx-line);background:var(--hx-subtle);border-radius:6px;color:var(--ink,#151921);margin-right:8px;cursor:pointer}
.hx-drop.hx-drag{border:2px solid var(--hx-green);background:var(--hx-success-bg)}
.hx-dialog{box-sizing:border-box;width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--hx-line);border-radius:14px;padding:22px;color:var(--ink,#151921);background:var(--surface,#fff);box-shadow:var(--shadow,0 20px 80px #132d2430)}
.hx-dialog::backdrop{background:#10261d70}
.hx-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.hx-dialog [data-hx-close]{border:0;background:transparent;font-size:24px;color:inherit;cursor:pointer;min-width:32px;min-height:32px}
.hx-dialog-person{display:flex;align-items:center;gap:10px;font-size:13px;margin:0 0 16px}
html[data-oj-theme="dark"] :is(.hx-experience,.hx-dialog,.hx-row){--hx-green:#9be1b8;--hx-red:#ffb4b9;--hx-success-bg:#173b2c;--hx-error-bg:#46282f;--hx-warning-bg:#3d3421;--hx-warning-ink:#f4d68b}
/* These scoped foregrounds must win over appearance.css's generic dark button rule. */
html[data-oj-theme="dark"] :is(.hx-approve,.hx-reject,.hx-gear){color:var(--ink)!important;border-color:var(--line)!important}
html[data-oj-theme="dark"] .hx-approve{background:#205b3d;color:#e4ffed!important}
html[data-oj-theme="dark"] .hx-approve:hover{background:#296f4c}
html[data-oj-theme="dark"] .hx-reject{background:var(--hx-error-bg);color:var(--hx-red)!important}
html[data-oj-theme="dark"] .hx-reject:hover{background:#59343d}
html[data-oj-theme="dark"] .hx-gear{background:var(--surface);color:var(--ink)!important}
html[data-oj-theme="dark"] .hx-gear:hover{background:var(--hx-subtle)}
html[data-oj-theme="dark"] .hx-form :is(input,select,textarea){background:var(--canvas);color:var(--ink)}
html[data-oj-theme="dark"] .hx-form :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
html[data-oj-theme="dark"] :is(.hx-experience,.hx-dialog) .primary-button{background:#b8c18b;color:#1b2517!important}
@media(max-width:1050px){.hx-self-grid{grid-template-columns:1fr}.hx-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.hx-card{padding:15px!important}.hr-list-row.hx-row{align-items:flex-start;flex-direction:column}.hx-row-actions{justify-content:flex-start;max-width:100%}.hx-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.hx-dialog{padding:16px}.hx-dialog-person{flex-wrap:wrap}.hx-form{gap:10px}}
@media(prefers-reduced-motion:reduce){.hx-experience *,.hx-dialog *{scroll-behavior:auto!important;transition:none!important}}
