:root{--accent:#b42318;--ink:#172033;--muted:#667085;--line:#dfe3e8;--soft:#f7f8fa;--danger:#b42318;--radius:18px}*{box-sizing:border-box}html{background:#fff;color:#172033}body{margin:0;min-height:100vh;background:#fff!important;color:#172033!important;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;line-height:1.45;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}body,header,main,footer,section,article,nav,div{opacity:1!important;visibility:visible!important;transform:none!important}button,input,select,textarea{font:inherit;color:#172033}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.top{position:relative!important;z-index:1;background:#fff!important;border-bottom:1px solid var(--line);transform:none!important}.top-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:#fff}.brand{font-weight:800;font-size:1.05rem}.nav,.actions,.row-actions,.chips,.resources{display:flex;gap:8px;flex-wrap:wrap}.btn,.chip,.nav-btn{border:1px solid var(--line);background:#fff!important;border-radius:999px;padding:10px 14px;text-decoration:none;color:#172033!important}.btn.primary{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)}.btn.dark,.nav-btn.active,.chip.active{background:#172033!important;color:#fff!important;border-color:#172033}.btn.danger{color:var(--danger)!important;border-color:#f4c7c3}.btn.small{padding:7px 10px;font-size:.86rem}.container{max-width:1180px;margin:auto;padding:28px 20px 72px;background:#fff;min-height:60vh}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff!important;padding:22px}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#667085!important;font-weight:800}.date-range{font-weight:800;color:var(--accent)!important}.muted,.help,.meta{color:#667085!important}.section{margin-top:30px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.days{display:flex;gap:8px}.days-fixed{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day{white-space:nowrap}.days-fixed .day{white-space:normal;width:100%;text-align:center}.day.active{background:var(--accent)!important;border-color:var(--accent);color:#fff!important}.day.active *{color:#fff!important}.day .sub{display:block;font-size:.77rem;margin-top:2px}.agenda,.list{display:grid;gap:12px}.event{display:grid;grid-template-columns:88px 1fr;gap:16px;border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff!important}.time{font-size:1.2rem;font-weight:800}.resource-link{border:1px solid var(--line);border-radius:10px;background:#fff!important;padding:8px 10px;text-decoration:none}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.resource-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff!important}.resource-type{font-size:.78rem;text-transform:uppercase;font-weight:800;color:#667085!important}audio{width:100%;margin-top:10px}.filters{display:flex;gap:8px;flex-wrap:wrap}.searchbar{display:flex;gap:8px;margin:14px 0}.searchbar input{flex:1}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff!important;padding:11px 12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check{display:flex;gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px}.check input{width:auto}.notice{border-left:4px solid var(--accent);background:#f7f8fa!important;padding:14px 16px}.footer{border-top:1px solid var(--line);padding:24px 20px;text-align:center;color:#667085!important}.admin-shell{display:grid;grid-template-columns:220px 1fr;gap:22px}.admin-nav{display:grid;gap:8px;align-content:start}.admin-row{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.badge{display:inline-block;border:1px solid var(--line);background:#f7f8fa!important;border-radius:999px;padding:4px 8px;font-size:.76rem;font-weight:800}.type-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.type-card{border:1px solid var(--line);border-radius:14px;background:#fff!important;padding:14px;text-align:center}.type-card.active{border:2px solid var(--accent)}.toast{position:fixed;right:16px;bottom:16px;z-index:50;background:#172033!important;color:#fff!important;border-radius:12px;padding:12px 16px;opacity:0!important;visibility:hidden!important}.toast.show{opacity:1!important;visibility:visible!important}.content-family-nav{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}.content-family-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.content-family-btn{width:100%}.celebration-home{height:100%;display:grid;align-content:center;gap:22px}.public-page-title{text-align:center}.public-page-title h1{font-size:clamp(2rem,6vw,4.6rem);line-height:.95;letter-spacing:-.045em;margin:8px 0}.public-page-title p{margin:0;color:var(--muted);font-weight:700}.celebration-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.celebration-choice{border:1px solid var(--line);border-top:5px solid var(--celebration-color);border-radius:18px;background:#fff;padding:20px 14px;text-align:left;display:grid;gap:5px}.celebration-choice strong{font-size:1.1rem}.celebration-page-head{border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:16px;padding:10px 14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.celebration-page-head h1{font-size:1.3rem;margin:1px 0}.celebration-back{white-space:nowrap}.public-event-contents{display:grid;gap:8px;margin-top:8px}.public-content{width:100%}.public-content.has-public-visual{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:start}.public-inline-image{width:96px;height:96px;aspect-ratio:1/1;object-fit:cover;border-radius:10px;background:#f3f4f6}.public-content-body{min-width:0}
body.public-app{height:100dvh;overflow:hidden;display:flex;flex-direction:column}body.public-app .top{flex:0 0 auto}body.public-app .container{flex:1;min-height:0;width:min(100%,1180px);padding:12px 20px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;overflow:hidden}body.public-app #hero{min-height:0}body.public-app #program,body.public-app #library,body.public-app #info{margin-top:0;min-height:0;height:100%;overflow:hidden}body.public-app #program:not(.hidden){display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px}body.public-app .section-head{margin-bottom:6px}body.public-app .section-head h2{font-size:1rem;margin:0}body.public-app .days-fixed{gap:6px}body.public-app .days-fixed .day{padding:7px 6px;min-height:48px;font-size:.78rem}body.public-app .day-screen-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding-bottom:48px;scroll-padding-bottom:48px;-webkit-overflow-scrolling:touch}body.public-app .agenda{gap:8px;margin-top:8px}body.public-app .event{grid-template-columns:58px 1fr;gap:10px;padding:11px}body.public-app .content-family-nav{margin-top:0;padding-top:8px}body.public-app .content-family-grid{gap:6px}body.public-app .content-family-btn{padding:8px 6px;font-size:.78rem}body.public-app .footer{display:none!important}body.public-app #library:not(.hidden),body.public-app #info:not(.hidden){overflow:auto}body.public-app .celebration-home{grid-row:1/3}
@media(max-width:850px){.hero,.grid3,.admin-shell,.form-grid,.check-grid,.type-grid{grid-template-columns:1fr}.top-inner{align-items:flex-start;flex-direction:column}.nav{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.nav-btn{width:100%}.container{padding:16px}.days-fixed{grid-template-columns:repeat(2,minmax(0,1fr))}.content-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.celebration-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.celebration-choice{padding:14px 10px}.public-page-title h1{font-size:2.25rem}.celebration-page-head{grid-template-columns:auto 1fr;padding:8px 9px;gap:8px}.celebration-page-head .chips{grid-column:1/-1;display:none}.celebration-page-head h1{font-size:1rem}.celebration-page-head .date-range{font-size:.68rem}body.public-app .top-inner{padding:8px 10px;gap:7px;display:grid;grid-template-columns:1fr auto;align-items:center}body.public-app .brand{font-size:.82rem}body.public-app .nav{display:flex;width:auto;gap:4px}body.public-app .nav-btn{padding:6px 7px;font-size:.68rem}body.public-app .container{padding:8px 10px;gap:7px}body.public-app .days-fixed{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}body.public-app .days-fixed .day{min-height:44px;padding:5px 3px;font-size:.68rem}body.public-app .day .sub{font-size:.58rem}body.public-app .section-head{display:none}body.public-app .event{grid-template-columns:48px 1fr;padding:9px;gap:8px}body.public-app .content-family-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}body.public-app .content-family-btn{min-height:38px;padding:5px 3px;font-size:.62rem}body.public-app .celebration-home{align-content:center;gap:14px}.celebration-choice strong{font-size:.88rem}.celebration-choice span{font-size:.72rem}.public-content.has-public-visual{grid-template-columns:72px minmax(0,1fr)}.public-inline-image{width:72px;height:72px}}
