.hpa-page { margin:0; min-height:100vh; background:var(--cw-color-canvas); color:var(--cw-color-text-strong); font-family:var(--cw-font-sans, sans-serif); font-size:14px; }
.hpa-page * { box-sizing:border-box; }
.hpa-page a { color:inherit; text-decoration:none; }
.hpa-login-page { display:grid; place-items:center; padding:24px; }
.hpa-login-card { width:min(400px,100%); padding:32px; border:1px solid var(--cw-color-border); border-radius:16px; background:var(--cw-color-surface); }
.hpa-page h1 { font-size:24px; margin:16px 0 28px; }
.hpa-form { display:flex; flex-direction:column; gap:10px; }
.hpa-form input:not([type=hidden]), .hpa-form textarea { width:100%; padding:12px; border:1px solid var(--cw-color-border); border-radius:8px; background:var(--cw-color-surface); color:inherit; font:inherit; }
.hpa-form textarea { resize:vertical; line-height:1.8; }
.hpa-form label { margin-top:12px; font-weight:700; }
.hpa-form .btn-primary { margin-top:18px; }
.hpa-header { padding:18px 32px; display:flex; justify-content:space-between; align-items:center; gap:20px; background:var(--cw-color-surface); border-bottom:1px solid var(--cw-color-border); font-weight:700; }
.hpa-header > div { display:flex; align-items:center; gap:24px; }
.hpa-header form { margin:0; }
.hpa-main { max-width:1180px; margin:0 auto; padding:32px; }
.hpa-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.hpa-card { display:block; padding:24px; border:1px solid var(--cw-color-border); border-radius:16px; background:var(--cw-color-surface); }
.hpa-card:hover { border-color:var(--cw-color-primary); }
.hpa-card h2 { margin:12px 0; font-size:18px; }
.hpa-card p { line-height:1.7; }
.hpa-card-excerpt { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.hpa-edit-link, .hpa-card-number { color:var(--cw-color-primary); font-weight:700; }
.hpa-edit-main { max-width:780px; }
.hpa-editor { padding:28px; border:1px solid var(--cw-color-border); border-radius:16px; background:var(--cw-color-surface); }
.hpa-actions { display:flex; justify-content:flex-end; align-items:baseline; gap:12px; }
.hpa-error { color:var(--cw-color-danger, #b91c1c); margin:0; font-size:13px; }
.hpa-saved { color:var(--cw-color-primary); }
@media(max-width:900px) { .hpa-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .hpa-card-grid { grid-template-columns:1fr; } .hpa-header { padding:16px; flex-wrap:wrap; } .hpa-main { padding:20px; } .hpa-editor { padding:20px; } }

.hpa-workspace { display:grid; grid-template-columns:220px minmax(0,1fr); min-height:calc(100vh - 76px); }
.hpa-sidebar { padding:24px 16px; background:var(--cw-color-surface); border-right:1px solid var(--cw-color-border); }
.hpa-menu-link { display:block; padding:12px 16px; border-radius:10px; font-weight:700; }
.hpa-page .hpa-menu-link[aria-current=page] { background:var(--cw-color-primary-soft); color:var(--cw-color-primary); }
.hpa-workspace .hpa-main { width:100%; min-width:0; align-self:start; }
@media(max-width:768px) {
    .hpa-workspace { grid-template-columns:1fr; min-height:0; }
    .hpa-sidebar { padding:12px 20px; border-right:0; border-bottom:1px solid var(--cw-color-border); }
    .hpa-menu-link { display:inline-block; }
}

.hpa-table-wrap { overflow-x:auto; margin-top:20px; border:1px solid var(--cw-color-border); border-radius:12px; background:var(--cw-color-surface); }
.hpa-table { width:100%; border-collapse:collapse; text-align:left; }
.hpa-table th, .hpa-table td { padding:16px; border-bottom:1px solid var(--cw-color-border); white-space:nowrap; }
.hpa-table th { background:var(--cw-color-surface-subtle); font-weight:700; }
.hpa-table tbody tr:last-child td { border-bottom:0; }
.hpa-table .hpa-empty { padding:48px 16px; text-align:center; color:var(--cw-color-text-muted); }
.hpa-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px; margin-top:24px; }
.hpa-pagination a { padding:8px 12px; border:1px solid var(--cw-color-border); border-radius:8px; background:var(--cw-color-surface); }
.hpa-pagination [aria-current=page] { color:var(--cw-color-primary); border-color:var(--cw-color-primary); font-weight:700; }

.hpa-consultation-details { min-width:100px; }
.hpa-consultation-details summary { cursor:pointer; color:var(--cw-color-primary); }
.hpa-consultation-details dl { width:300px; max-width:65vw; margin:12px 0 0; padding:16px; background:var(--cw-color-surface-subtle); border-radius:10px; white-space:normal; overflow-wrap:anywhere; }
.hpa-consultation-details dt { margin-top:12px; font-weight:700; }
.hpa-consultation-details dt:first-child { margin-top:0; }
.hpa-consultation-details dd { margin:6px 0 0; line-height:1.7; }
.hpa-consultation-content { white-space:pre-wrap; }

.hpa-login-card > img { filter:brightness(0); }
