.hcp-button{white-space:nowrap;border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;height:2.25rem;padding:0 1rem;font-size:.8125rem;font-weight:500;line-height:1;transition:background-color .15s,color .15s,transform .1s;display:inline-flex}.hcp-button:active{transform:scale(.97)}.hcp-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hcp-button:disabled{pointer-events:none;opacity:.5;cursor:not-allowed}.hcp-button--default{background:var(--accent);color:var(--accent-fg)}.hcp-button--default:hover{filter:brightness(1.08)}.hcp-button--outline{background:var(--surface);color:var(--text-primary);border-color:var(--border)}.hcp-button--outline:hover{background:var(--surface-raised)}.hcp-button--destructive{background:var(--status-red);color:var(--text-inverse)}.hcp-button--destructive:hover{filter:brightness(1.08)}.hcp-button--ghost{color:var(--text-primary);background:0 0}.hcp-button--ghost:hover{background:var(--surface-raised)}.hcp-button--sm{height:2rem;padding:0 .75rem;font-size:.75rem}.hcp-button--lg{height:2.5rem;padding:0 2rem}.hcp-button--vertical{white-space:normal;flex-direction:column;height:auto;padding:.625rem 1rem}.hcp-input-wrap{flex-direction:column;gap:.25rem;display:flex}.hcp-input__label{font-family:var(--font-sans);color:var(--text-primary);font-size:.8125rem;font-weight:500}.hcp-input{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;height:2.25rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--surface);outline:none;padding:0 .75rem;font-size:.8125rem;transition:border-color .15s,box-shadow .15s}.hcp-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.hcp-input:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-raised)}.hcp-input-wrap--error .hcp-input{border-color:var(--status-red);background:var(--status-red-bg)}.hcp-input-wrap--error .hcp-input:focus{box-shadow:0 0 0 2px var(--status-red-bg)}.hcp-input__error{font-family:var(--font-sans);color:var(--status-red);margin:0;font-size:.75rem}.hcp-table-wrap{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);width:100%;position:relative;overflow:auto}.hcp-table{border-collapse:collapse;width:100%;font-family:var(--font-sans);font-size:.8125rem}.hcp-table caption{text-align:left;color:var(--text-secondary);padding:.75rem 1rem;font-size:.75rem}.hcp-table thead tr{background:var(--surface-raised);border-bottom:1px solid var(--border-strong)}.hcp-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);padding:.625rem 1rem;font-size:.6875rem;font-weight:500}.hcp-table th[data-align=right]{text-align:right}.hcp-table td{vertical-align:middle;color:var(--text-primary);border-bottom:1px solid var(--border);padding:.75rem 1rem}.hcp-table td[data-align=right]{text-align:right;font-family:var(--font-mono)}.hcp-table tbody tr:last-child td{border-bottom:0}.hcp-table tbody tr:hover{background:var(--surface-raised)}.hcp-table-empty{text-align:center;color:var(--text-secondary);padding:2rem 1rem}.hcp-skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-raised) 25%, var(--border) 50%, var(--surface-raised) 75%);background-size:200% 100%;width:100%;height:1rem;animation:1.4s ease-in-out infinite hcp-skeleton-shimmer;display:block}.hcp-skeleton--pill{border-radius:var(--radius-pill)}@keyframes hcp-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.hcp-skeleton{background:var(--surface-raised);animation:none}}.hcp-textarea{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;font-family:var(--font-sans);color:var(--text-primary);background:var(--surface);resize:vertical;outline:none;padding:.5rem .75rem;font-size:.8125rem;transition:border-color .15s,box-shadow .15s}.hcp-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.hcp-textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-raised)}.hcp-input-wrap--error .hcp-textarea{border-color:var(--status-red);background:var(--status-red-bg)}.hcp-input-wrap--error .hcp-textarea:focus{box-shadow:0 0 0 2px var(--status-red-bg)}.hcp-select{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;height:2.25rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--surface);cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-secondary) 50%), linear-gradient(135deg, var(--text-secondary) 50%, transparent 50%);background-position:calc(100% - 1.125rem),calc(100% - .75rem);background-repeat:no-repeat;background-size:.375rem .375rem;outline:none;padding:0 2rem 0 .75rem;font-size:.8125rem;transition:border-color .15s,box-shadow .15s}.hcp-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.hcp-select:disabled{opacity:.5;cursor:not-allowed;background-color:var(--surface-raised)}.hcp-input-wrap--error .hcp-select{border-color:var(--status-red);background-color:var(--status-red-bg)}.hcp-modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.hcp-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:32rem;max-height:calc(100vh - 2rem);box-shadow:var(--shadow-md);outline:none;overflow:auto}.hcp-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.hcp-modal__title{font-family:var(--font-sans);color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.hcp-modal__close{border-radius:var(--radius-md);width:1.75rem;height:1.75rem;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;display:inline-flex}.hcp-modal__close:hover{background:var(--surface-raised)}.hcp-modal__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hcp-modal__body{font-family:var(--font-sans);color:var(--text-primary);padding:1.25rem;font-size:.8125rem}
