/* PRTY OS — Advancing Workspace (#/advancing/:eventId). Mobile-first by construction: single
   column, no matrix/table, so no desktop/mobile split is needed the way advancing.css has one. */
.awp { display: flex; flex-direction: column; }
.awp__header { padding: var(--s-4); }

.awc { padding: var(--s-4); }
.awc__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.awc__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; margin-top: 12px; }
@media (min-width: 560px) { .awc__grid { grid-template-columns: repeat(3, 1fr); } }

.awt-stage { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--line-soft); }
.awt-stage:first-child { border-top: none; margin-top: 4px; }
.awt-stage__head { display: flex; justify-content: space-between; padding: 4px 0; }
.awt-row { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line-soft); flex-wrap: wrap; }
.awt-row:last-child { border-bottom: none; }
.awt-row__body { flex: 1 1 100%; min-width: 0; order: 1; }
.awt-row__label { font-size: var(--fs-13); line-height: 1.4; }
.awt-check { margin-top: 2px; order: 0; }
.awt-row select { order: 2; margin-left: 34px; flex: 0 0 auto; }
@media (min-width: 480px) {
  .awt-row__body { flex: 1 1 auto; order: 0; }
  .awt-row select { order: 1; margin-left: 0; }
}
.awt-check { flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--line); background: transparent; display: flex; align-items: center; justify-content: center; color: var(--text-3); cursor: pointer; }
.awt-check.is-done { background: var(--green); border-color: var(--green); color: #fff; }

/* "Flag for Gio" — Doco requests a correction to a Gio-owned booking field without ever writing
   it directly (see PRTY.db.raiseBookingCorrection). */
.awc__flag { display: inline-flex; align-items: center; gap: 2px; background: none; border: none; padding: 2px; cursor: pointer; vertical-align: middle; }
.awc__flag:hover { opacity: 0.75; }

/* Native disclosures keep touch, keyboard and VoiceOver interaction consistent. */
.adv-disclosure__summary { display: flex; align-items: center; gap: var(--s-3); min-height: 48px; cursor: pointer; list-style: none; touch-action: manipulation; }
.adv-disclosure__summary::-webkit-details-marker { display: none; }
.adv-disclosure__summary::marker { content: ''; }
.adv-disclosure__summary:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; border-radius: var(--r-2); }
.adv-disclosure__summary > :first-child { min-width: 0; flex: 1; }
.adv-disclosure__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.adv-disclosure__chevron { flex: 0 0 auto; color: var(--text-3); transition: transform var(--dur-1) var(--ease); }
.adv-disclosure[open] > summary > .adv-disclosure__chevron { transform: rotate(180deg); }
.adv-disclosure:not([open]) > :not(summary) { display: none; }
.awp__section { margin-top: var(--s-4); padding: var(--s-4); }
.awc__head > .ring { flex-shrink: 0; }

@media (max-width: 600px) {
  .awc__grid { grid-template-columns: minmax(0, 1fr); }
  .awc__grid .field { min-width: 0; overflow-wrap: anywhere; }
  .awt-row { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 4px 10px; }
  .awt-check { width: 44px; height: 44px; margin-top: 0; }
  .awt-row__body { align-self: center; order: 0; }
  .awt-row select { grid-column: 2; margin-left: 0; width: 100%; min-width: 0; min-height: 44px; font-size: 16px; }
  .awc .btn, .awp__section .btn { min-height: 44px; }
  .awc input, .awc textarea { font-size: 16px; }
  .awc__flag { min-width: 44px; min-height: 44px; justify-content: center; }
  .awt-stage__head { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .adv-disclosure__chevron { transition: none; }
}
.awt-row select { min-height: 32px; font-size: var(--fs-12); }
@media (max-width: 600px) {
  .awt-row select { min-height: 44px; font-size: 16px; }
}
