.guests-page { min-width: 0; }
.guests-heading, .guests-card-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.guests-heading h2, .guests-card-title h3 { margin: 0; }
.guests-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 22px 0 8px; }
.guests-summary > div, .guests-card, .guests-editor { border: 1px solid var(--line); border-radius: 10px; padding: 18px; background: var(--white); }
.guests-summary strong { color: var(--red); font-size: 25px; }
.guests-summary span { display: block; font-size: 12px; color: var(--muted); }
.guests-filters, .guests-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 20px 0; }
.guests-page label { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.guests-page input, .guests-page select, .guests-page textarea { min-width: 0; width: 100%; border: 1px solid var(--line); border-radius: 6px; padding: 9px 10px; color: var(--ink); background: var(--white); font: inherit; }
.guests-page textarea { resize: vertical; }
.guests-page select:focus-visible, .guests-page textarea:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
.guests-fields label:has(textarea) { grid-column: 1/-1; }
.guests-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.guests-card-title { align-items: baseline; justify-content: flex-start; flex-wrap: wrap; }
.guests-card h3, .guests-wrap, .guests-comparison p { overflow-wrap: anywhere; white-space: pre-wrap; }
.guests-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.guests-editor { margin: 20px 0; border-color: var(--red); }
.guests-comparison { padding: 12px; background: var(--rose); margin: 12px 0; }
.guests-comparison label { display: block; }
.guests-page input[type=checkbox] { width: auto; margin-right: 6px; }
.guests-page button:disabled { opacity: .55; cursor: default; }
@media(max-width:700px) { .guests-summary { grid-template-columns: 1fr; } .guests-filters, .guests-fields { grid-template-columns: repeat(2,minmax(0,1fr)); } .guests-list { grid-template-columns: 1fr; } .guests-heading { align-items: flex-start; flex-direction: column; } }
@media(max-width:390px) { .guests-fields { grid-template-columns: 1fr; } .guests-summary > div, .guests-card, .guests-editor { padding: 12px; } }
