#quick-group-panel { min-width: 0; color: #36563f; }
.party-heading { margin: 12px 0; }
.party-heading h3 { font: 600 23px 'Playfair Display', serif; margin: 0 0 5px; }
.party-heading p, .party-price { font-size: 12px; line-height: 1.45; color: #72806a; margin: 0; }
.party-format { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; }
.party-format select { min-height: 36px; padding: 5px 10px; border: 1px solid #d5dccb; border-radius: 7px; background: #fffef9; color: #35563e; font: 12px 'DM Sans', sans-serif; }
#party-entry { display: grid; gap: 16px; margin: 12px 0; }
#party-create, #party-login { min-height: 40px; width: 100%; margin: 0; font-size: 13px; }
#party-join-form { padding-top: 12px; border-top: 1px solid #e2e4d6; }
#party-join-form label { display: block; margin-bottom: 6px; font-size: 12px; }
#party-join-form > div { display: flex; gap: 6px; }
#party-code { min-width: 0; flex: 1; width: 100%; height: 40px; border: 1px solid #d5dccb; border-radius: 7px; padding: 0 10px; background: #fffef9; font: 13px 'DM Sans', sans-serif; text-transform: uppercase; }
#quick-group-panel button:not(.confirm-button) { cursor: pointer; min-height: 34px; padding: 6px 10px; border: 1px solid #d5dccb; border-radius: 7px; background: #f8faf3; color: #45633f; font: 500 12px 'DM Sans', sans-serif; }
#quick-group-panel button:disabled { cursor: default; opacity: .45; }
.party-invitation { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 12px 0 8px; padding: 10px 12px; border-radius: 8px; background: #edf2e6; }
.party-invitation > div { display: grid; gap: 3px; min-width: 0; }
.party-invitation small { font-size: 9px; letter-spacing: 1px; color: #7c896e; }
.party-invitation strong { font-size: 15px; letter-spacing: 1.5px; }
.party-copy-icon { display: none; }
#quick-group-panel #party-invite-open { margin-left: auto; background: #365b40; border-color: #365b40; color: #fff; }
#party-friends-panel { min-width: 0; }
#quick-group-panel:has(#party-friends-panel:not([hidden])) .party-price { display: none; }
.party-friends-toolbar { display: flex; gap: 6px; margin-bottom: 7px; }
#party-friends-filter { min-width: 0; width: 100%; flex: 1; border: 1px solid #d5dccb; border-radius: 7px; padding: 6px 8px; font: 12px 'DM Sans', sans-serif; background: #fffef9; }
.party-friends-toolbar button { flex-shrink: 0; }
#party-friends-list { display: grid; gap: 5px; }
.party-friend { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 6px 9px; border: 1px solid #e0e3d5; border-radius: 7px; background: #fffef9; }
.party-friend strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.party-friend small { font-size: 10px; color: #72806a; }
.party-friend button { flex-shrink: 0; }
.party-friends-pages { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 5px; font-size: 11px; }
.party-friends-help, #party-friends-list > p { font-size: 11px; line-height: 1.4; margin: 6px 0; }
.party-members { display: grid; gap: 5px; }
.party-member { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 43px; padding: 6px 10px; border: 1px solid #e0e3d5; border-radius: 7px; background: #fffef9; }
.party-member.is-ready { background: #edf4e7; border-color: #c8d8ba; }
.party-member-identity { display: grid; gap: 3px; min-width: 0; }
.party-member strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.party-member small { font-size: 10px; color: #7a876c; }
#quick-group-panel .party-member button { flex: none; min-height: 28px; width: 28px; padding: 0; background: transparent; border-color: transparent; font-size: 18px; }
#party-progress { margin: 8px 0; font-size: 12px; font-weight: 600; }
.party-actions { display: flex; gap: 6px; }
.party-actions > button { flex: 1; min-height: 38px; margin: 0; padding: 8px; font-size: 12px; }
#party-ready[aria-pressed="true"] { background: #deebd5 !important; border-color: #97b386 !important; }
#quick-group-panel #party-leave { display: block; margin: 6px auto 0; background: transparent; border-color: transparent; color: #7c725e; font-size: 11px; }
#party-status { margin: 7px 0 0; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
#party-status:empty { display: none; }
#party-status.error { color: #a04d43; }
.party-price { margin: 10px 0 0; font-size: 10px; }
#quick-group-panel :is(button, input, select):focus-visible { outline: 2px solid #a0823e; outline-offset: 2px; }
@media (max-width: 400px) {
  .quick-entry-nav button { font-size: 11px; }
  .party-heading h3 { font-size: 20px; }
  .party-invitation { padding: 8px; }
  .party-invitation strong { font-size: 12px; }
  #quick-group-panel #party-copy { font-size: 10px; padding: 5px; }
  .party-actions > button, #quick-group-panel .party-actions > button { font-size: 10px; padding: 6px; }
}
@media (min-height: 451px) and (max-height: 700px) {
  .party-friend { padding: 3px 7px; }
  .party-friend .party-member-identity { display: grid; gap: 1px; }
  .party-heading { margin: 6px 0; }
  .party-heading h3 { font-size: 19px; }
  .party-heading p { font-size: 11px; }
  #quick-group-panel:has(#party-active:not([hidden])) .party-heading { display: none; }
  .party-invitation { margin: 6px 0; padding: 6px 8px; }
  .party-member { min-height: 30px; padding: 3px 7px; }
  .party-member-identity { display: flex; align-items: center; justify-content: space-between; gap: 5px; flex: 1; }
  .party-member strong { flex: 1; min-width: 0; font-size: 11px; }
  .party-member small { flex-shrink: 0; }
  #quick-group-panel .party-member button { min-height: 22px; width: 22px; }
  .party-member small { font-size: 9px; }
  #party-progress { margin: 5px 0; font-size: 11px; }
  .party-price { margin-top: 5px; font-size: 9px; }
  #quick-group-panel #party-leave { margin-top: 2px; min-height: 28px; }
}
@media (min-height: 451px) and (max-height: 600px) {
  .online-modal:has(#quick-group-panel:not([hidden])) .quick-entry-nav { margin-bottom: 6px; }
  .online-modal:has(#quick-group-panel:not([hidden])) .quick-entry-nav button { min-height: 32px; padding: 5px; }
  .party-format select { min-height: 30px; }
  .party-members { gap: 3px; }
  .party-invitation { padding-top: 4px; padding-bottom: 4px; }
  #party-status { margin-top: 4px; font-size: 10px; }
}
@media (max-height: 450px) and (min-width: 451px) {
  #party-friends-panel { grid-column: 2; grid-row: 1 / 5; }
  .party-friends-toolbar { margin-bottom: 3px; }
  .party-friend { padding: 2px 6px; }
  .party-friend .party-member-identity { display: flex; min-width: 0; }
  .party-friends-help { font-size: 9px; margin: 3px 0; }
  .party-invitation { flex-wrap: wrap; }
  #quick-group-panel { grid-column: 1 / -1; grid-row: auto; }
  .party-heading { display: none; }
  .party-heading h3 { font-size: 17px; margin: 0; }
  .party-heading p { display: none; }
  #party-content { display: grid; grid-template-columns: minmax(140px, .8fr) minmax(0, 1.2fr); gap: 5px 12px; }
  .party-format { grid-column: 1; grid-row: 1; flex-direction: column; align-items: stretch; gap: 4px; font-size: 10px; }
  .party-format select { min-height: 30px; }
  #party-entry { grid-column: 2; grid-row: 1 / 3; margin: 0; gap: 6px; }
  #party-create, #party-login { min-height: 30px; padding: 6px; font-size: 11px; }
  #party-join-form { padding-top: 5px; }
  #party-join-form label { margin-bottom: 4px; font-size: 10px; }
  #party-code { height: 30px; font-size: 11px; }
  #quick-group-panel button:not(.confirm-button) { min-height: 28px; padding: 4px 6px; font-size: 10px; }
  #party-active { display: contents; }
  .party-invitation { grid-column: 1; grid-row: 2; margin: 0; padding: 6px; }
  .party-copy-text { display: none; }
  .party-copy-icon { display: inline; font-size: 17px; }
  .party-invitation small { font-size: 8px; }
  .party-invitation strong { font-size: 12px; }
  .party-members { grid-column: 2; grid-row: 1 / 4; gap: 3px; }
  .party-member { min-height: 23px; padding: 3px 6px; }
  .party-member-identity { display: flex; align-items: center; gap: 5px; }
  .party-member strong { font-size: 10px; }
  .party-member small { font-size: 8px; flex-shrink: 0; }
  #quick-group-panel .party-member button { min-height: 20px; width: 20px; }
  #party-progress { grid-column: 1; grid-row: 3; margin: 0; font-size: 10px; }
  .party-actions { grid-column: 2; grid-row: 4; }
  .party-actions > button { min-height: 28px; padding: 4px; font-size: 10px; }
  #quick-group-panel #party-leave { grid-column: 1; grid-row: 4; margin: 0; }
  .party-price { margin-top: 5px; font-size: 9px; line-height: 1.3; }
  #party-status { font-size: 10px; margin-top: 4px; }
}
