/* v20.21: reduce navigation and editing overhead without duplicating controls. */
.ro-menu-search {display:block;font-size:12px;color:#b2c0bb;margin:4px 0 12px}
.ro-menu-search input {width:100%;min-width:0;min-height:42px;margin-top:6px}
.nav-group.search-open .nav-items {display:flex!important}
#nav [hidden],#navEmpty[hidden] {display:none!important}
.ro-page-info {font-size:12px;color:#b2c0bb;margin-top:6px;max-width:70ch}
.ro-page-info[hidden] {display:none!important}
.ro-page-info summary {cursor:pointer;min-height:24px}
.ro-page-info p {margin:6px 0!important}
.ro-workspace-statistics {margin-top:20px;border-top:1px solid var(--line);padding:12px 0}
.ro-workspace-statistics>summary {font-size:14px;font-weight:700;cursor:pointer;min-height:32px}
.ro-workspace-statistics>.cards,.ro-workspace-statistics>.ro-system-summary {margin:12px 0!important}
.ro-auto-save-label,.ro-inline-save-status {font-size:12px;color:#b2c0bb;margin:8px 0;display:block}
.ro-save-dock.on-page:not(.is-dirty) {position:static!important;margin-top:12px;max-width:100%;padding:8px 0;background:transparent;border:0;box-shadow:none;z-index:auto}
.ro-save-dock.on-page.is-dirty {position:fixed!important}
.ro-save-dock:not(.is-dirty) .ro-draft-status {font-size:12px;color:#b2c0bb}
.ro-save-dock.on-page:not(.is-dirty) .ro-draft-status {margin-right:auto}
.ro-has-save-dock {padding-bottom:140px!important}
.ro-secondary-action {background:transparent!important;border-color:transparent!important;box-shadow:none!important;min-height:36px!important;font-size:12px!important}
.ro-empty-compact {min-height:0!important;padding:12px 16px!important}
.ro-empty-compact .ro-panel-head {margin-bottom:4px!important}
.ro-empty-compact .ro-kicker {display:none}
.ro-empty-compact .ro-feed {min-height:0!important}
.ro-empty-compact .ro-empty {padding:4px 0!important;min-height:0!important}
.ro205-news-empty {min-height:0!important;padding:20px!important;text-align:left!important}
.ro-editor-back {display:none;margin-bottom:12px}
.ro-mobile-detail-head,.ro-mobile-detail-cell,.ro-card-sort {display:none}
/* Day editors: one row on broad screens, two compact rows on smaller ones. */
body[data-view=festival] .ro176-festival-columns {grid-template-columns:minmax(0,1fr)!important}
body[data-view=festival] .ro176-festival-col {gap:10px!important}
body[data-view=festival] .ro176-festival-col:last-child {display:grid!important;grid-template-columns:minmax(0,1fr)!important}
body[data-view=festival] .ro176-day-card,body[data-view=festival] .ro176-day-new-grid {grid-template-columns:minmax(120px,.7fr) minmax(275px,1fr) minmax(275px,1fr) auto!important;gap:10px!important;padding:10px 12px!important;align-items:end!important}
body[data-view=festival] .ro176-day-card>*,body[data-view=festival] .ro176-day-card .ro176-day-name,body[data-view=festival] .ro176-day-card .ro176-day-actions,body[data-view=festival] .ro176-day-card .ro177-day-time:nth-of-type(2),body[data-view=festival] .ro176-day-card .ro177-day-time:nth-of-type(3),body[data-view=festival] .ro176-day-new-grid>label,body[data-view=festival] .ro176-day-new-grid #addDay {grid-column:auto!important;grid-row:auto!important;order:0}
body[data-view=festival] .ro176-day-actions {width:auto!important;display:flex!important;gap:6px!important}
body[data-view=festival] .ro179-dt-pair {grid-template-columns:minmax(145px,1fr) minmax(115px,.8fr)!important;gap:6px!important}
body[data-view=festival] .ro-field-label {font-size:12px;margin-bottom:4px}
body[data-view=festival] .ro176-festival-overview {order:0}
body[data-view=festival] .ro176-festival-columns {order:1}
body[data-view=festival] .ro176-overview-grid {padding:12px!important;grid-template-columns:70px minmax(0,1fr) 180px!important;gap:12px!important}
body[data-view=festival] .ro176-festival-logo img {width:54px!important;height:54px!important}
body[data-view=festival] .ro176-festival-logo {min-height:0!important;padding:4px!important}
body[data-view=festival] .ro176-festival-logo>span {display:none}
body[data-view=festival] .ro176-festival-hero {min-height:90px!important}
body[data-view=festival] .ro176-overview-fields {grid-template-columns:2fr .7fr 1fr 1fr!important}
@container festivaldays (max-width:1000px){
 body[data-view=festival] .ro176-day-card,body[data-view=festival] .ro176-day-new-grid {grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
 body[data-view=festival] .ro176-day-card .ro176-day-name {grid-column:1!important;grid-row:1!important}
 body[data-view=festival] .ro176-day-card .ro176-day-actions {grid-column:2!important;grid-row:1!important;justify-content:flex-end!important}
 body[data-view=festival] .ro176-day-card .ro177-day-time:nth-of-type(2) {grid-column:1!important;grid-row:2!important}
 body[data-view=festival] .ro176-day-card .ro177-day-time:nth-of-type(3) {grid-column:2!important;grid-row:2!important}
}
@container festivaldays (max-width:610px){
 body[data-view=festival] .ro176-day-card,body[data-view=festival] .ro176-day-new-grid {grid-template-columns:minmax(0,1fr)!important}
 body[data-view=festival] .ro176-day-card>*,body[data-view=festival] .ro176-day-card .ro176-day-name,body[data-view=festival] .ro176-day-card .ro176-day-actions,body[data-view=festival] .ro176-day-card .ro177-day-time:nth-of-type(2),body[data-view=festival] .ro176-day-card .ro177-day-time:nth-of-type(3) {grid-column:1!important;grid-row:auto!important}
 body[data-view=festival] .ro176-day-card .ro176-day-actions {order:4}
 body[data-view=festival] .ro179-dt-pair {grid-template-columns:minmax(145px,1fr) minmax(110px,.8fr)!important}
}
@container festivaldays (max-width:300px){body[data-view=festival] .ro179-dt-pair {grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:1100px){body[data-view=festival] .ro176-overview-fields {grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important}body[data-view=festival] .ro176-overview-grid {grid-template-columns:60px minmax(0,1fr)!important}body[data-view=festival] .ro176-festival-hero {display:none!important}}
@media(max-width:1000px){.ro-editor-back {display:inline-flex}.ro17-rule-editor,#areaGrid {scroll-margin-top:12px}}
@media(max-width:900px){
 .ro-direct-nav {position:fixed!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 8px calc(6px + env(safe-area-inset-bottom))!important;border-radius:0!important;gap:4px;min-height:64px!important;background:#0a1718!important;z-index:80}
 .ro-direct-nav>button {min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;color:#b2c0bb;border:0;border-radius:8px;font:inherit;font-size:11px}
 .ro-direct-nav>button[aria-current=page] {color:#f0cb65;background:#202a1d}
 .ro-direct-nav .nav-ico {width:20px;height:20px}
 .topbar #menuBtn {display:none!important}
 .topbar>.row:first-child {grid-template-columns:minmax(0,1fr)!important}
 .topbar {padding-bottom:12px!important;margin-bottom:14px!important}
 .ro-save-dock.on-page.is-dirty {bottom:calc(70px + env(safe-area-inset-bottom) + var(--keyboard-inset,0px))!important}
 .ro-keyboard-open .ro-direct-nav {display:none!important}
 .ro-keyboard-open .ro-save-dock.on-page.is-dirty {bottom:calc(8px + var(--keyboard-inset,0px))!important}
}
@media(max-width:700px){
 body[data-view=festival] .ro176-overview-grid {grid-template-columns:minmax(0,1fr)!important}
 body[data-view=festival] .ro176-festival-logo {display:none!important}
 .ro-mobile-cards {display:block!important;width:100%!important;min-width:0!important}
 .ro-mobile-cards thead {display:none!important}
 .ro-mobile-cards tbody {display:grid!important;grid-template-columns:minmax(0,1fr);gap:12px}
 .ro-mobile-cards tr {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px!important;border:1px solid var(--line);border-radius:10px;background:#0d1718;min-width:0}
 .ro-mobile-cards tr[hidden] {display:none!important}
 .ro-mobile-cards td {display:block!important;min-width:0!important;width:auto!important;padding:0!important;border:0!important;white-space:normal!important;overflow-wrap:anywhere}
 .ro-mobile-cards td:first-child {grid-column:1/-1;font-size:16px;font-weight:700}
 .ro-mobile-cards td:not(:first-child):not(.ro-mobile-detail-cell)::before {content:attr(data-label);display:block;font-size:12px;color:#b2c0bb;font-weight:600;margin-bottom:5px}
 .ro-mobile-cards td.ro-card-extra {display:none!important}
 .ro-mobile-cards .ro-card-open td.ro-card-extra {display:block!important}
 .ro-mobile-cards .ro-mobile-detail-cell {display:block!important;grid-column:1/-1}
 .ro-mobile-cards td:has(select),.ro-mobile-cards td:has(input),.ro-mobile-cards td:has([data-reset]) {grid-column:1/-1}
 .ro-mobile-cards td input,.ro-mobile-cards td select {max-width:100%!important;min-width:0!important;width:100%!important;min-height:44px!important}
 .ro-mobile-cards td input[type=checkbox] {width:auto!important;min-height:0!important}
 .ro-card-sort {display:flex;gap:8px;align-items:end;margin:0 0 12px;padding:4px;min-width:0}
 .ro-card-sort label {flex:1;min-width:0;font-size:12px}
 .ro-card-sort select {width:100%;min-width:0!important;min-height:44px}
 .ro-card-sort .btn {min-height:44px!important}
 .ro-mobile-cards .who-cell .face {display:inline-flex;vertical-align:middle;margin-right:8px}
}
@media print{.ro-card-sort,.ro-mobile-detail-head,.ro-mobile-detail-cell,.ro-direct-nav,.ro-editor-back,.ro-menu-search {display:none!important}.ro-mobile-cards td.ro-card-extra {display:table-cell!important}}
[hidden] {display:none!important}
.ro-build-error {padding:12px;border:1px solid #d9ae55;border-radius:8px;color:#f0cb65;background:#252015}
body[data-view=build] .ro17-build-reviewbar[hidden] {display:none!important}

.ro-direct-nav {transform:none!important}
body[data-view=festival] .ro176-day-new-grid>label:first-child,body[data-view=festival] .ro176-day-new-grid>label:nth-child(2),body[data-view=festival] .ro176-day-new-grid>label:nth-child(3) {grid-column:auto!important;grid-row:auto!important}

/* Direct navigation uses touch taps without double-tap zoom. */
.ro-direct-nav, .ro-direct-nav button {touch-action:manipulation}
