/* Presentation only: route rules, data and talk detail retain their existing UI. */
body .topbar,body:not([data-view=now]) .topbar{height:56px;min-height:56px;padding:0 12px;gap:4px;flex-wrap:nowrap}
body .topbar .live-brand{flex:1;gap:10px;min-width:0;align-items:center}
body .topbar #headerClock,body:not([data-view=now]) #headerClock{display:block;font-size:24px;line-height:1;font-weight:600}
body .topbar #headerDate,body:not([data-view=now]) #headerDate{display:block;font-size:13px;white-space:nowrap}
body .topbar .live-brand span,body .topbar #sectionLabel,body:not([data-view=now]) #sectionLabel{display:none}
.topbar .iconbtn{width:44px;min-width:44px;height:44px;padding:0;display:grid;place-items:center}.has-filters{box-shadow:inset 0 -3px #f4a26d}
#headerSearch{position:sticky;top:56px;z-index:30;background:white;box-shadow:0 4px 12px #0002;max-height:55dvh;overflow:auto}#headerSearch summary{display:none}#headerSearch .filterpanel{padding:10px 12px}#headerSearch select,#headerSearch input{max-width:100%;min-width:0}
body[data-view=program] #toolbar{top:56px;display:flex;flex-direction:column}.day-level-row{order:-1;flex-wrap:nowrap;padding:0 6px;gap:0}.day-level-row .daybar{flex:1 1 0;min-width:0}.day-level-row .levelchips{flex-shrink:0}.day-level-row .daybutton{flex:1;padding:0;min-width:0;font-size:12px}.day-level-row .levelchip{width:44px;min-width:44px}.program-controls{padding:0 8px}
.now-chips{display:flex;align-items:center;flex-wrap:wrap;padding:0 12px;gap:4px;border-bottom:1px solid var(--line)}.now-chips button{min-height:44px;padding:0 16px;font-size:14px;color:var(--green);border-radius:0}.now-chips button[aria-pressed=true]{box-shadow:inset 0 -3px var(--green);font-weight:600}.now-chips small{font-size:12px;color:var(--muted);width:100%;padding:0 0 5px}
.dense-section{margin:0;padding:0}.dense-section h2{margin:0;padding:8px 12px;height:34px;background:#edf0ed;color:var(--green);font:600 14px/18px var(--condensed);letter-spacing:.035em}.dense-card{background:white;border-bottom:1px solid var(--line)}
.dense-talk{display:grid;grid-template-columns:28px minmax(0,1fr) 18px 44px;gap:6px;align-items:center;position:relative;min-height:60px;padding:3px 8px;border-bottom:1px solid #e5e9e5}.dense-talk:last-child{border-bottom:0}.dense-room{font:600 26px var(--condensed);text-align:center;color:var(--green)}
.dense-text{min-width:0;min-height:44px;padding:0;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:2px;color:#202e26}.dense-title{font:500 15px/18px var(--body,Barlow,sans-serif);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dense-meta{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:400 12px/14px Barlow,sans-serif;color:#69736d}
.dense-levels{display:flex;flex-direction:column;gap:2px}.dense-levels .badge{margin:0;width:18px;height:18px;font-size:11px;padding:0}.dense-talk .pick{min-width:44px;width:44px;min-height:44px;height:44px;border:0;background:transparent;position:relative;isolation:isolate;font-size:21px;padding:0}.dense-talk .pick:before{content:'';position:absolute;inset:6px;border:1px solid #b8c9be;border-radius:50%;z-index:-1;background:white}.dense-talk.selected{background:#fff9f2;box-shadow:inset 3px 0 #e8742a}.dense-talk.selected .pick{color:white}.dense-talk.selected .pick:before{background:var(--green);border-color:var(--green)}.dense-conflict{position:absolute;right:7px;top:0;font-size:11px;color:#9a3f12;font-weight:700}
.dense-pause{width:100%;min-height:44px;padding:6px 12px;background:linear-gradient(white 6px,#eff1ef 6px,#eff1ef calc(100% - 6px),white calc(100% - 6px));text-align:left;display:flex;align-items:center;gap:8px;font-size:13px;color:#687169}.dense-pause span{min-width:0;flex:1}.dense-pause small{white-space:nowrap;font-size:11px}.dense-note{font-size:12px;line-height:18px;padding:8px 12px;margin:0;color:var(--muted)}
.dense-personal{margin:6px 12px;border:1px solid #e8742a;border-left:3px solid #e8742a;border-radius:5px;background:#fff9f2}.dense-personal button{display:flex;flex-direction:column;justify-content:center;min-height:44px;text-align:left;padding:3px 8px;width:100%;min-width:0}.dense-personal b{font-size:11px;color:#9b4915}.dense-personal span{font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.time-selector{display:grid;gap:16px}.time-selector label{display:grid;gap:5px}.time-selector select{min-height:44px;width:100%;min-width:0}.update{max-width:100%;flex-wrap:wrap;box-sizing:border-box;gap:4px;overflow-wrap:anywhere}.update button{min-height:44px;max-width:100%;white-space:normal}.connection{overflow-wrap:anywhere}body,main,#content,#toolbar{min-width:0;max-width:100%}.bottomnav{min-height:64px;padding-top:3px;padding-bottom:max(3px,env(safe-area-inset-bottom))}.bottomnav button{min-height:54px}body{padding-bottom:74px}
@media(max-width:767px){.desktop-grid{display:none!important}.time-section{display:block}.day-level-row{gap:0}.now-chips button{padding:0 14px}}
@media(min-width:768px){.desktop-grid{display:block}.dense-card{border:1px solid var(--line);border-radius:6px}.dense-section{max-width:1000px;margin:auto}.dense-section h2{height:auto;min-height:34px}.dense-talk{min-height:60px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Named locations in Ahora; retain compact rows and touch targets. */
.dense-talk.with-location{grid-template-columns:72px minmax(0,1fr) 18px 44px;gap:4px}.with-location .dense-room{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding-left:3px;gap:2px;min-width:0}.with-location .dense-room b{font:600 13px/16px Barlow,sans-serif}.with-location .dense-room small{font:500 11px/14px Barlow,sans-serif;overflow-wrap:anywhere}

/* Collapsed room blocks; independent controls retain selection hierarchy. */
.salon-compact{position:relative;border-bottom:1px solid var(--line);background:#fff}.salon-compact>details>summary{position:relative;list-style:none;cursor:pointer;min-height:66px;padding:12px 74px 12px 14px;display:flex;flex-direction:column;justify-content:center;gap:5px}.salon-compact summary::-webkit-details-marker{display:none}.block-heading{font:600 15px/19px Barlow,sans-serif;color:var(--green)}.block-caption{font:400 12px/16px Barlow,sans-serif;color:var(--muted)}.block-disclosure{position:absolute;right:57px;top:22px;color:var(--muted);font-size:16px}.salon-compact details[open] .block-disclosure{transform:rotate(180deg)}.salon-compact>.groupcheck{position:absolute;right:8px;top:11px}.salon-compact.all{box-shadow:inset 3px 0 var(--green)}.salon-compact.mixed{box-shadow:inset 3px 0 var(--orange)}.block-help{margin:0;padding:8px 14px;font-size:12px;color:var(--muted)}.block-rows{border-top:1px solid var(--line)}
#content .pick,#content .groupcheck{position:relative;isolation:isolate;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;background:transparent;border:0;border-radius:0;font-size:17px;font-weight:400;color:var(--green)}#content .pick:before,#content .groupcheck:before{content:'';position:absolute;inset:10px;border:1px solid #cbd7cf;border-radius:50%;background:#fff;z-index:-1}#content .pick[aria-pressed=true],#content .groupcheck.all,#content .groupcheck.mixed{color:white}#content .pick[aria-pressed=true]:before,#content .groupcheck.all:before,#content .groupcheck.mixed:before{background:var(--green);border-color:var(--green)}#content .salon-compact>.groupcheck{position:absolute}

/* Expanded room sessions use the same compact visual rhythm as Ahora. */
.block-rows .salon-talk{grid-template-columns:42px minmax(0,1fr) 18px 44px;gap:6px;min-height:60px;padding:3px 8px}.salon-time{font:600 13px/17px Barlow,sans-serif;color:var(--green);font-variant-numeric:tabular-nums}.salon-time small{display:block;font:400 11px/15px Barlow,sans-serif;color:var(--muted)}.salon-talk .dense-meta:empty{display:none}
