/* Service-object information belongs to the task; no global sticky layer. */
.agency-subject-line { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 12px; margin-bottom: var(--space-content); font-size: var(--font-supporting); line-height: 1.5; color: var(--text-secondary); }
.agency-subject-line > span { min-width: 0; overflow-wrap: anywhere; }
.agency-subject-line strong { color: var(--text); font-weight: 600; }
.agency-inline-switch { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 56px; min-height: 56px; max-width: 100%; padding: 4px 0; border: 0; border-radius: var(--radius-control); background: transparent; color: var(--primary-text); font: inherit; text-align: left; }
.agency-inline-switch svg, .agency-title-switch svg { flex: 0 0 auto; width: 18px; height: 18px; }
.agency-title-switch { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-height: 56px; max-width: 100%; padding: 0; background: transparent; border: 0; border-radius: var(--radius-control); color: inherit; font: inherit; line-height: inherit; text-align: center; }
.agency-title-switch span { min-width: 0; text-wrap: balance; overflow-wrap: anywhere; }
.agency-title-switch .agency-title-part { display: inline-block; white-space: nowrap; }
/* Move a title below the navigation controls when its semantic parts no longer fit. */
:is(.coupon-page-heading, .meal-page-heading, .care-page-heading).agency-heading-expanded { grid-template-columns: 1fr 1fr; }
.agency-heading-expanded > :is(.coupon-back, .meal-back, .care-back) { grid-column: 1; grid-row: 1; }
.agency-heading-expanded > h1 { grid-column: 1 / -1; grid-row: 2; padding: 4px 16px 12px; }
.orders-page-heading.agency-heading-expanded { padding: 56px 16px 8px; }
.agency-dialog { box-sizing: border-box; width: calc(100% - 24px); max-width: 456px; max-height: calc(100dvh - 32px - var(--safe-area-top) - var(--safe-area-bottom)); padding: 0; border: 1px solid var(--border); border-radius: var(--radius-modal, 24px); color: var(--text); background: var(--surface); overscroll-behavior: contain; }
.agency-dialog::backdrop { background: rgb(16 42 99 / .4); }
.agency-dialog > header { position: sticky; top: 0; z-index: 1; display: grid; grid-template-columns: 56px minmax(0, 1fr) 56px; align-items: center; background: var(--surface); border-bottom: 1px solid var(--border); padding: 8px 4px; }
.agency-dialog h2 { text-align: center; text-wrap: balance; margin: 0; font-size: 1.5rem; line-height: 1.45; overflow-wrap: anywhere; }
.agency-dialog header button { min-height: 56px; min-width: 56px; font-size: 1.5rem; color: var(--text); background: transparent; border: 0; }
.agency-content { padding: 16px; font-size: var(--font-body); line-height: 1.6; }
.agency-content p { text-wrap: pretty; margin: 0 0 12px; overflow-wrap: anywhere; }
.agency-content h3 { margin: 0 0 8px; font-size: 1.375rem; }
.agency-content form { display: grid; gap: 12px; min-width: 0; }
.agency-content input:not([type=checkbox]), .agency-content select, .agency-content textarea { box-sizing: border-box; width: 100%; min-width: 0; min-height: 64px; padding: 12px; border: 1px solid var(--control, #7D91B2); border-radius: var(--radius-control); font: inherit; color: var(--text); background: var(--surface); }
.agency-content textarea { overflow-wrap: anywhere; resize: vertical; }
.agency-content fieldset { min-width: 0; padding: 0; margin: 4px 0; border: 0; }
.agency-content legend { font-weight: 600; margin-bottom: 8px; }
.agency-content .agency-check { display: flex; align-items: flex-start; gap: 12px; min-height: 56px; padding: 12px 0; box-sizing: border-box; cursor: pointer; }
.agency-check input { flex: 0 0 auto; width: 22px; height: 22px; margin-top: 3px; accent-color: var(--primary-action, #1473D2); }
.agency-check small { display: block; font-size: var(--font-supporting); font-weight: 400; color: var(--text-secondary, #50658A); }
.agency-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0; }
.agency-actions > button { flex: 1 1 140px; }
.agency-content > button { width: 100%; margin-block: 6px; }
.agency-content .primary-button, .agency-content .secondary-button { white-space: normal; height: auto; min-height: 64px; padding: 12px 16px; font-size: var(--font-body); line-height: 1.5; overflow-wrap: anywhere; }
.agency-record { padding: 16px 0; border-bottom: 1px solid var(--border); }
.agency-empty, .agency-note { color: var(--text-secondary, #50658A); font-size: var(--font-supporting); }
.agency-error { color: var(--rose); margin-top: 12px !important; }
.agency-dialog :focus-visible, .agency-inline-switch:focus-visible, .agency-title-switch:focus-visible { outline: 3px solid var(--focus, #1456CB); outline-offset: 3px; }
