.interest-page { padding-block: 48px 72px; }
.interest-container { max-width: 840px; }
.interest-container h1 { font-size: clamp(1.8rem, 5vw, 2.6rem); }
.interest-fields { border: 0; padding: 0; margin: 24px 0 0; min-width: 0; }
.interest-fields label:not(.interest-check), .interest-filters label { display: block; margin-bottom: 8px; font-weight: 600; }
.interest-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.interest-fields input:not([type=checkbox]), .interest-fields select, .interest-fields textarea,
.interest-filters input, .interest-filters select { display: block; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--portal-line); border-radius: 6px; background: var(--portal-panel, #fff); color: var(--portal-ink); font: inherit; }
.interest-fields input[type=checkbox], .interest-check input { width: 20px; height: 20px; accent-color: var(--brand-blue); flex-shrink: 0; }
.interest-hint { font-size: .94rem; line-height: 1.7; margin: 16px 0 24px; }
.interest-topics { border: 0; padding: 0; margin: 28px 0; min-width: 0; }
.interest-topics legend { font-size: 1rem; font-weight: 600; margin-bottom: 12px; }
.interest-check { display: flex; align-items: flex-start; gap: 10px; padding-block: 10px; min-height: 44px; cursor: pointer; line-height: 1.55; }
.interest-notice { margin: 24px 0; padding: 20px; background: var(--brand-blue-soft); border: 1px solid var(--brand-blue-line); border-radius: 8px; line-height: 1.7; }
.interest-page a:not(.ant-btn) { color: var(--brand-blue-hover); text-decoration: underline; text-underline-offset: 3px; }
.interest-notice p:last-child { margin-bottom: 0; }
.interest-submit { margin-top: 20px; min-height: 44px; height: auto; padding: 10px 24px; white-space: normal; }
.interest-error, .interest-fields .validation-message { color: #a52828; line-height: 1.6; }
.interest-error { margin-block: 16px; }
.interest-fields .invalid { border-color: #a52828 !important; }
.interest-delete { border-top: 1px solid var(--portal-line); margin-top: 32px; padding-top: 24px; }
.interest-delete button { margin: 12px 8px 0 0; height: auto; min-height: 44px; white-space: normal; }
.interest-admin { padding: 24px; margin-bottom: 24px; }
.interest-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; align-items: end; margin-bottom: 24px; }
.interest-filters label { margin-bottom: 0; }
.interest-filters input, .interest-filters select { margin-top: 8px; }
.interest-filters button, .interest-pagination button { min-height: 44px; height: auto; white-space: normal; }
.interest-table-wrap { overflow-x: auto; }
.interest-table { width: 100%; min-width: 720px; border-collapse: collapse; text-align: left; }
.interest-table th, .interest-table td { padding: 12px; border-bottom: 1px solid var(--portal-line); overflow-wrap: anywhere; }
.interest-table th { background: var(--portal-bg); white-space: nowrap; }
.interest-table button { min-height: 44px; height: auto; }
.interest-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.interest-detail { display: grid; grid-template-columns: minmax(120px, 1fr) 3fr; gap: 12px 20px; }
.interest-detail dt { font-weight: 600; }
.interest-detail dd { margin: 0; overflow-wrap: anywhere; }
.interest-note { white-space: pre-wrap; }
.interest-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 600px) { .interest-grid, .interest-detail { grid-template-columns: 1fr; } .interest-grid { gap: 16px; } .interest-detail { gap: 6px; } .interest-detail dd { margin-bottom: 12px; } .interest-admin { padding: 16px; } .interest-page { padding-block: 32px 48px; } }
