/* Scoped, build-free layout. Typography and public-menu colours inherit Zygote.
   Manager colours can be overridden with --rtmm-surface / --rtmm-ink. */
.rtmm-manager { --rtmm-surface: #fff; --rtmm-ink: #252525; max-width: 75rem; margin: 0 auto; padding: 2rem 1rem; color: var(--rtmm-ink); font-family: inherit; line-height: 1.6; }
.rtmm-manager *, .rtmm-menu * { box-sizing: border-box; }
.rtmm-manager h1, .rtmm-manager h2, .rtmm-manager h3, .rtmm-manager p { margin: 0 0 1rem; }
.rtmm-manager h1 { font-size: clamp(1.8rem, 5vw, 3rem); }
.rtmm-manager h2 { font-size: 1.5rem; }
.rtmm-manager h3 { font-size: 1.15rem; }
.rtmm-header, .rtmm-actions, .rtmm-review-header, .rtmm-item-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.rtmm-actions { justify-content: flex-start; }
.rtmm-panel { background: var(--rtmm-surface); border: 1px solid #c7c7c7; border-radius: .5rem; padding: clamp(1rem, 3vw, 2rem); margin: 1.5rem 0; }
.rtmm-manager button, .rtmm-manager input, .rtmm-manager select, .rtmm-manager textarea { font: inherit; }
.rtmm-manager button { min-height: 2.75rem; cursor: pointer; }
.rtmm-manager button:disabled { cursor: wait; opacity: .6; }
.rtmm-manager .btn { min-height: 2.75rem; }
.rtmm-manager .rtmm-primary { border: 1px solid currentColor; border-radius: .3rem; padding: .65rem 1.1rem; }
/* Theme .btn supplies brand treatment; these values are neutral fallbacks only. */
.rtmm-manager .rtmm-primary:not(.btn) { background: var(--rtmm-ink); color: var(--rtmm-surface); }
.rtmm-secondary, .rtmm-tabs button { color: inherit; background: transparent; border: 1px solid #777; border-radius: .3rem; padding: .5rem .85rem; }
.rtmm-manager :is(button, a, input, textarea, select, summary):focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.rtmm-manager label { display: block; margin-bottom: .4rem; }
.rtmm-manager :is(input[type="email"], input[type="text"], textarea, select) { width: 100%; min-height: 2.75rem; padding: .6rem; border: 1px solid #777; border-radius: .25rem; color: var(--rtmm-ink); background: var(--rtmm-surface); margin-bottom: 1rem; }
.rtmm-manager textarea { min-height: 5rem; resize: vertical; }
.rtmm-manager .rtmm-check { display: flex; align-items: flex-start; gap: .65rem; padding: .6rem 0; margin: 1rem 0; }
.rtmm-check input { width: 1.25rem; height: 1.25rem; flex-shrink: 0; margin-top: .25rem; accent-color: var(--rtmm-ink); }
.rtmm-tabs { display: flex; gap: .5rem; flex-wrap: wrap; }
.rtmm-tabs [aria-pressed="true"] { background: var(--rtmm-ink); color: var(--rtmm-surface); border-color: var(--rtmm-ink); }
#rtmm-status { min-height: 1.6em; overflow-wrap: anywhere; }
#rtmm-status.error { border-left: .25rem solid #a02121; padding-left: .75rem; }
.rtmm-help, .rtmm-version-meta { font-size: .9rem; }
.rtmm-file-list { list-style: decimal; padding-left: 1.5rem; }
.rtmm-file-list li { margin: .75rem 0; overflow-wrap: anywhere; }
.rtmm-file-list button { margin-left: .5rem; }
.rtmm-review-columns { display: flex; flex-direction: column; gap: 2rem; }
.rtmm-review-columns > * { min-width: 0; flex: 1; }
.rtmm-original { margin-bottom: 1.5rem; overflow-wrap: anywhere; }
.rtmm-original img { display: block; width: 100%; height: auto; border: 1px solid #c7c7c7; }
.rtmm-original iframe { width: 100%; height: 32rem; border: 1px solid #c7c7c7; }
.rtmm-manager fieldset { min-width: 0; margin: 1rem 0; padding: 1rem; border: 1px solid #bbb; }
.rtmm-manager legend { padding: 0 .35rem; font-weight: bold; }
.rtmm-table-scroll { max-width: 100%; overflow-x: auto; margin-bottom: 1rem; border: 1px solid #bbb; }
.rtmm-table-scroll:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.rtmm-review-table { width: 100%; min-width: 66rem; border-collapse: collapse; table-layout: fixed; text-align: left; }
.rtmm-review-table caption { text-align: left; font-weight: bold; padding: .75rem; }
.rtmm-review-table :is(th, td) { vertical-align: top; padding: .75rem; border-bottom: 1px solid #ccc; border-right: 1px solid #ddd; overflow-wrap: anywhere; }
.rtmm-review-table thead { background: #f3f3f3; }
.rtmm-review-table thead th:nth-child(1) { width: 18%; }
.rtmm-review-table thead th:nth-child(2) { width: 24%; }
.rtmm-review-table thead th:nth-child(3) { width: 24%; }
.rtmm-review-table thead th:nth-child(4) { width: 12%; }
.rtmm-review-table thead th:nth-child(5) { width: 14%; }
.rtmm-review-table thead th:nth-child(6) { width: 8%; }
.rtmm-review-table tbody th { font-weight: normal; }
.rtmm-review-table tbody tr:nth-child(even) { background: #fafafa; }
.rtmm-review-table tr.flagged { background: #fff7e7; }
.rtmm-review-table tr:focus-within { outline: 2px solid #777; outline-offset: -2px; }
.rtmm-row-number { display: block; font-weight: bold; margin-bottom: .5rem; }
.rtmm-review-table label { font-size: .8rem; }
.rtmm-review-table :is(input[type="text"], textarea) { font-size: 1rem; margin-bottom: .5rem; }
.rtmm-review-table textarea { min-height: 7rem; }
.rtmm-review-table button { font-size: .85rem; width: 100%; margin-bottom: .5rem; }
.rtmm-price-fields { display: flex; gap: .5rem; align-items: flex-end; margin-bottom: .75rem; }
.rtmm-price-fields > label { flex: 1; min-width: 0; }
.rtmm-manager .rtmm-price-fields :is(label, input) { margin-bottom: 0; }
.rtmm-manager .rtmm-icon-button { display: inline-flex; justify-content: center; align-items: center; width: 2.75rem; height: 2.75rem; min-width: 2.75rem; padding: .5rem; margin: 0; flex-shrink: 0; border-color: #c7c7c7; background: #fff; }
.rtmm-icon-button:hover { background: #f1f1f1; border-color: #555; }
.rtmm-icon-button.danger { color: #962b2b; }
.rtmm-icon-button.danger:hover { background: #fff0f0; border-color: #962b2b; }
.rtmm-icon-button svg { display: block; pointer-events: none; }
.rtmm-warning { border-left: .25rem solid #95620a; background: #fff7e7; padding: 1rem; margin-bottom: 1rem; color: #493309; }
.rtmm-manager details { margin: 1.25rem 0; border-top: 1px solid #bbb; padding-top: 1rem; }
.rtmm-manager summary { cursor: pointer; min-height: 2.75rem; }
.rtmm-history-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0; border-top: 1px solid #bbb; }
.rtmm-history-row p { margin: 0; overflow-wrap: anywhere; }
.rtmm-history-row > div { min-width: 0; }
.rtmm-manager dialog { max-width: 32rem; width: calc(100% - 2rem); border: 1px solid #777; border-radius: .5rem; padding: 1.5rem; background: var(--rtmm-surface); color: var(--rtmm-ink); }
.rtmm-manager dialog::backdrop { background: #0008; }
.rtmm-menu { font: inherit; color: inherit; }
.rtmm-menu-section { margin-bottom: 2.5rem; }
.rtmm-menu-items, .rtmm-prices { list-style: none; padding: 0; margin: 0; }
.rtmm-menu-item { padding: 1.25rem 0; border-bottom: 1px solid currentColor; }
.rtmm-item-heading { align-items: baseline; }
.rtmm-item-heading h3 { flex: 1; margin: 0; }
.rtmm-prices { text-align: right; font-variant-numeric: tabular-nums; }
.rtmm-menu-item p { margin: .5rem 0 0; white-space: pre-line; }
.rtmm-menu-notes { margin-top: 2rem; }
.rtmm-dietary { font-size: .9em; }
.rtmm-manager .rtmm-menu { overflow-wrap: anywhere; }
@media print { .rtmm-manager { display: none; } }
/* Keep native hidden states stronger than the component display declarations above. */
.rtmm-manager [hidden] { display: none; }
