.party-picker-menu { z-index: 1500; display: block; overflow: auto; overscroll-behavior: contain; background: #fff; color: #17202b; border: 1px solid #9eabb9; border-radius: 6px; box-shadow: 0 6px 18px #17202b24; padding: 4px; }
.party-picker-menu[hidden] { display: none; }
.party-picker-menu [role="option"] { min-height: 48px; padding: 8px 10px; cursor: pointer; border-radius: 4px; }
.party-picker-menu [role="option"]:hover, .party-picker-menu [aria-selected="true"] { background: #eaf1ff; outline: 1px solid #adc4e9; }
.party-picker-menu strong, .party-picker-menu small { display: block; overflow-wrap: anywhere; }
.party-picker-menu small { color: #536273; font-size: 12px; margin-top: 3px; }
.party-picker-menu .party-picker-reason { color: #176147; }
.party-picker-menu [role="status"], .party-picker-menu [role="alert"] { padding: 12px; }
.challan-suggestion-control { display: flex; min-width: 0; position: relative; }
.challan-suggestion-control input { width: 100%; min-width: 0; }
.challan-suggestion-toggle { width: 34px; min-width: 34px; border: 1px solid #bec9d5; border-radius: 4px; background: #fff center / 16px no-repeat url('./assets/icons/chevron-down.svg'); color: transparent; cursor: pointer; }
.party-directory { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.5fr); gap: 24px; min-width: 0; background: #fff; padding: 16px; }
.party-directory header, .party-directory footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.party-directory h2 { font-size: 20px; margin: 0; overflow-wrap: anywhere; }
.party-directory h3 { font-size: 15px; margin: 0 0 10px; }
.party-directory-list, .party-directory-detail { min-width: 0; }
#partyDirectoryRows { max-height: calc(100dvh - 310px); overflow: auto; }
.party-directory-detail { border-left: 1px solid #dce2e8; padding-left: 24px; }
.party-directory label, .party-alias-dialog label { display: grid; gap: 6px; font-size: 13px; }
.party-directory input, .party-directory select, .party-alias-dialog input { width: 100%; min-width: 0; min-height: 40px; padding: 8px; border: 1px solid #bec9d5; border-radius: 4px; background: white; color: #17202b; }
.party-directory-filters { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 10px; }
.party-directory-count { color: #536273; min-height: 20px; }
.party-directory-row { display: flex; width: 100%; align-items: center; justify-content: space-between; text-align: left; gap: 12px; border: 0; border-bottom: 1px solid #e1e6eb; padding: 12px 8px; background: white; color: #17202b; cursor: pointer; }
.party-directory-row:hover, .party-directory-row.is-selected { background: #eaf1ff; }
.party-directory-row > span { min-width: 0; }
.party-directory-row > span:last-child { flex-shrink: 0; text-align: right; }
.party-directory-row small, .party-alias-row small { display: block; color: #536273; margin-top: 5px; }
.party-directory strong, .party-directory small, .party-directory td { overflow-wrap: anywhere; }
.party-directory footer { margin-top: 16px; }
.party-profile-summary { display: flex; flex-wrap: wrap; gap: 12px; padding: 10px 0; color: #536273; }
.party-profile-summary strong { color: #176147; }
.party-evidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.party-evidence { padding: 16px 0; border-top: 1px solid #e1e6eb; }
.party-evidence ul { list-style: none; padding: 0; margin: 0; max-height: 220px; overflow: auto; }
.party-evidence li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; }
.party-evidence li span { overflow-wrap: anywhere; }
.party-history-table { max-width: 100%; overflow: auto; }
.party-history-table table { width: 100%; min-width: 570px; border-collapse: collapse; font-size: 13px; }
.party-history-table th, .party-history-table td { padding: 9px 6px; text-align: left; border-bottom: 1px solid #e1e6eb; }
.party-history-table small { display: block; color: #536273; margin-top: 4px; }
.party-alias-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; }
.party-directory-back { display: none; }
.party-alias-dialog { width: min(480px, calc(100% - 24px)); max-height: calc(100dvh - 32px); overflow: auto; border: 1px solid #bec9d5; border-radius: 8px; padding: 24px; }
.party-alias-dialog::backdrop { background: #17202b66; }
.party-alias-dialog h2 { font-size: 20px; }
.party-alias-dialog footer { display: flex; gap: 12px; justify-content: flex-end; margin-top: 20px; }
@media (max-width: 1080px) {
  .party-directory { display: block; padding: 12px; }
  .party-directory-detail { display: none; padding: 0; border: 0; }
  #partyDirectoryRows { max-height: none; }
  .party-directory-detail { scroll-margin-top: 84px; }
  .party-directory.is-detail .party-directory-list { display: none; }
  .party-directory.is-detail .party-directory-detail { display: block; }
  .party-directory-back { display: inline-flex; }
  .party-directory input, .party-directory select, .party-alias-dialog input { min-height: 44px; font-size: 16px; }
  .party-directory .btn, .party-alias-dialog .btn { min-height: 44px; }
  .party-picker-menu [role="option"] { min-height: 52px; }
}
.party-contact-section header { display: flex; align-items: center; justify-content: space-between; }
.party-contact-record { border-bottom: 1px solid var(--border, #dce3ea); padding: 8px 0; }
.party-contact-record dl { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 6px 10px; }
.party-contact-record dd { margin: 0; overflow-wrap: anywhere; }
.party-business-period { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.party-business-period label { display: grid; gap: 4px; }
.party-business-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.party-business-summary dt { font-size: 12px; color: #52616d; }
.party-business-summary dd { margin: 4px 0 0; font-weight: 700; overflow-wrap: anywhere; }
.party-alias-dialog textarea { width: 100%; resize: vertical; }
@media (max-width: 600px) { .party-business-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } .party-business-period input, .party-alias-dialog :is(input,textarea,select) { font-size: 16px; min-height: 44px; } }
