.schedule-app{background:var(--bg-primary);padding-bottom:5.5rem}.container-wide{max-width:720px;margin:0 auto;padding:0 var(--space-lg)}.tap-hint{text-align:center;font-size:.8rem;color:var(--text-muted);font-style:italic;padding:var(--space-md) var(--space-lg) 0;margin:0}.day-heading{font-family:var(--font-display);color:var(--color-bark);font-size:1.4rem;padding:var(--space-lg) var(--space-lg) var(--space-sm);scroll-margin-top:calc(var(--sticky-nav-height, 62px) + 10px)}.day-section{scroll-margin-top:calc(var(--sticky-nav-height, 62px) + 10px)}.day-empty-state{text-align:center;color:var(--text-muted);font-style:italic;padding:var(--space-lg)}.day-empty-state[hidden]{display:none}.grid-view{background:var(--color-parchment)}.grid-view[hidden]{display:none}.grid-scroll{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;touch-action:pan-x}:root{--time-col-width: 44px}@media(min-width:768px){:root{--time-col-width: 56px}}.stage-col-headers-spacer{position:relative;min-height:35px}.stage-col-headers{display:grid;position:sticky;top:var(--sticky-nav-height, 62px);z-index:15;background:linear-gradient(var(--color-leather),var(--color-bark));border-bottom:1px solid var(--color-gold);box-shadow:0 2px 6px #00000040}.stage-col-headers>*:first-child{border-top-left-radius:var(--radius-md)}.stage-col-headers>*:last-child{border-top-right-radius:var(--radius-md)}.header-corner{position:sticky;left:0;z-index:1;background:linear-gradient(var(--color-leather),var(--color-bark))}.stage-col-header-item{display:flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-xs);text-align:center;color:var(--color-gold-light);font-family:var(--font-display);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;border-left:1px solid rgba(201,162,39,.2)}.stage-col-header-item.has-divider{border-left:3px solid var(--color-gold)}.time-grid{position:relative;display:grid}.time-axis{position:sticky;left:0;z-index:8;background:var(--color-parchment);border-right:1px solid var(--color-sand)}.hour-label{position:absolute;left:0;right:0;transform:translateY(-50%);font-size:.68rem;color:var(--text-muted);text-align:right;padding-right:4px;white-space:nowrap}@media(min-width:768px){.hour-label{padding-right:10px}}.stage-columns{position:relative;display:grid;grid-column:2 / -1}.stage-col{position:relative;border-left:1px solid var(--color-sand);background-image:repeating-linear-gradient(to bottom,transparent,transparent 83px,var(--color-sand) 84px)}.stage-col.has-divider{border-left:3px solid var(--color-gold)}.ev-block{position:absolute;border-radius:6px;padding:3px 6px;font-size:.6rem;line-height:1.25;overflow:hidden;cursor:pointer;box-shadow:0 1px 4px #0003;display:flex;flex-direction:column;gap:1px}.ev-block-time{font-weight:700;opacity:.85;font-size:.54rem}.ev-block-title{font-weight:600;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ev-block.status-past{opacity:.4}.ev-block.status-live{outline:2px solid #e60000;outline-offset:1px}.ev-block.is-favorite{outline:2px solid var(--color-gold);outline-offset:1px}.now-line{position:absolute;left:0;right:0;height:2px;background:#e60000;z-index:10;grid-column:1 / -1}.now-line[hidden]{display:none}.now-line span{position:absolute;left:2px;top:-8px;background:#e60000;color:#fff;font-size:.6rem;font-weight:700;padding:1px 5px;border-radius:3px}.event-popup-backdrop[hidden]{display:none}.event-popup-backdrop{position:fixed;inset:0;background:#0009;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.event-popup{position:relative;background:#fff;border-radius:var(--radius-lg);padding:var(--space-lg);max-width:420px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px #0006}.popup-close{position:absolute;top:var(--space-sm);right:var(--space-sm);background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;line-height:1}.popup-time{font-family:var(--font-display);font-size:.85rem;color:var(--color-leather);margin-bottom:4px}.event-popup h3{color:var(--color-bark);margin-bottom:var(--space-sm);padding-right:1.5rem}.popup-meta{margin-bottom:var(--space-md);font-size:.85rem;color:var(--text-muted)}.stage-badge{font-size:.72rem;font-weight:600;color:#fff;padding:1px 8px;border-radius:999px}#popup-description{font-size:.9rem;color:var(--text-muted);margin-bottom:var(--space-md)}.popup-fav-btn{display:block;width:100%;padding:.6rem;margin-bottom:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-sand);background:var(--color-cream);color:var(--color-bark);font-weight:600;font-size:.85rem;cursor:pointer}.popup-fav-btn.active{background:var(--color-gold);border-color:var(--color-gold)}.calendar-links{display:flex;flex-direction:column;gap:8px}.calendar-links a{display:block;text-align:center;padding:.65rem 1rem;min-height:44px;box-sizing:border-box;border-radius:var(--radius-md);border:1px solid var(--color-sand);font-size:.85rem;font-weight:600;color:var(--color-bark);background:var(--color-cream);text-decoration:none}.sheet-backdrop[hidden]{display:none}.sheet-backdrop{position:fixed;inset:0;background:#00000080;z-index:90;display:flex;align-items:flex-end}.sheet{background:#fff;width:100%;max-height:75vh;overflow-y:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-md) var(--space-lg) var(--space-lg)}.sheet-handle{width:40px;height:4px;border-radius:999px;background:var(--color-sand);margin:0 auto var(--space-md)}.sheet-title{font-family:var(--font-display);color:var(--color-bark);font-size:1.1rem;margin-bottom:var(--space-md);text-align:center}.filter-quick-actions{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.filter-quick-btn{flex:1;padding:.5rem;border-radius:var(--radius-md);border:1px solid var(--color-sand);background:var(--color-cream);color:var(--color-bark);font-weight:600;font-size:.85rem;cursor:pointer}.filter-group-label{font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:var(--space-md) 0 var(--space-xs)}.filter-checkboxes{display:flex;flex-direction:column;gap:var(--space-xs)}.filter-checkbox-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:.5rem .25rem;font-size:.9rem;color:var(--color-bark)}.filter-checkbox-item label{display:flex;align-items:center;gap:var(--space-sm)}.filter-only-btn{flex-shrink:0;background:none;border:1px solid var(--color-sand);border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:600;color:var(--color-leather);cursor:pointer}.filter-checkbox-item input{width:18px;height:18px}.sheet-done-btn{display:block;width:100%;margin-top:var(--space-lg);padding:.75rem;border-radius:var(--radius-md);border:none;background:var(--color-bark);color:#fff;font-weight:700;font-size:.9rem;cursor:pointer}.day-sheet-options{display:flex;flex-direction:column;gap:var(--space-sm)}.day-sheet-btn{padding:.85rem;border-radius:var(--radius-md);border:1px solid var(--color-sand);background:var(--color-cream);color:var(--color-bark);font-family:var(--font-display);font-size:1rem;cursor:pointer}.tool-bar{position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--bg-dark);display:flex;box-shadow:0 -2px 10px #0003;padding-bottom:env(safe-area-inset-bottom,0)}.tool-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:.55rem .25rem .5rem;background:none;border:none;color:#ffffffa6;font-size:.68rem;font-weight:600;cursor:pointer}.tool-btn svg{width:22px;height:22px}.tool-btn.active{color:var(--color-gold)}.tool-btn.disabled{opacity:.35;pointer-events:none}.cta-section{text-align:center;background:var(--bg-dark);color:var(--text-light);padding:var(--space-2xl);border-radius:var(--radius-lg);margin:var(--space-2xl) 0}.cta-section h2{color:var(--color-gold);margin-bottom:var(--space-sm)}.cta-section p{opacity:.9;margin-bottom:var(--space-lg)}.cta-buttons{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.cta-section .btn-outline{border-color:var(--text-light);color:var(--text-light)}.cta-section .btn-outline:hover{background:var(--text-light);color:var(--bg-dark)}
