@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,400;1,700&family=DM+Sans:wght@300;400;500&family=DM+Mono:wght@400;500&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--burgundy-primary: #800020;--burgundy-dark: #600018;--burgundy-darker: #4a0000;--burgundy-light: rgba(128, 0, 32, .1);--burgundy-border: rgba(128, 0, 32, .2);--google-dark-bg: #202124;--google-dark-surface: #303134;--google-dark-border: #3c4043;--google-dark-text: #e8eaed;--google-dark-text-muted: #bdc1c6}body{min-width:320px;min-height:100vh}html[data-theme=dark] body{background-color:var(--google-dark-bg);color:var(--google-dark-text)}html[data-theme=dark] .dashboard-container a,html[data-theme=dark] .settings-container a{color:#f1b3c8}html[data-theme=dark] select{background-color:var(--google-dark-surface);border-color:var(--google-dark-border);color:var(--google-dark-text)}html[data-theme=dark] select:focus{outline:none;box-shadow:0 0 0 2px #ffffff40}html[data-theme=dark] option{background-color:var(--google-dark-bg);color:var(--google-dark-text)}:root{--burgundy: #6B0F1A;--burgundy-dark: #4A0A12;--burgundy-deep: #2D0609;--burgundy-light: #8B1A28;--gold: #C9A84C;--gold-light: #E8C97A;--cream: #FAF6F0;--off-white: #F5EFE6;--text-dark: #1A0A0C;--text-mid: #5A3040;--text-light: #9A7080}.hero,.mission,.programs,.concert,.donate,.news,.contact,footer,.public-navbar,.marquee-bar{box-sizing:border-box}html{scroll-behavior:smooth}.public-navbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:72px;background:#6b0f1af7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,168,76,.2)}.nav-logo{font-family:Playfair Display,serif;font-size:1.15rem;font-weight:700;color:var(--cream);letter-spacing:.04em;text-decoration:none}.nav-logo span{color:var(--gold)}.nav-links{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0}.nav-links>li{position:relative}.nav-links>li>a,.nav-links>li>span{display:block;padding:0 1.1rem;height:72px;line-height:72px;font-size:.78rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#faf6f0d9;text-decoration:none;cursor:pointer;transition:color .2s;white-space:nowrap}.nav-links>li>a:hover,.nav-links>li>span:hover{color:var(--gold)}.nav-links>li>a:after,.nav-links>li>span:after{content:"";display:block;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .3s;margin-top:-2px}.nav-links>li:hover>a:after,.nav-links>li:hover>span:after{transform:scaleX(1)}.dropdown{position:absolute;top:72px;left:50%;transform:translate(-50%) translateY(-6px);min-width:240px;background:var(--burgundy-dark);border:1px solid rgba(201,168,76,.2);border-top:2px solid var(--gold);box-shadow:0 20px 60px #0006;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.nav-links>li:hover .dropdown{opacity:1;pointer-events:all;transform:translate(-50%) translateY(0)}.dropdown a{display:block;padding:.75rem 1.5rem;font-size:.78rem;letter-spacing:.06em;color:#faf6f0cc;text-decoration:none;transition:background .15s,color .15s;border-bottom:1px solid rgba(255,255,255,.05)}.dropdown a:hover{background:#c9a84c1a;color:var(--gold)}.dropdown .sub-header{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);padding:.75rem 1.5rem .25rem;font-weight:600}.nav-cta{display:flex;align-items:center;gap:.75rem}.btn-portal{padding:.5rem 1.1rem;border:1.5px solid var(--gold);color:var(--gold);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:all .2s}.btn-portal:hover{background:var(--gold);color:var(--burgundy-dark)}.btn-donate-nav{padding:.5rem 1.1rem;background:var(--gold);color:var(--burgundy-dark);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:all .2s}.btn-donate-nav:hover{background:var(--gold-light)}.btn-primary{padding:.9rem 2.2rem;background:var(--gold);color:var(--burgundy-dark);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:all .25s;box-shadow:0 4px 24px #c9a84c4d;display:inline-block}.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 32px #c9a84c66}.btn-secondary{padding:.9rem 2.2rem;border:1.5px solid rgba(250,246,240,.4);color:var(--cream);font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:all .25s;display:inline-block}.btn-secondary:hover{border-color:var(--gold);color:var(--gold)}.btn-outline-burgundy{padding:.75rem 1.5rem;border:1.5px solid var(--burgundy);color:var(--burgundy);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:all .25s;display:inline-block;white-space:nowrap}.btn-outline-burgundy:hover{background:var(--burgundy);color:var(--cream)}.hero{min-height:100vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:var(--burgundy-deep)}.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 60% 40%,rgba(107,15,26,.6) 0%,transparent 70%),radial-gradient(ellipse 50% 80% at 10% 80%,rgba(201,168,76,.08) 0%,transparent 60%),linear-gradient(160deg,#1a0204,#2d0609 40%,#4a0a12)}.hero-lines{position:absolute;inset:0;overflow:hidden;opacity:.06}.hero-lines:before{content:"";position:absolute;left:0;right:0;top:35%;height:120px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 22px,rgba(201,168,76,1) 22px,rgba(201,168,76,1) 24px)}.note{position:absolute;font-size:4rem;color:#c9a84c12;animation:floatNote linear infinite;pointer-events:none}.note-1{left:5%;top:20%;font-size:6rem;animation-duration:18s;animation-delay:0s}.note-2{left:80%;top:10%;font-size:3rem;animation-duration:14s;animation-delay:-4s}.note-3{left:45%;top:60%;font-size:5rem;animation-duration:20s;animation-delay:-8s}.note-4{left:90%;top:55%;font-size:7rem;animation-duration:16s;animation-delay:-2s}.note-5{left:4%;bottom:8%;top:auto;font-size:4rem;animation-duration:22s;animation-delay:-10s}@keyframes floatNote{0%{transform:translateY(0) rotate(0);opacity:.05}50%{opacity:.12}to{transform:translateY(-40px) rotate(15deg);opacity:.05}}.hero-content{position:relative;z-index:2;width:100%;padding:0 5rem 8rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end}.hero-tag{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,168,76,.4);padding:.4rem 1rem;margin-bottom:2rem;border-radius:1px;animation:fadeUp .8s ease both}.hero-title{font-family:Playfair Display,serif;font-size:clamp(3.5rem,7vw,6.5rem);font-weight:900;color:var(--cream);line-height:1;letter-spacing:-.02em;margin-bottom:1.5rem;animation:fadeUp .8s .1s ease both}.hero-title em{font-style:italic;color:var(--gold)}.hero-sub{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:300;color:#faf6f0a6;line-height:1.6;max-width:480px;margin-bottom:2.5rem;animation:fadeUp .8s .2s ease both}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeUp .8s .3s ease both}.hero-right{display:flex;flex-direction:column;gap:1rem;animation:fadeUp .8s .4s ease both}.event-card{background:#c9a84c14;border:1px solid rgba(201,168,76,.2);border-left:3px solid var(--gold);padding:1.5rem;border-radius:2px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.event-card .label{font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}.event-card h3{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;color:var(--cream);margin-bottom:.35rem;line-height:1.3}.event-card p{font-size:.82rem;color:#faf6f099;line-height:1.5}.event-card a{display:inline-block;margin-top:.75rem;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);text-decoration:none}.event-card a:hover{text-decoration:underline}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c9a84c26;border:1px solid rgba(201,168,76,.15)}.stat{background:#2d0609b3;padding:1.2rem;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat strong{display:block;font-family:Playfair Display,serif;font-size:2rem;font-weight:900;color:var(--gold);line-height:1}.stat span{font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#faf6f080;margin-top:.3rem;display:block}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.marquee-bar{background:var(--gold);padding:.7rem 0;overflow:hidden;white-space:nowrap}.marquee-track{display:inline-block;animation:marquee 30s linear infinite}.marquee-track span{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--burgundy-dark);padding:0 2rem}.marquee-track span:before{content:"♪ "}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.home-media-demo{background:var(--off-white);border-top:1px solid rgba(107,15,26,.08);border-bottom:1px solid rgba(107,15,26,.08)}.media-demo-header{max-width:760px;margin-bottom:2rem}.media-demo-sub{font-family:Cormorant Garamond,serif;font-size:1.15rem;color:var(--text-mid);line-height:1.7}.media-demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.media-placeholder{background:var(--cream);border:1px solid rgba(107,15,26,.12);padding:1.15rem}.media-placeholder-tag{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem}.media-placeholder-box{height:190px;border:1px dashed rgba(107,15,26,.35);background:linear-gradient(145deg,#6b0f1a14,#c9a84c26);display:grid;place-items:center;color:var(--burgundy);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.media-placeholder h3{margin:.9rem 0 .45rem;font-family:Playfair Display,serif;color:var(--burgundy-dark)}.media-placeholder p{margin:0;font-size:.86rem;line-height:1.55;color:var(--text-mid)}.media-placeholder-video .media-placeholder-box{position:relative}.media-play{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(107,15,26,.3);background:#faf6f0d9;color:var(--burgundy);font-size:1rem;margin-bottom:.5rem}section{padding:7rem 5rem}.section-label{font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy);margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.section-label:before{content:"";display:block;width:32px;height:2px;background:var(--gold)}.section-title{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:900;color:var(--burgundy-dark);line-height:1.1;letter-spacing:-.02em;margin-bottom:1.5rem}.section-title em{font-style:italic;color:var(--burgundy-light)}.mission{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.mission-text p{font-family:Cormorant Garamond,serif;font-size:1.25rem;font-weight:300;color:var(--text-mid);line-height:1.8;margin-bottom:1.5rem}.mission-text .highlight{font-size:1.5rem;font-weight:600;color:var(--burgundy);font-style:italic}.mission-quote-block{background:var(--burgundy);padding:3rem;border-radius:2px;position:relative;overflow:hidden}.mission-quote-block:before{content:'"';position:absolute;top:-1rem;left:1.5rem;font-family:Playfair Display,serif;font-size:12rem;color:#c9a84c1f;line-height:1}.mission-quote-block blockquote{font-family:Playfair Display,serif;font-size:1.5rem;font-style:italic;font-weight:400;color:var(--cream);line-height:1.6;position:relative;z-index:1;margin-bottom:1.5rem}.mission-quote-block cite{font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);font-style:normal}.mission-stats-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}.mini-stat{background:var(--off-white);border:1px solid rgba(107,15,26,.1);border-top:3px solid var(--burgundy);padding:1.25rem;text-align:center}.mini-stat strong{display:block;font-family:Playfair Display,serif;font-size:2.2rem;font-weight:900;color:var(--burgundy);line-height:1}.mini-stat span{font-size:.72rem;color:var(--text-light);letter-spacing:.06em;text-transform:uppercase;margin-top:.3rem;display:block}.programs{background:var(--off-white)}.programs-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3.5rem}.programs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5px;background:#6b0f1a1f;border:1.5px solid rgba(107,15,26,.12)}.program-card{background:var(--cream);padding:2.5rem;position:relative;overflow:hidden;transition:transform .3s}.program-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transition:transform .3s}.program-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px #6b0f1a1f}.program-card:hover:after{transform:scaleX(1)}.program-icon{font-size:2.5rem;margin-bottom:1.25rem;display:block}.program-card h3{font-family:Playfair Display,serif;font-size:1.3rem;font-weight:700;color:var(--burgundy-dark);margin-bottom:.75rem;line-height:1.3}.program-card p{font-size:.88rem;color:var(--text-mid);line-height:1.7;margin-bottom:1.5rem}.program-links{display:flex;flex-direction:column;gap:.5rem}.program-link{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--burgundy);text-decoration:none;display:flex;align-items:center;gap:.4rem;transition:color .2s}.program-link:hover{color:var(--gold)}.program-link:after{content:"→"}.concert{background:var(--burgundy-dark);position:relative;overflow:hidden}.concert:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 80% 50%,rgba(201,168,76,.06),transparent)}.concert-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;z-index:1}.concert .section-label{color:var(--gold-light)}.concert .section-title{color:var(--cream)}.concert .section-title em{color:var(--gold)}.concert-details{display:flex;flex-direction:column;gap:1rem;margin:2rem 0}.concert-detail{display:flex;align-items:flex-start;gap:1rem}.concert-detail .icon{width:38px;height:38px;background:#c9a84c1f;border:1px solid rgba(201,168,76,.25);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;border-radius:2px}.concert-detail div strong{display:block;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem}.concert-detail div span{font-size:.92rem;color:#faf6f0bf}.concert-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.concert-visual{border:1px solid rgba(201,168,76,.2);background:#c9a84c0d;padding:2.5rem;border-radius:2px;text-align:center}.big-date{font-family:Playfair Display,serif;font-size:5rem;font-weight:900;color:var(--gold);line-height:1;margin-bottom:.5rem}.big-month{font-family:Playfair Display,serif;font-size:2rem;font-weight:300;font-style:italic;color:var(--cream);margin-bottom:2rem}.venue-name{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;color:var(--cream);line-height:1.4}.venue-sub{font-size:.8rem;color:#faf6f080;margin-top:.4rem}.concert-divider{width:60px;height:1px;background:var(--gold);margin:1.5rem auto;opacity:.4}.concert-tagline{font-size:.8rem;color:#faf6f073;font-style:italic}.donate{background:var(--cream)}.donate-header{text-align:center;margin-bottom:4rem}.donate-header .section-label{justify-content:center}.donate-sub{max-width:520px;margin:1rem auto 0;font-family:Cormorant Garamond,serif;font-size:1.15rem;font-weight:300;color:var(--text-mid);line-height:1.7}.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:960px;margin:0 auto 3rem}.tier{border:1.5px solid rgba(107,15,26,.12);padding:2.5rem 2rem;position:relative;transition:all .3s;background:var(--cream)}.tier:hover{border-color:var(--burgundy);box-shadow:0 16px 48px #6b0f1a1f;transform:translateY(-4px)}.tier.featured{background:var(--burgundy);border-color:var(--gold);color:var(--cream)}.tier.featured:hover{transform:translateY(-6px);box-shadow:0 20px 60px #6b0f1a4d}.tier-badge{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);background:#c9a84c1a;border:1px solid rgba(201,168,76,.3);padding:.3rem .75rem;display:inline-block;margin-bottom:1.25rem;border-radius:1px}.tier.featured .tier-badge{background:#c9a84c33;border-color:#c9a84c80}.tier-amount{font-family:Playfair Display,serif;font-size:2.8rem;font-weight:900;color:var(--burgundy-dark);line-height:1;margin-bottom:.25rem}.tier.featured .tier-amount{color:var(--gold)}.tier-name{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-light);margin-bottom:.25rem}.tier.featured .tier-name{color:#faf6f099}.tier-choir{font-family:Cormorant Garamond,serif;font-size:.95rem;font-style:italic;color:var(--burgundy-light);margin-bottom:1.75rem}.tier.featured .tier-choir{color:#c9a84ccc}.tier-divider{height:1px;background:#6b0f1a1a;margin-bottom:1.5rem}.tier.featured .tier-divider{background:#c9a84c33}.tier-perks{list-style:none;padding:0}.tier-perks li{font-size:.83rem;color:var(--text-mid);padding:.4rem 0 .4rem 1.25rem;position:relative;line-height:1.5}.tier-perks li:before{content:"♦";position:absolute;left:0;color:var(--gold);font-size:.6rem;top:.55rem}.tier.featured .tier-perks li{color:#faf6f0bf}.tier-btn{display:block;margin-top:2rem;padding:.75rem;text-align:center;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:all .25s;border:1.5px solid var(--burgundy);color:var(--burgundy)}.tier-btn:hover{background:var(--burgundy);color:var(--cream)}.tier.featured .tier-btn{background:var(--gold);border-color:var(--gold);color:var(--burgundy-dark)}.tier.featured .tier-btn:hover{background:var(--gold-light)}.donate-footer-links{text-align:center;display:flex;align-items:center;justify-content:center;gap:1rem}.donate-footer-links a{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);text-decoration:none}.donate-footer-links a:hover{color:var(--burgundy)}.donate-footer-links span{color:var(--text-light)}.news{background:var(--off-white)}.news-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem}.news-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1.5rem}.news-card{background:var(--cream);border:1px solid rgba(107,15,26,.08);overflow:hidden;transition:box-shadow .3s}.news-card:hover{box-shadow:0 12px 40px #6b0f1a1a}.news-card-img{height:280px;background:linear-gradient(135deg,var(--burgundy-deep),var(--burgundy));display:flex;align-items:center;justify-content:center;font-size:6rem}.news-card-img--sm{height:140px;font-size:3rem}.news-card-body{padding:1.5rem}.news-date{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}.news-card h3{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;color:var(--burgundy-dark);line-height:1.4;margin-bottom:.5rem}.news-card.featured h3{font-size:1.4rem}.news-card p{font-size:.85rem;color:var(--text-mid);line-height:1.6}.news-link{display:inline-block;margin-top:1rem;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--burgundy);text-decoration:none}.news-link:hover{color:var(--gold);text-decoration:underline}.contact{background:var(--burgundy-deep);display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}.contact .section-label{color:#c9a84cb3}.contact .section-title{color:var(--cream)}.contact .section-title em{color:var(--gold)}.contact-info{display:flex;flex-direction:column;gap:1.5rem}.contact-item{display:flex;align-items:flex-start;gap:1rem}.contact-icon{width:40px;height:40px;border:1px solid rgba(201,168,76,.25);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.contact-item strong{display:block;font-size:.68rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem}.contact-item span,.contact-item a{font-size:.92rem;color:#faf6f0b3;text-decoration:none;line-height:1.5;display:block}.contact-item a:hover{color:var(--gold)}.fax-text{font-size:.8rem!important;color:#faf6f066!important}.social-links{display:flex;gap:.75rem;margin-top:2rem}.social-link{width:42px;height:42px;border:1px solid rgba(201,168,76,.25);display:flex;align-items:center;justify-content:center;font-size:1rem;text-decoration:none;color:#faf6f099;transition:all .2s}.social-link:hover{border-color:var(--gold);color:var(--gold);background:#c9a84c14}.contact-right p{font-family:Cormorant Garamond,serif;font-size:1.15rem;font-weight:300;color:#faf6f099;line-height:1.8;margin-bottom:2rem}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.quick-link{padding:.9rem 1.1rem;border:1px solid rgba(201,168,76,.15);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#faf6f0a6;text-decoration:none;transition:all .2s;border-radius:2px;display:flex;align-items:center;gap:.5rem}.quick-link:hover{border-color:var(--gold);color:var(--gold);background:#c9a84c0d}footer{background:#0d0305;padding:2rem 5rem;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(201,168,76,.1)}.footer-logo{font-family:Playfair Display,serif;font-size:1rem;font-weight:700;color:#faf6f066;letter-spacing:.04em}.footer-logo span{color:#c9a84c80}footer p{font-size:.72rem;color:#faf6f040;letter-spacing:.06em}footer a{font-size:.72rem;color:#c9a84c66;text-decoration:none}footer a:hover{color:var(--gold)}@media(max-width:1024px){section{padding:5rem 2.5rem}.public-navbar{padding:0 2rem}.hero-content{padding:0 2.5rem 6rem;grid-template-columns:1fr;gap:3rem}.media-demo-grid{grid-template-columns:1fr 1fr}.mission{grid-template-columns:1fr}.concert-inner,.contact{grid-template-columns:1fr;gap:3rem}.tiers{grid-template-columns:1fr;max-width:420px}.programs-grid,.news-grid{grid-template-columns:1fr}footer{flex-direction:column;gap:.75rem;text-align:center}}@media(max-width:768px){.nav-links{display:none}.media-demo-grid{grid-template-columns:1fr}.media-placeholder-box{height:170px}.hero-stats{grid-template-columns:repeat(3,1fr)}.programs-header,.news-header{flex-direction:column;gap:1rem;align-items:flex-start}.quick-links{grid-template-columns:1fr}}:root{--marketing-shadow: 0 18px 44px rgba(107, 15, 26, .1)}.marketing-page{min-height:100vh;background:linear-gradient(180deg,var(--cream) 0%,var(--off-white) 100%);padding-top:72px}.marketing-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 2.5rem;background:#6b0f1af5;border-bottom:1px solid rgba(201,168,76,.25)}.marketing-nav-links{display:flex;align-items:center;gap:.9rem}.marketing-nav-links a{color:#faf6f0db;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;text-decoration:none}.marketing-nav-links a:hover{color:var(--gold)}.marketing-main{max-width:1280px;margin:0 auto;padding:3rem 2.5rem 5rem}.marketing-hero{background:linear-gradient(140deg,var(--burgundy-dark) 0%,var(--burgundy) 100%);color:var(--cream);padding:2.5rem;border:1px solid rgba(201,168,76,.28);box-shadow:var(--marketing-shadow)}.marketing-page .marketing-hero.dropdown-top-hero{position:relative;overflow:hidden;margin-top:-3rem;margin-right:calc(50% - 50vw);margin-bottom:2rem;margin-left:calc(50% - 50vw);width:100vw;padding:4.25rem 5rem 3rem;border:0;box-shadow:none;background:linear-gradient(150deg,#1a0204 0%,var(--burgundy-deep) 48%,var(--burgundy) 100%)}.marketing-page .marketing-hero.dropdown-top-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 80% 48%,rgba(107,15,26,.5) 0%,transparent 72%),radial-gradient(ellipse 42% 62% at 8% 82%,rgba(201,168,76,.08) 0%,transparent 60%);pointer-events:none}.marketing-page .marketing-hero.dropdown-top-hero>*{position:relative;z-index:1}.marketing-page .marketing-hero.dropdown-top-hero h1{font-size:clamp(2.8rem,5vw,4.5rem);line-height:1.02;margin-bottom:1rem}.marketing-page .marketing-hero.dropdown-top-hero .marketing-subtitle{max-width:720px;margin-bottom:1.4rem}.marketing-eyebrow{color:var(--gold);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.9rem;font-weight:700}.marketing-hero h1{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3rem);margin:0 0 .9rem}.marketing-subtitle{max-width:760px;color:#faf6f0d4;line-height:1.65;margin-bottom:1.2rem}.marketing-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}.marketing-page .marketing-hero .btn-outline-burgundy{border-color:#faf6f080;color:var(--cream)}.marketing-page .marketing-hero .btn-outline-burgundy:hover{border-color:var(--gold);color:var(--gold);background:#c9a84c14}.marketing-sections{margin-top:2rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.marketing-card{background:var(--cream);border:1px solid rgba(107,15,26,.12);padding:1.4rem;box-shadow:var(--marketing-shadow)}.marketing-card h2{margin:0 0 .55rem;font-family:Playfair Display,serif;color:var(--burgundy-dark);font-size:1.3rem}.marketing-card p{margin:0;line-height:1.65;color:var(--text-mid)}.marketing-card-links{margin-top:.9rem;display:flex;flex-direction:column;gap:.45rem}.about-hero{margin-bottom:.75rem}.about-story-flow{position:relative;display:grid;gap:1.15rem;padding-top:0;padding-bottom:0;padding-left:1.5rem;padding-right:1.5rem}.about-story-flow:before{content:"";position:absolute;top:.2rem;bottom:.2rem;left:.25rem;width:2px;background:linear-gradient(180deg,var(--gold) 0%,rgba(107,15,26,.25) 100%)}.about-story-flow:after{content:"";position:absolute;top:.2rem;bottom:.2rem;right:.25rem;width:2px;background:linear-gradient(180deg,var(--gold) 0%,rgba(107,15,26,.25) 100%)}.about-story-card{position:relative;background:linear-gradient(180deg,#fffaf6 0%,var(--cream) 100%);border:1px solid rgba(107,15,26,.14);border-left:4px solid var(--burgundy);padding:1.2rem 1.2rem 1.1rem;opacity:0;transform:translateY(24px) scale(.985);transition:opacity .55s ease,transform .55s ease}.about-story-card.is-visible{opacity:1;transform:translateY(0) scale(1)}.about-story-card:first-child{margin-top:-.25rem}.about-story-head{display:flex;align-items:flex-start;margin-bottom:.55rem}.about-story-card h2{margin:0;font-family:Playfair Display,serif;color:var(--burgundy-dark);font-size:1.35rem}.about-story-card p{margin:0;line-height:1.65;color:var(--text-mid)}.about-story-copy{display:grid;gap:1rem}.about-story-image-wrap{margin:1rem 0 0;border:1px solid rgba(107,15,26,.18);background:#fff;overflow:hidden}.about-story-image{display:block;width:100%;height:auto}.about-story-links{margin-top:.9rem;display:flex;flex-wrap:wrap;gap:.75rem 1.1rem}.donate-embed-card{padding-bottom:1.4rem}.donate-embed-note{color:var(--text-mid)}.donate-embed-frame-wrap{margin-top:1rem;border:1px solid rgba(107,15,26,.12);background:#fff;box-shadow:var(--marketing-shadow)}.donate-embed-frame{width:100%;min-height:920px;border:0;display:block}.staff-directory{margin-top:1.1rem;display:grid;gap:1rem}.staff-cell{padding:1rem 1rem .9rem;background:#fff;border:1px solid rgba(107,15,26,.16);box-shadow:var(--marketing-shadow);border-left:4px solid var(--burgundy)}.staff-cell-top{display:grid;grid-template-columns:160px minmax(0,1fr);gap:.9rem}.staff-cell-top--no-image{grid-template-columns:minmax(0,1fr)}.staff-cell-photo{width:100%;aspect-ratio:1 / 1;border:1px solid rgba(107,15,26,.22);object-fit:cover;object-position:center 30%;display:block}.staff-cell-copy h2{margin:0 0 .2rem;color:var(--burgundy);font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.15;font-weight:700}.staff-cell-title{margin:0 0 .55rem;font-size:clamp(.95rem,1.35vw,1.12rem);font-style:italic;color:#111111e6;line-height:1.3}.staff-cell-intro{margin:0;color:#171717;line-height:1.55;font-size:.97rem}.staff-cell-details{margin-top:.75rem}.staff-cell-details-toggle{appearance:none;background:transparent;border:0;padding:0;cursor:pointer;-webkit-user-select:none;user-select:none;width:fit-content;color:var(--burgundy-dark);font-weight:600;font-size:.9rem;border-bottom:1px solid rgba(107,15,26,.3);font-family:inherit}.staff-cell-details-toggle:after{content:" +"}.staff-cell-details.is-open .staff-cell-details-toggle:after{content:" -"}.staff-cell-bio-wrap{overflow:hidden;max-height:0;opacity:0;transform:translateY(-6px);transition:max-height .8s ease,opacity .8s ease,transform .8s ease}.staff-cell-details.is-open .staff-cell-bio-wrap{max-height:100rem;opacity:1;transform:translateY(0)}.staff-cell-bio{margin-top:.6rem;display:grid;gap:.5rem}.staff-cell-bio p{margin:0;color:#111;line-height:1.5;font-size:.95rem}@media(prefers-reduced-motion:reduce){.staff-cell-bio-wrap{transition:none}}@media(max-width:900px){.marketing-nav{flex-wrap:wrap;justify-content:center;padding:1rem 1.2rem}.marketing-main{padding:2rem 1.2rem 4rem}.marketing-page .marketing-hero.dropdown-top-hero{margin-top:-2rem;margin-bottom:1.5rem;padding:3.2rem 2.2rem 2.4rem}.marketing-sections{grid-template-columns:1fr}.about-story-flow{padding-left:1.25rem;padding-right:1.25rem}.donate-embed-frame{min-height:1040px}.staff-cell{padding:.85rem}.staff-cell-top{grid-template-columns:1fr}.staff-cell-photo{width:min(100%,220px)}.staff-cell-title{margin-bottom:.5rem}.staff-cell-bio p{font-size:.95rem;line-height:1.5}}.pg-page,.pg-page *,.pg-page *:before,.pg-page *:after{margin:0;padding:0;box-sizing:border-box}.pg-page{--crimson: var(--burgundy, #6b0f1a);--crimson-dark: var(--burgundy-dark, #4a0a12);--crimson-light: rgba(107, 15, 26, .08);--crimson-mid: rgba(107, 15, 26, .22);--gold: var(--gold, #c9a84c);--gold-light: var(--gold-light, #e8c97a);--charcoal: var(--burgundy-deep, #2d0609);--warm-gray: #5b5048;--light-gray: var(--off-white, #f5efe6);--border: rgba(107, 15, 26, .16);--white: #ffffff;--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--font-mono: "DM Mono", monospace;--max-w: 1080px;--radius: 12px;--radius-lg: 20px;--ease: cubic-bezier(.16, 1, .3, 1)}.pg-page{scroll-behavior:smooth;font-size:16px;background:var(--off-white, #f5efe6);color:var(--charcoal);font-family:var(--font-body);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased}.pg-container{max-width:var(--max-w);margin:0 auto;padding:0 2rem}.pg-hero{position:relative;background:var(--charcoal);overflow:hidden;padding:6rem 2rem 5rem}.pg-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(155,28,28,.35) 0%,transparent 70%),radial-gradient(ellipse 40% 60% at 10% 80%,rgba(201,146,42,.15) 0%,transparent 60%);pointer-events:none}.pg-hero-inner{position:relative;max-width:var(--max-w);margin:0 auto}.pg-hero-tag{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem}.pg-hero-tag:before{content:"";display:block;width:2rem;height:1px;background:var(--gold)}.pg-hero-title{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:900;line-height:1.05;letter-spacing:-.03em;color:var(--white);margin-bottom:1.25rem;max-width:760px}.pg-hero-title em{font-style:italic;font-weight:700;color:var(--gold-light)}.pg-hero-desc{font-size:1.05rem;color:#faf6f0d1;max-width:580px;line-height:1.75}.pg-hero-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.pg-meta-pill{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.75rem;font-weight:500;color:var(--white);background:#faf6f01a;border:1px solid rgba(250,246,240,.2);border-radius:100px;padding:.4rem 1rem;letter-spacing:.02em}.pg-meta-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0}.pg-section{padding:5rem 0}.pg-section+.pg-section{border-top:1px solid var(--border)}.pg-section-alt{background:var(--light-gray)}.pg-section-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--crimson);margin-bottom:.6rem;display:flex;align-items:center;gap:.6rem}.pg-section-label:after{content:"";flex:1;max-width:3rem;height:1px;background:var(--crimson-mid)}.pg-section-title{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;letter-spacing:-.025em;line-height:1.15;color:var(--charcoal);margin-bottom:2.5rem}.pg-intro{font-size:1.1rem;color:var(--warm-gray);line-height:1.8;max-width:740px}.pg-intro strong{color:var(--charcoal);font-weight:500}.pg-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.pg-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;position:relative;overflow:hidden}.pg-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--crimson),var(--gold));opacity:0;transition:opacity .3s}.pg-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px #00000014;border-color:var(--crimson-mid)}.pg-card:hover:before{opacity:1}.pg-card-icon{font-size:2rem;margin-bottom:1rem;display:block}.pg-card-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--charcoal);margin-bottom:.6rem}.pg-card-body{font-size:.9rem;color:var(--warm-gray);line-height:1.7}.pg-card-wide{grid-column:span 2}.pg-tiers{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.pg-tier{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--border);transition:background .2s}.pg-tier:last-child{border-bottom:none}.pg-tier:hover{background:var(--crimson-light)}.pg-tier-left{background:var(--charcoal);padding:1.75rem;display:flex;flex-direction:column;justify-content:center}.pg-tier-level{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}.pg-tier-name{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--white);line-height:1.2}.pg-tier-right{padding:1.75rem;background:var(--white)}.pg-tier-right p{font-size:.9rem;color:var(--warm-gray);line-height:1.7}.pg-highlight{background:var(--charcoal);border-radius:var(--radius-lg);padding:2.5rem;color:var(--white);margin-top:1.25rem}.pg-highlight p{font-size:.975rem;color:#ffffffbf;line-height:1.8}.pg-highlight p+p{margin-top:1rem}.pg-highlight strong{color:var(--gold);font-weight:500}.pg-venues{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.pg-venue-tag{font-family:var(--font-mono);font-size:.72rem;padding:.3rem .8rem;border-radius:100px;background:#c9a84c29;color:var(--gold);border:1px solid rgba(201,168,76,.34)}.pg-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:3rem}.pg-stat{background:var(--white);padding:1.5rem 1.25rem;text-align:center}.pg-stat-num{font-family:var(--font-display);font-size:2.25rem;font-weight:900;color:var(--crimson);letter-spacing:-.04em;line-height:1}.pg-stat-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--warm-gray);margin-top:.35rem}.pg-partners{display:flex;flex-direction:column;gap:1.25rem}.pg-partner{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:flex-start;transition:transform .3s var(--ease),box-shadow .3s}.pg-partner:hover{transform:translateY(-3px);box-shadow:0 16px 40px #00000012}.pg-partner-logo{width:56px;height:56px;border-radius:10px;background:var(--crimson-light);border:1px solid var(--crimson-mid);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.pg-partner-name{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--charcoal);margin-bottom:.25rem}.pg-partner-sub{font-family:var(--font-mono);font-size:.7rem;color:var(--crimson);letter-spacing:.05em;margin-bottom:.75rem}.pg-partner-body{font-size:.88rem;color:var(--warm-gray);line-height:1.7}.pg-bullet-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.pg-bullet-list li{position:relative;padding-left:1.25rem;font-size:.875rem;color:var(--warm-gray);line-height:1.6}.pg-bullet-list li:before{content:"";position:absolute;left:0;color:var(--crimson);font-size:.8rem}.pg-quote{border-left:3px solid var(--crimson);padding:1rem 1.5rem;margin:2rem 0;background:var(--crimson-light);border-radius:0 var(--radius) var(--radius) 0}.pg-quote p{font-family:var(--font-display);font-size:1.05rem;font-style:italic;color:var(--crimson-dark);line-height:1.65}.fade-up{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.fade-up.visible{opacity:1;transform:translateY(0)}.fade-up[data-delay="1"]{transition-delay:.1s}.fade-up[data-delay="2"]{transition-delay:.2s}.fade-up[data-delay="3"]{transition-delay:.3s}.fade-up[data-delay="4"]{transition-delay:.4s}@media(max-width:768px){.pg-cards{grid-template-columns:1fr}.pg-card-wide{grid-column:span 1}.pg-tier{grid-template-columns:1fr}.pg-tier-left{padding:1.25rem 1.5rem}.pg-stats{grid-template-columns:repeat(3,1fr)}.pg-partner{grid-template-columns:1fr}.pg-partner-logo{width:44px;height:44px}}@media(max-width:480px){.pg-hero{padding:4rem 1.5rem 3.5rem}.pg-section{padding:3.5rem 0}.pg-container{padding:0 1.25rem}.pg-stats{grid-template-columns:1fr}.pg-stat{padding:1rem}}.events-page{background:var(--cream);min-height:100vh;padding-top:72px}.events-hero-banner{background:var(--burgundy-deep);position:relative;overflow:hidden;padding:5rem 5rem 4rem;border-bottom:1px solid rgba(201,168,76,.15)}.events-hero-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 80% 50%,rgba(107,15,26,.5) 0%,transparent 70%),radial-gradient(ellipse 40% 60% at 5% 80%,rgba(201,168,76,.06) 0%,transparent 60%);pointer-events:none}.events-hero-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto;align-items:end;gap:3rem}.events-hero-label{font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,168,76,.35);padding:.35rem .9rem;border-radius:1px;display:inline-block;margin-bottom:1.25rem}.events-hero-title{font-family:Playfair Display,serif;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:900;color:var(--cream);line-height:1;letter-spacing:-.02em;margin-bottom:1rem}.events-hero-title em{font-style:italic;color:var(--gold)}.events-hero-sub{font-family:Cormorant Garamond,serif;font-size:1.15rem;font-weight:300;color:#faf6f099;line-height:1.65;max-width:460px}.events-hero-cta{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.ev-btn-primary{padding:.9rem 2rem;background:var(--gold);color:var(--burgundy-dark);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:2px;border:none;cursor:pointer;transition:all .25s;white-space:nowrap;display:inline-block;box-shadow:0 4px 20px #c9a84c40}.ev-btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 28px #c9a84c59}.ev-btn-secondary{padding:.9rem 2rem;border:1.5px solid rgba(250,246,240,.3);color:#faf6f0bf;font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:2px;cursor:pointer;background:transparent;transition:all .25s;white-space:nowrap;display:inline-block}.ev-btn-secondary:hover{border-color:var(--gold);color:var(--gold)}.events-body{max-width:1200px;margin:0 auto;padding:4rem 5rem 6rem}.events-upcoming{margin-bottom:4rem;padding-bottom:4rem;border-bottom:1px solid rgba(107,15,26,.1)}.upcoming-event-card{display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:start;background:var(--cream);border:1px solid rgba(107,15,26,.1);border-left:4px solid var(--gold);padding:2rem 2.5rem;border-radius:2px;box-shadow:0 4px 24px #6b0f1a0f;transition:box-shadow .3s}.upcoming-event-card:hover{box-shadow:0 8px 40px #6b0f1a1a}.ev-date-badge{display:flex;flex-direction:column;align-items:center;min-width:64px;background:linear-gradient(160deg,var(--burgundy-dark) 0%,var(--burgundy) 100%);border:1px solid rgba(201,168,76,.24);padding:.75rem .6rem .65rem;border-radius:2px}.ev-date-badge__month{font-size:.58rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:block}.ev-date-badge__day{font-family:Playfair Display,serif;font-size:2.4rem;font-weight:900;color:var(--cream);line-height:1;display:block}.ev-date-badge__year{font-size:.58rem;color:#faf6f059;letter-spacing:.1em;display:block;margin-top:.2rem}.upcoming-event-pill{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,168,76,.35);padding:.28rem .8rem;border-radius:1px;margin-bottom:.85rem}.upcoming-event-title{font-family:Playfair Display,serif;font-size:1.55rem;font-weight:700;color:var(--burgundy-dark);line-height:1.25;margin-bottom:1rem}.upcoming-event-times{display:flex;flex-direction:column;gap:.6rem}.upcoming-time-row{display:flex;gap:1rem;align-items:baseline}.upcoming-time-tag{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);min-width:58px;flex-shrink:0}.upcoming-time-detail{font-size:.86rem;color:var(--text-mid);line-height:1.55}.events-past-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1.75rem}.events-past-title{font-family:Playfair Display,serif;font-size:1.55rem;font-weight:700;color:var(--burgundy-dark);line-height:1.2}.events-past-title em{font-style:italic;color:var(--burgundy-light)}.events-count-label{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light)}.year-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(107,15,26,.08)}.yr-btn{padding:.38rem 1rem;border:1px solid rgba(107,15,26,.18);border-radius:1px;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:transparent;color:var(--text-mid);transition:all .18s ease;white-space:nowrap}.yr-btn:hover{border-color:var(--burgundy-light);color:var(--burgundy);background:#6b0f1a0a}.yr-btn--active{background:var(--burgundy);border-color:var(--burgundy);color:var(--cream)}.yr-btn--active:hover{background:var(--burgundy-dark);border-color:var(--burgundy-dark);color:var(--cream)}.yr-btn--archive-open{border-color:#c9a84c73;color:var(--gold);background:#c9a84c0f}.yr-btn--archive{opacity:.78;font-size:.67rem}.events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#6b0f1a14;border:1px solid rgba(107,15,26,.08);border-radius:2px;overflow:hidden}.events-event-card{background:var(--cream);padding:1.4rem 1.6rem;transition:background .18s ease;cursor:default;position:relative}.events-event-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);transform:scaleY(0);transform-origin:bottom;transition:transform .22s ease}.events-event-card:hover{background:var(--off-white)}.events-event-card:hover:before{transform:scaleY(1)}.ev-date{font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}.ev-title{font-family:Playfair Display,serif;font-size:.97rem;font-weight:700;color:var(--burgundy-dark);line-height:1.4;margin-bottom:.3rem}.ev-venue{font-family:Cormorant Garamond,serif;font-size:.82rem;font-style:italic;color:var(--text-light);line-height:1.4}.ev-tag{display:inline-block;font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.22rem .65rem;border-radius:1px;margin-top:.6rem;border:1px solid transparent}.tag--benefit{background:#c9a84c1a;color:var(--burgundy-light);border-color:#c9a84c40}.tag--gala{background:#6b0f1a0f;color:var(--burgundy);border-color:#6b0f1a26}.tag--tour{background:#2d06090d;color:var(--text-mid);border-color:#2d06091f}.tag--community{background:#c9a84c14;color:var(--text-mid);border-color:#c9a84c33}.tag--concert{background:#8b1a2812;color:var(--burgundy-light);border-color:#8b1a282e}.events-empty{grid-column:1 / -1;text-align:center;padding:4rem 0;font-family:Cormorant Garamond,serif;font-size:1.15rem;font-style:italic;color:var(--text-light)}.show-more-btn{width:100%;margin-top:1.5rem;padding:.9rem;border:1.5px solid rgba(107,15,26,.18);border-radius:2px;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-mid);cursor:pointer;background:transparent;transition:all .2s ease}.show-more-btn:hover{border-color:var(--burgundy);color:var(--burgundy);background:#6b0f1a08}@media(max-width:1024px){.events-hero-banner{padding:4rem 2.5rem 3rem}.events-hero-inner{grid-template-columns:1fr;gap:2rem}.events-hero-cta{flex-direction:row;align-items:center}.events-body{padding:3rem 2.5rem 5rem}}@media(max-width:768px){.events-hero-banner{padding:3rem 1.5rem 2.5rem}.events-body{padding:2.5rem 1.5rem 4rem}.upcoming-event-card{grid-template-columns:1fr;gap:1.25rem}.events-grid{grid-template-columns:1fr}.events-past-header{flex-direction:column;align-items:flex-start;gap:.5rem}.events-hero-cta{flex-direction:column;align-items:flex-start}}.donate-page{padding-top:72px;background:var(--cream)}.donate-page .dp-page-header{background:var(--burgundy-deep);padding:3rem 5rem 2.5rem;border-bottom:1px solid rgba(201,168,76,.15)}.donate-page .dp-page-title{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:900;color:var(--cream);line-height:1.1;letter-spacing:-.02em;margin:.5rem 0 0}.donate-page .dp-page-title em{font-style:italic;color:var(--gold)}.dp-section{padding:2.5rem 5rem;border-bottom:1px solid rgba(107,15,26,.08)}.dp-photos{padding:2rem 5rem;border-bottom:1px solid rgba(107,15,26,.08)}.dp-photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.dp-photo-slot{height:200px;background:#6b0f1a0d;border:1.5px dashed rgba(107,15,26,.18);border-radius:2px;display:flex;align-items:center;justify-content:center}.dp-photo-slot span{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light)}.dp-intro{padding:2rem 5rem;text-align:center;border-bottom:1px solid rgba(107,15,26,.08)}.dp-intro-headline{font-size:1.05rem;font-weight:600;color:var(--burgundy);margin-bottom:.5rem;line-height:1.5}.dp-intro-sub{font-size:.9rem;color:var(--text-mid)}.dp-thankyou{padding:2rem 5rem;border-bottom:1px solid rgba(107,15,26,.08)}.dp-thankyou-title{font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700;color:var(--burgundy);margin-bottom:.75rem}.dp-thankyou p{font-size:.9rem;color:var(--text-mid);line-height:1.7;max-width:640px}.dp-embed-placeholder{margin-top:1rem;border:2px dashed rgba(107,15,26,.18);border-radius:2px;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--off-white);text-align:center;padding:2rem;gap:.5rem}.dp-embed-label{font-family:Playfair Display,serif;font-size:1rem;font-weight:700;color:var(--text-mid)}.dp-embed-sub{font-size:.8rem;color:var(--text-light);max-width:420px;line-height:1.6}.dp-other{background:var(--off-white)}.dp-methods-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem;margin-bottom:1.5rem}.dp-method-card{background:var(--cream);border:1px solid rgba(107,15,26,.1);border-left:3px solid var(--gold);border-radius:2px;padding:1.5rem 1.75rem}.dp-method-title{font-family:Playfair Display,serif;font-size:1.05rem;font-weight:700;color:var(--burgundy-dark);margin-bottom:.6rem}.dp-method-intro{font-size:.83rem;color:var(--text-mid);line-height:1.6;margin-bottom:1rem}.dp-method-details{display:flex;flex-direction:column;gap:.3rem}.dp-method-details p{font-size:.85rem;color:var(--text-mid);line-height:1.5;margin:0}.dp-method-details strong{color:var(--text-dark);font-weight:600}.dp-tax-note{font-size:.78rem;color:var(--text-light);font-style:italic;line-height:1.6}@media(max-width:1024px){.donate-page .dp-page-header,.dp-photos,.dp-intro,.dp-thankyou,.dp-section{padding-left:2.5rem;padding-right:2.5rem}}@media(max-width:768px){.donate-page .dp-page-header,.dp-photos,.dp-intro,.dp-thankyou,.dp-section{padding-left:1.5rem;padding-right:1.5rem}.dp-photo-row,.dp-methods-grid{grid-template-columns:1fr}}.tickets-page .tickets-hero{padding-bottom:0}.tickets-page .tickets-btn-outline{display:inline-block;padding:.75rem 1.6rem;border:1.5px solid rgba(250,246,240,.42);color:var(--cream);font-size:.78rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:border-color .2s,color .2s}.tickets-page .tickets-btn-outline:hover{border-color:var(--gold);color:var(--gold)}.tickets-page .tickets-event-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:2rem;background:#c9a84c2e;border-top:2px solid rgba(201,168,76,.32)}.tickets-page .tickets-event-item{background:#0000002e;padding:1rem 1.2rem;display:flex;align-items:flex-start;gap:.75rem;transition:background .2s}.tickets-page .tickets-event-item:hover{background:#00000047}.tickets-page .tickets-event-item>span:first-child{font-size:1.2rem;flex-shrink:0;margin-top:.05rem}.tickets-page .tickets-event-item div{display:flex;flex-direction:column;gap:.15rem}.tickets-page .tickets-event-item strong{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:block}.tickets-page .tickets-event-item span:last-child{font-size:.82rem;color:#faf6f0bf;line-height:1.4}.tickets-page .tickets-options{margin-top:1.5rem;background:var(--cream);border:1px solid rgba(107,15,26,.1);box-shadow:var(--marketing-shadow);padding:2.5rem}.tickets-page .tickets-options-label{margin-bottom:1.5rem}.tickets-page .b26-label{font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy);display:flex;align-items:center;gap:.6rem}.tickets-page .b26-label:before{content:"";display:block;width:28px;height:2px;background:var(--gold);flex-shrink:0}.tickets-page .tickets-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#6b0f1a1a;border:1px solid rgba(107,15,26,.1);margin-bottom:1.5rem}.tickets-page .tickets-tier-card{background:var(--off-white);padding:1.75rem 1.5rem;position:relative;transition:background .2s,transform .2s;overflow:hidden}.tickets-page .tickets-tier-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .3s}.tickets-page .tickets-tier-card:hover{background:var(--cream);transform:translateY(-2px);box-shadow:0 8px 24px #6b0f1a14}.tickets-page .tickets-tier-card:hover:after{transform:scaleX(1)}.tickets-page .tickets-tier-icon{font-size:2rem;display:block;margin-bottom:.9rem}.tickets-page .tickets-tier-card h3{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;color:var(--burgundy-dark);margin:0 0 .6rem;line-height:1.25}.tickets-page .tickets-tier-card p{font-size:.84rem;color:var(--text-mid);line-height:1.65;margin:0}.tickets-page .tickets-form-note{font-size:.8rem;color:var(--text-light);font-style:italic;text-align:center;margin:0}.tickets-page .tickets-form-section{margin-top:1.5rem;background:var(--cream);border:1px solid rgba(107,15,26,.1);box-shadow:var(--marketing-shadow);padding:2.5rem}.tickets-page .tickets-form-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(107,15,26,.08)}.tickets-page .tickets-form-heading{font-family:Playfair Display,serif;font-size:clamp(1.5rem,2.8vw,2rem);font-weight:900;color:var(--burgundy-dark);line-height:1.15;letter-spacing:-.02em;margin:.5rem 0 .6rem}.tickets-page .tickets-form-sub{font-size:.88rem;color:var(--text-mid);line-height:1.6;margin:0}.tickets-page .tickets-form-sub a{color:var(--burgundy);text-decoration:underline;text-underline-offset:2px}.tickets-page .tickets-form-sub a:hover{color:var(--gold)}.tickets-page .tickets-embed-wrap{border:1px solid rgba(107,15,26,.12);box-shadow:0 2px 0 0 var(--gold),0 8px 32px #6b0f1a14;background:#fff;overflow:hidden}.tickets-page .tickets-embed-wrap iframe{display:block;width:100%;border:none;min-height:600px}.tickets-page .tickets-bottom-cta{margin-top:1.5rem}.tickets-page .tickets-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:2.5rem;flex-wrap:wrap}.tickets-page .tickets-bottom-heading{font-family:Playfair Display,serif;font-size:clamp(1.3rem,2.5vw,1.9rem);font-weight:900;color:var(--cream);line-height:1.2;margin:0 0 .6rem}.tickets-page .tickets-bottom-actions{display:flex;gap:.8rem;flex-shrink:0;flex-wrap:wrap}@media(max-width:900px){.tickets-page .tickets-event-strip{grid-template-columns:1fr}.tickets-page .tickets-options,.tickets-page .tickets-form-section{padding:1.75rem 1.2rem}.tickets-page .tickets-grid{grid-template-columns:repeat(2,1fr)}.tickets-page .tickets-bottom-inner{flex-direction:column;align-items:flex-start}}@media(max-width:560px){.tickets-page .tickets-grid{grid-template-columns:1fr}.tickets-page .tickets-bottom-actions{flex-direction:column;width:100%}.tickets-page .tickets-bottom-actions a{text-align:center}}.benefit-2026-page .b26-hero-extended{padding-bottom:2rem}.benefit-2026-page .b26-btn-outline-hero{display:inline-block;padding:.75rem 1.6rem;border:1.5px solid rgba(250,246,240,.45);color:var(--cream);font-size:.78rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:border-color .2s,color .2s}.benefit-2026-page .b26-btn-outline-hero:hover{border-color:var(--gold);color:var(--gold)}.benefit-2026-page .b26-hero-details{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:2rem;background:#c9a84c2e;border:1px solid rgba(201,168,76,.18);border-top:2px solid rgba(201,168,76,.35)}.benefit-2026-page .b26-hero-detail{background:#0000002e;padding:1rem 1.1rem;display:flex;align-items:flex-start;gap:.75rem;transition:background .2s}.benefit-2026-page .b26-hero-detail:hover{background:#00000047}.benefit-2026-page .b26-hero-detail-icon{font-size:1.2rem;flex-shrink:0;margin-top:.05rem}.benefit-2026-page .b26-hero-detail-text{display:flex;flex-direction:column;gap:.15rem}.benefit-2026-page .b26-hero-detail-label{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.benefit-2026-page .b26-hero-detail-value{font-size:.82rem;color:#faf6f0c7;line-height:1.4}.benefit-2026-page .b26-story-section{margin-top:1.5rem;background:var(--cream);border:1px solid rgba(107,15,26,.1);box-shadow:var(--marketing-shadow);padding:2.5rem}.benefit-2026-page .b26-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}.benefit-2026-page .b26-label{font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy);margin-bottom:.75rem;display:flex;align-items:center;gap:.6rem}.benefit-2026-page .b26-label:before{content:"";display:block;width:28px;height:2px;background:var(--gold);flex-shrink:0}.benefit-2026-page .b26-story-heading{font-family:Playfair Display,serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:900;color:var(--burgundy-dark);line-height:1.15;letter-spacing:-.02em;margin:0 0 1.5rem}.benefit-2026-page .b26-story-heading em{font-style:italic;color:var(--burgundy-light)}.benefit-2026-page .b26-story-copy{display:grid;gap:1rem;margin-bottom:1.75rem}.benefit-2026-page .b26-story-copy p{font-family:Cormorant Garamond,serif;font-size:1.15rem;font-weight:300;line-height:1.78;color:var(--text-mid);margin:0}.benefit-2026-page .b26-callout{display:flex;align-items:flex-start;gap:1rem;background:var(--off-white);border:1px solid rgba(107,15,26,.1);border-left:3px solid var(--gold);padding:1.1rem 1.3rem;margin-bottom:1.75rem}.benefit-2026-page .b26-callout-icon{font-size:1.4rem;flex-shrink:0;line-height:1;margin-top:.1rem}.benefit-2026-page .b26-callout strong{display:block;font-size:.86rem;font-weight:700;color:var(--burgundy-dark);margin-bottom:.2rem}.benefit-2026-page .b26-callout span{font-size:.82rem;color:var(--text-mid);line-height:1.55;display:block}.benefit-2026-page .b26-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#6b0f1a1a;border:1px solid rgba(107,15,26,.1);margin-bottom:2rem}.benefit-2026-page .b26-stat{background:var(--off-white);padding:1rem;text-align:center}.benefit-2026-page .b26-stat strong{display:block;font-family:Playfair Display,serif;font-size:1.9rem;font-weight:900;color:var(--burgundy);line-height:1}.benefit-2026-page .b26-stat span{display:block;font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);margin-top:.3rem}.benefit-2026-page .b26-story-actions{display:flex;gap:.8rem;flex-wrap:wrap}.benefit-2026-page .b26-image-col{position:sticky;top:5.5rem}.benefit-2026-page .b26-image-frame{position:relative;margin:0;border:1px solid rgba(107,15,26,.15);box-shadow:0 2px 0 0 var(--gold),0 24px 56px #6b0f1a29;overflow:hidden;background:var(--burgundy-deep);transition:box-shadow .35s ease}.benefit-2026-page .b26-image-frame:hover{box-shadow:0 2px 0 0 var(--gold),0 32px 72px #6b0f1a38}.benefit-2026-page .b26-corner{position:absolute;width:18px;height:18px;z-index:2;pointer-events:none}.benefit-2026-page .b26-corner--tl{top:8px;left:8px;border-top:2px solid var(--gold);border-left:2px solid var(--gold)}.benefit-2026-page .b26-corner--tr{top:8px;right:8px;border-top:2px solid var(--gold);border-right:2px solid var(--gold)}.benefit-2026-page .b26-corner--bl{bottom:8px;left:8px;border-bottom:2px solid var(--gold);border-left:2px solid var(--gold)}.benefit-2026-page .b26-corner--br{bottom:8px;right:8px;border-bottom:2px solid var(--gold);border-right:2px solid var(--gold)}.benefit-2026-page .b26-image{display:block;width:100%;height:auto;transition:transform .5s ease}.benefit-2026-page .b26-image-frame:hover .b26-image{transform:scale(1.025)}.benefit-2026-page .b26-image-caption{font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);text-align:center;margin:.65rem 0 0}.benefit-2026-page .b26-cta-card{margin-top:1.5rem}.benefit-2026-page .b26-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2.5rem;flex-wrap:wrap}.benefit-2026-page .b26-cta-heading{font-family:Playfair Display,serif;font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:900;color:var(--cream);line-height:1.2;margin:0 0 .6rem}.benefit-2026-page .b26-cta-heading em{font-style:italic;color:var(--gold)}.benefit-2026-page .b26-cta-actions{display:flex;gap:.8rem;flex-shrink:0;flex-wrap:wrap}@media(max-width:900px){.benefit-2026-page .b26-hero-details{grid-template-columns:repeat(2,1fr)}.benefit-2026-page .b26-story-section{padding:1.75rem 1.2rem}.benefit-2026-page .b26-story-grid{grid-template-columns:1fr;gap:2.5rem}.benefit-2026-page .b26-image-col{position:static}.benefit-2026-page .b26-cta-inner{flex-direction:column;align-items:flex-start}}@media(max-width:560px){.benefit-2026-page .b26-hero-details{grid-template-columns:1fr}.benefit-2026-page .b26-stats{grid-template-columns:repeat(3,1fr)}.benefit-2026-page .b26-story-actions,.benefit-2026-page .b26-cta-actions{flex-direction:column}}.book-page{background:var(--cream);min-height:100vh;padding-top:72px}.book-hero-banner{background:var(--burgundy-deep);position:relative;overflow:hidden;padding:5rem 5rem 4.5rem;border-bottom:1px solid rgba(201,168,76,.15)}.book-hero-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 90% at 90% 50%,rgba(107,15,26,.55) 0%,transparent 70%),radial-gradient(ellipse 40% 50% at 5% 90%,rgba(201,168,76,.07) 0%,transparent 60%);pointer-events:none}.book-hero-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto;align-items:end;gap:4rem}.book-hero-label{font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,168,76,.35);padding:.35rem .9rem;border-radius:1px;display:inline-block;margin-bottom:1.25rem}.book-hero-title{font-family:Playfair Display,serif;font-size:clamp(3rem,5.5vw,5rem);font-weight:900;color:var(--cream);line-height:1;letter-spacing:-.02em;margin-bottom:1.1rem}.book-hero-title em{font-style:italic;color:var(--gold)}.book-hero-sub{font-family:Cormorant Garamond,serif;font-size:1.15rem;font-weight:300;color:#faf6f099;line-height:1.65;max-width:440px;margin-bottom:2.25rem}.book-hero-btn{padding:.9rem 2.2rem;background:var(--gold);color:var(--burgundy-dark);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:2px;display:inline-block;transition:all .25s;box-shadow:0 4px 20px #c9a84c40}.book-hero-btn:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 28px #c9a84c59}.book-hero-right{display:flex;flex-direction:column;gap:1px;background:#c9a84c1f;border:1px solid rgba(201,168,76,.18);border-radius:2px;overflow:hidden;min-width:180px}.book-stat-card{background:#2d060999;padding:1.25rem 1.75rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;transition:background .2s}.book-stat-card:hover{background:#6b0f1ab3}.book-stat-number{font-family:Playfair Display,serif;font-size:2rem;font-weight:900;color:var(--gold);line-height:1}.book-stat-label{font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#faf6f080}.book-body{max-width:1200px;margin:0 auto;padding:4rem 5rem 6rem}.ev-section-label{font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem;display:flex;align-items:center;gap:.75rem}.ev-section-label:after{content:"";flex:1;max-width:48px;height:1px;background:#c9a84c59}.book-section-title{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;color:var(--burgundy-dark);line-height:1.2;margin-bottom:1.5rem}.book-section-title em{font-style:italic;color:var(--burgundy-light)}.book-about{display:grid;grid-template-columns:1fr 1fr;gap:5rem;margin-bottom:4.5rem;padding-bottom:4.5rem;border-bottom:1px solid rgba(107,15,26,.1)}.book-body-text{font-size:.93rem;color:var(--text-mid);line-height:1.8;margin-bottom:1rem}.book-body-text--emphasis{font-family:Cormorant Garamond,serif;font-size:1.05rem;font-style:italic;color:var(--burgundy);margin-top:1.5rem;margin-bottom:0}.book-highlights{list-style:none;padding:0;margin:0 0 2rem}.book-highlight-item{display:flex;align-items:center;gap:.75rem;padding:.55rem 0;border-bottom:1px solid rgba(107,15,26,.06);font-size:.86rem;color:var(--text-mid)}.book-highlight-item:last-child{border-bottom:none}.book-highlight-icon{font-size:.55rem;color:var(--gold);flex-shrink:0}.book-divider{height:1px;background:#6b0f1a1a;margin:1.75rem 0}.book-notable-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#6b0f1a14;border:1px solid rgba(107,15,26,.08);border-radius:2px;overflow:hidden}.book-notable-card{background:var(--cream);padding:.9rem 1.1rem;display:flex;flex-direction:column;gap:.2rem;transition:background .15s;position:relative}.book-notable-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transform-origin:bottom;transition:transform .2s ease}.book-notable-card:hover{background:var(--off-white)}.book-notable-card:hover:before{transform:scaleY(1)}.book-notable-name{font-family:Playfair Display,serif;font-size:.85rem;font-weight:700;color:var(--burgundy-dark);line-height:1.3}.book-notable-detail{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.book-form-section{background:var(--off-white);border:1px solid rgba(107,15,26,.08);border-radius:2px;padding:3rem 3.5rem 3.5rem}.book-form-header{max-width:580px;margin-bottom:2.5rem}.book-form-sub{font-family:Cormorant Garamond,serif;font-size:1.05rem;font-weight:300;color:var(--text-mid);line-height:1.75;margin-top:-.5rem}.book-form-frame-wrap{width:100%;border:1px solid rgba(107,15,26,.1);border-radius:2px;overflow:hidden;background:#fff}.book-form-iframe{width:100%;height:700px;border:none;display:block}.book-form-fallback{margin-top:2rem;padding-top:1.75rem;border-top:1px solid rgba(107,15,26,.08);display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.book-fallback-text{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light)}.book-fallback-contacts{display:flex;gap:1.5rem;flex-wrap:wrap}.book-contact-link{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--burgundy);text-decoration:none;font-weight:500;transition:color .2s}.book-contact-link:hover{color:var(--gold)}.book-contact-icon{font-size:.82rem;color:var(--gold)}@media(max-width:1024px){.book-hero-banner{padding:4rem 2.5rem 3.5rem}.book-hero-inner{grid-template-columns:1fr;gap:2.5rem}.book-hero-right{flex-direction:row;min-width:unset}.book-stat-card{flex:1}.book-body{padding:3rem 2.5rem 5rem}.book-about{grid-template-columns:1fr;gap:3rem}}@media(max-width:768px){.book-hero-banner{padding:3rem 1.5rem 2.5rem}.book-body{padding:2.5rem 1.5rem 4rem}.book-hero-right{flex-direction:column}.book-notable-grid{grid-template-columns:1fr}.book-form-section{padding:2rem 1.5rem 2.5rem}.book-form-iframe{height:560px}.book-form-fallback{flex-direction:column;align-items:flex-start;gap:1rem}}.supporters-page{padding-top:72px;background:var(--cream)}.supporters-page .sp-page-header{background:var(--burgundy-deep);padding:3rem 5rem 2.5rem;border-bottom:1px solid rgba(201,168,76,.15)}.supporters-page .sp-page-title{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:900;color:var(--cream);line-height:1.1;letter-spacing:-.02em;margin:.5rem 0 0}.supporters-page .sp-page-title em{font-style:italic;color:var(--gold)}.sp-intro{padding:1.75rem 5rem;border-bottom:1px solid rgba(107,15,26,.08)}.sp-intro p{font-size:.92rem;color:var(--text-mid);line-height:1.65;margin:0}.sp-section{padding:2.5rem 5rem;border-bottom:1px solid rgba(107,15,26,.08)}.sp-section--alt{background:var(--off-white)}.sp-logo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.25rem}.sp-logo-card{background:var(--cream);border:1px solid rgba(107,15,26,.09);border-radius:2px;padding:1.25rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;transition:box-shadow .2s}.sp-logo-card:hover{box-shadow:0 4px 16px #6b0f1a14}.sp-logo-img-slot{width:100%;height:64px;background:#6b0f1a0a;border:1.5px dashed rgba(107,15,26,.16);border-radius:2px;display:flex;align-items:center;justify-content:center}.sp-logo-img-slot span{font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);text-align:center;padding:0 .5rem;line-height:1.4}.sp-logo-name-only{width:100%;height:64px;background:var(--off-white);border-radius:2px;display:flex;align-items:center;justify-content:center;padding:0 .75rem}.sp-logo-name-only span{font-family:Playfair Display,serif;font-size:.88rem;font-weight:700;color:var(--burgundy-dark);text-align:center;line-height:1.3}.sp-logo-card-name{font-size:.75rem;font-weight:600;color:var(--text-mid);margin:0;line-height:1.35}.sp-logo-card-note{font-family:Cormorant Garamond,serif;font-size:.78rem;font-style:italic;color:var(--text-light);margin:0;line-height:1.5}.sp-business-list{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid rgba(107,15,26,.09);border-radius:2px;overflow:hidden}.sp-business-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;background:var(--cream);border-bottom:1px solid rgba(107,15,26,.07);border-right:1px solid rgba(107,15,26,.07);font-family:Playfair Display,serif;font-size:.88rem;font-weight:700;color:var(--burgundy-dark);transition:background .15s;position:relative}.sp-business-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);transform:scaleY(0);transform-origin:bottom;transition:transform .2s}.sp-business-item:hover{background:var(--off-white)}.sp-business-item:hover:before{transform:scaleY(1)}.sp-business-item:nth-child(2n){border-right:none}.sp-diamond{color:var(--gold);font-size:.55rem;flex-shrink:0}.sp-cta-btns{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem}@media(max-width:1024px){.supporters-page .sp-page-header,.sp-intro,.sp-section{padding-left:2.5rem;padding-right:2.5rem}.sp-logo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.supporters-page .sp-page-header,.sp-intro,.sp-section{padding-left:1.5rem;padding-right:1.5rem}.sp-logo-grid,.sp-business-list{grid-template-columns:1fr}.sp-business-item{border-right:none}.sp-cta-btns{flex-direction:column}}.login-container{display:flex;justify-content:center;align-items:center;position:fixed;inset:0;width:100%;height:100%;margin:0;padding:0;background:linear-gradient(135deg,#800020,#4a0000);overflow:hidden}.login-card{background:#fffffff2;padding:40px;border-radius:10px;box-shadow:0 10px 25px #0000004d;width:100%;max-width:400px;border:2px solid #800020}.login-card h2{margin-bottom:30px;text-align:center;color:#800020;font-weight:600}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#4a0000;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;font-size:16px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#800020;box-shadow:0 0 0 2px #80002033}html[data-theme=dark] .login-card .form-group label{color:#4a0000}html[data-theme=dark] .login-card .form-group input{color:#2d2d2d;background-color:#fff}html[data-theme=dark] .login-card .form-group input::placeholder{color:#777}.error-message{color:#8b0000;margin-bottom:15px;padding:10px;background:#ffe5e5;border-radius:5px;font-size:14px;border:1px solid #8b0000}.login-button{width:100%;padding:12px;background:#800020;color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.login-button:hover:not(:disabled){background:#600018}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-back-link-wrap{margin-top:.85rem;text-align:center}.login-back-link{color:#800020;font-size:.9rem;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(128,0,32,.3);padding-bottom:2px}.login-back-link:hover{color:#600018;border-bottom-color:#600018}.navbar{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:80px;padding:.25rem 0;position:relative;flex-wrap:wrap}.navbar-left{display:flex;align-items:center;flex:1;gap:1rem}.navbar-brand-link{text-decoration:none;display:inline-flex;align-items:baseline;gap:.2rem;line-height:1;white-space:nowrap}.navbar-brand-primary{color:#800020;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.2rem,1.9vw,1.95rem);font-weight:700}.navbar-brand-accent{color:#b08a2e;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.2rem,1.9vw,1.95rem);font-weight:700}.navbar-desktop{display:flex;align-items:center;gap:1rem;margin-left:auto}.navbar-settings-link{color:#800020;font-size:.9rem;font-weight:500;text-decoration:none;white-space:nowrap;padding:.35rem .6rem;border-radius:4px;transition:background-color .2s,color .2s}.navbar-settings-link:hover{background-color:#8000201a;color:#600018}.user-name{color:#800020;font-size:.95rem;font-weight:600;white-space:nowrap}.logout-button{background-color:#800020;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s;white-space:nowrap;min-height:44px}.logout-button:hover{background-color:#600018}.logout-button:active{background-color:#4a0000}.logout-button:disabled{opacity:.6;cursor:not-allowed}.navbar-hamburger{display:none;background:none;border:none;cursor:pointer;padding:.5rem;min-width:44px;min-height:44px;align-items:center;justify-content:center;border-radius:4px}.navbar-hamburger:hover{background-color:#80002014}.hamburger-icon{display:flex;flex-direction:column;gap:5px;width:22px}.hamburger-icon span{display:block;height:2px;background-color:#800020;border-radius:2px;transition:transform .2s,opacity .2s;transform-origin:center}.hamburger-icon.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-icon.open span:nth-child(2){opacity:0}.hamburger-icon.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar-mobile-menu{display:none;position:absolute;top:100%;right:0;left:0;background:#fff;border-top:1px solid #e0e0e0;border-bottom:2px solid #800020;box-shadow:0 4px 12px #0000001f;z-index:200;flex-direction:column;padding:.75rem 1rem;gap:.5rem}.navbar-mobile-username{color:#800020;font-weight:600;font-size:.95rem;padding:.4rem 0;border-bottom:1px solid #eee;margin-bottom:.25rem}.navbar-mobile-link{display:block;color:#800020;font-size:1rem;font-weight:500;text-decoration:none;padding:.65rem .5rem;border-radius:4px;min-height:44px;display:flex;align-items:center}.navbar-mobile-link:hover{background-color:#80002014}.navbar-mobile-logout{background-color:#800020;color:#fff;border:none;padding:.65rem 1rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;min-height:44px;text-align:left}.navbar-mobile-logout:hover{background-color:#600018}html[data-theme=dark] .navbar{background-color:transparent;box-shadow:none}html[data-theme=dark] .navbar-settings-link{color:#ffd7e5}html[data-theme=dark] .navbar-brand-primary{color:#fff5f8}html[data-theme=dark] .navbar-brand-accent{color:#d9b153}html[data-theme=dark] .navbar-settings-link:hover{background-color:#80002059;color:#fff}html[data-theme=dark] .user-name,html[data-theme=dark] .navbar-mobile-username{color:#ffd7e5}html[data-theme=dark] .hamburger-icon span{background-color:#ffd7e5}html[data-theme=dark] .navbar-mobile-menu{background:#09090efa;border-top-color:#ffffff0f;border-bottom-color:#800020d9;box-shadow:0 14px 35px #000000bf}html[data-theme=dark] .navbar-mobile-link{color:#ffd7e5}html[data-theme=dark] .navbar-mobile-link:hover{background-color:#80002080}@media(max-width:600px){.navbar{min-height:64px;padding:.25rem 0}.navbar-brand-primary,.navbar-brand-accent{font-size:1.45rem}.navbar-desktop{display:none}.navbar-hamburger,.navbar-mobile-menu{display:flex}}.calendar-container{width:100%;max-width:1100px;margin:0 auto;box-sizing:border-box;overflow-x:hidden}.calendar-content-row{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start;margin-bottom:1.5rem}.calendar-grid-wrapper{flex:1 1 0;min-width:280px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.calendar-nav-button{background-color:#800020;color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background-color .2s;flex-shrink:0}.calendar-nav-button:hover{background-color:#600018}.calendar-month-year h2{margin:0;color:#800020;font-size:1.5rem;font-weight:600}.calendar-today-button-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-today-button{background-color:#f5f5f5;color:#800020;border:1px solid #800020;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;min-height:44px}.calendar-today-button:hover{background-color:#800020;color:#fff}.calendar-add-event-button{background-color:#800020;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;min-height:44px}.calendar-add-event-button:hover{background-color:#600018}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;margin-bottom:1.5rem;width:100%;box-sizing:border-box}.calendar-day-header{text-align:center;font-weight:600;color:#800020;padding:.75rem;font-size:.9rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;cursor:pointer;border-radius:4px;font-size:.95rem;transition:all .2s;background-color:#f9f9f9;border:1px solid transparent;padding:.25rem;min-height:80px;min-width:0;box-sizing:border-box}.calendar-day:hover:not(.empty){background-color:#8000201a;border-color:#800020}.calendar-day.has-events{background-color:#fff3e0}.calendar-day.today{background-color:#800020;color:#fff;font-weight:600}.calendar-day.today.has-events{background-color:#800020;color:#fff}.calendar-day.selected:not(.today){background-color:#80002033;border:2px solid #800020;font-weight:600}.calendar-day.empty{cursor:default;background-color:transparent}.calendar-day-events{display:flex;flex-direction:column;gap:3px;margin-top:4px;width:100%;max-height:70px;overflow-y:auto}.calendar-event-indicator{background-color:#800020;color:#fff;font-size:.75rem;padding:4px 6px;border-radius:3px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center;font-weight:500;margin-bottom:2px;box-sizing:border-box}.calendar-day.today .calendar-event-indicator{background-color:#ffffff4d;color:#fff}.calendar-event-indicator:hover{background-color:#600018}.calendar-event-more{font-size:.65rem;color:#800020;font-weight:600;text-align:center}.calendar-day.today .calendar-event-more{color:#fff}.calendar-events-sidebar{flex:0 0 auto;width:100%;max-width:320px;min-width:260px}.calendar-month-events{margin-bottom:0;padding:1rem;background-color:#fafafa;border-radius:8px;border:1px solid #e8e8e8}.calendar-month-events-title{margin:0 0 .75rem;color:#800020;font-size:1.1rem;font-weight:600}.calendar-month-events-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.calendar-month-event-item{margin:0}.calendar-month-event-button{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;width:100%;padding:.6rem .75rem;text-align:left;background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background-color .2s,border-color .2s;min-height:44px}.calendar-month-event-button:hover{background-color:#80002014;border-color:#800020}.calendar-month-event-date{color:#555;font-weight:500;min-width:100px}.calendar-month-event-title{flex:1;color:#333;font-weight:600}.calendar-month-event-time{color:#666;font-size:.85rem}.calendar-no-events{margin:0 0 1rem;color:#666;font-size:.95rem}.calendar-error{background-color:#ffebee;color:#c62828;padding:.75rem;border-radius:4px;margin-bottom:1rem;text-align:center}.calendar-selected-info{padding-top:1rem;border-top:1px solid #e0e0e0;text-align:center}.calendar-selected-info p{margin:0;color:#800020;font-weight:500}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;color:#800020}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#666;line-height:1;padding:0;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#800020}.modal-body{padding:1.5rem}.event-detail-item{margin-bottom:1rem}.event-detail-item strong{display:block;color:#800020;margin-bottom:.25rem}.event-detail-item p{margin:.5rem 0 0;color:#333}html[data-theme=dark] .calendar-day{background-color:#ffffff0a;border-color:#ffffff0f;color:#ffffffe6}html[data-theme=dark] .calendar-month-year h2,html[data-theme=dark] .calendar-day-header,html[data-theme=dark] .calendar-month-events-title,html[data-theme=dark] .calendar-selected-info p,html[data-theme=dark] .modal-header h2{color:#ffd7e5}html[data-theme=dark] .calendar-day.has-events{background-color:#fff3e014}html[data-theme=dark] .calendar-day:hover:not(.empty){background-color:#80002052;border-color:#ffffff59}html[data-theme=dark] .calendar-month-events{background-color:#ffffff0a;border-color:#ffffff24}html[data-theme=dark] .calendar-month-event-button{background:#ffffff0a;border-color:#ffffff29}html[data-theme=dark] .calendar-month-event-button:hover{background-color:#80002080;border-color:#fff6}html[data-theme=dark] .calendar-month-event-date,html[data-theme=dark] .calendar-month-event-title,html[data-theme=dark] .calendar-month-event-time,html[data-theme=dark] .calendar-no-events{color:#ffffffd1}html[data-theme=dark] .modal-content{background-color:#08080d;box-shadow:0 18px 40px #000000d9}html[data-theme=dark] .modal-header{border-bottom-color:#ffffff1f}html[data-theme=dark] .modal-body{color:#ffffffe6}html[data-theme=dark] .event-detail-item strong{color:#ffd7e5}html[data-theme=dark] .event-detail-item p{color:#ffffffdb}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:max(1rem,16px);font-family:inherit;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#800020}.error-message{background-color:#ffebee;color:#c62828;padding:.75rem;border-radius:4px;margin-bottom:1rem}.btn-submit,.btn-cancel,.btn-delete{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s;min-height:44px}.btn-submit{background-color:#800020;color:#fff}.btn-submit:hover:not(:disabled){background-color:#600018}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{background-color:#f5f5f5;color:#333}.btn-cancel:hover{background-color:#e0e0e0}.btn-delete{background-color:#c62828;color:#fff}.btn-delete:hover{background-color:#b71c1c}@media(max-width:768px){.calendar-content-row{flex-direction:column;align-items:stretch}.calendar-grid-wrapper,.calendar-events-sidebar{min-width:0;max-width:100%;width:100%}.calendar-grid{width:100%}}@media(max-width:600px){.calendar-header{margin-bottom:1rem}.calendar-month-year h2{font-size:1.1rem}.calendar-today-button-container{flex-direction:row;gap:.5rem}.calendar-grid{gap:.15rem}.calendar-day-header{padding:.25rem .05rem;font-size:.7rem}.calendar-day{min-height:48px;font-size:.75rem;padding:.1rem}.calendar-day-events{max-height:30px;gap:2px}.calendar-event-indicator{font-size:.6rem;padding:2px}.modal-overlay{align-items:flex-end;padding:0}.modal-content{width:100%;max-width:100%;max-height:92vh;border-radius:16px 16px 0 0}}.rich-text-editor-wrap{border-radius:4px;overflow:hidden;background:#fff;border:1px solid #ddd}.rich-text-editor-wrap.tiptap-loading{min-height:var(--editor-min-height, 180px)}.tiptap-toolbar-placeholder,.tiptap-editor-placeholder{height:40px;background:#f9f9f9}.tiptap-editor-placeholder{height:calc(var(--editor-min-height, 180px) - 40px);min-height:140px}.tiptap-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:8px 10px;background:#f9f9f9;border-bottom:1px solid #ddd}.tiptap-toolbar-select{padding:4px 8px;margin-right:6px;border:1px solid #ccc;border-radius:4px;font-size:.9rem;background:#fff;color:#333}.tiptap-toolbar-select:focus{outline:none;border-color:#800020}.tiptap-toolbar button{padding:6px 10px;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;font-size:.95rem;color:#666}.tiptap-toolbar button:hover{background:#e8e8e8;color:#800020}.tiptap-toolbar button.active{background:#8000201f;color:#800020}.tiptap-toolbar-divider{width:1px;height:20px;background:#ddd;margin:0 4px}.tiptap-toolbar-url-btn{font-size:.85rem;padding:6px 8px}.tiptap-image-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.tiptap-editor-wrap{min-height:var(--editor-min-height, 180px)}.tiptap-editor-wrap .ProseMirror{min-height:var(--editor-min-height, 180px);padding:12px 14px;font-size:1rem;font-family:inherit;line-height:1.6;outline:none}.tiptap-editor-wrap .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#999;pointer-events:none;height:0}.tiptap-editor-wrap .ProseMirror ul,.tiptap-editor-wrap .ProseMirror ol{padding-left:1.5rem}.tiptap-editor-wrap .ProseMirror a{color:#800020;text-decoration:underline}.tiptap-editor-wrap .ProseMirror img{max-width:100%;height:auto;border-radius:4px}.announcement-content-rendered{line-height:1.6;color:#333}.announcement-content-rendered p{margin:0 0 .75rem}.announcement-content-rendered p:last-child{margin-bottom:0}.announcement-content-rendered h1,.announcement-content-rendered h2,.announcement-content-rendered h3{margin:1rem 0 .5rem;color:#800020}.announcement-content-rendered ul,.announcement-content-rendered ol{margin:.5rem 0;padding-left:1.5rem}.announcement-content-rendered a{color:#800020;text-decoration:underline}.announcement-content-rendered a:hover{color:#600018}.announcement-content-rendered img{max-width:100%;height:auto;border-radius:6px;margin:.5rem 0}html[data-theme=dark] .rich-text-editor-wrap{background:#09090efa;border-color:#ffffff2e}html[data-theme=dark] .tiptap-toolbar{background:#12121afa;border-bottom-color:#ffffff24}html[data-theme=dark] .tiptap-toolbar-select{background:#09090efa;border-color:#ffffff38;color:#ffffffe6}html[data-theme=dark] .tiptap-toolbar button{color:#ffffffdb}html[data-theme=dark] .tiptap-toolbar button:hover{background:#ffffff0f;color:#ffd7e5}html[data-theme=dark] .tiptap-toolbar button.active{background:#80002052;color:#ffd7e5}html[data-theme=dark] .tiptap-toolbar-divider{background:#ffffff2e}html[data-theme=dark] .tiptap-editor-wrap .ProseMirror{color:#ffffffeb}html[data-theme=dark] .tiptap-editor-wrap .ProseMirror p.is-editor-empty:first-child:before{color:#ffffff73}html[data-theme=dark] .tiptap-editor-wrap .ProseMirror a{color:#ffd7e5}html[data-theme=dark] .announcement-content-rendered{color:#ffffffe6}html[data-theme=dark] .announcement-content-rendered h1,html[data-theme=dark] .announcement-content-rendered h2,html[data-theme=dark] .announcement-content-rendered h3,html[data-theme=dark] .announcement-content-rendered a{color:#ffd7e5}.announcements-container{--announcement-burgundy: #800020;width:100%}.announcements-main-content{display:flex;gap:1.5rem;align-items:flex-start}.announcements-left-section{flex:1;min-width:0}.announcements-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.announcements-header h2{color:var(--announcement-burgundy);margin:0;font-size:1.5rem}.add-announcement-button{background-color:var(--announcement-burgundy);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background-color .2s;min-height:44px}.add-announcement-button:hover{background-color:#600018}.announcements-loading,.announcements-error{text-align:center;padding:1rem;color:#800020}.announcements-error{background-color:#ffe5e5;border:1px solid #800020;border-radius:4px;margin-bottom:1.5rem;color:#8b0000}.announcements-form-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background-color:#00000080;overflow-y:auto}.announcements-form-modal{width:100%;max-width:1200px;max-height:calc(100vh - 3rem);background-color:#fff;border:2px solid #800020;border-radius:10px;padding:1.5rem 2rem;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;overflow-y:auto}.announcements-form-modal h3{color:#800020;margin:0;font-size:1.25rem}.announcements-form{display:grid;gap:1rem;flex:1}.form-group input,.form-group textarea{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:max(1rem,16px);font-family:inherit;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#800020;box-shadow:0 0 0 2px #80002033}.submit-button{background-color:var(--announcement-burgundy);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s;flex:1;min-height:44px}.announcements-list{display:flex;flex-direction:column;gap:1.5rem}.announcement-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s}.announcement-card:hover{box-shadow:0 2px 6px #00000026}.announcement-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.announcement-header h3{color:var(--announcement-burgundy);margin:0;font-size:1.25rem;flex:1;min-width:0}.announcement-actions{display:flex;gap:.5rem;flex-shrink:0}.edit-announcement-button,.delete-announcement-button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s;min-height:44px}.edit-announcement-button{background-color:#f5f5f5;color:var(--announcement-burgundy);border:1px solid var(--announcement-burgundy)}.edit-announcement-button:hover,.delete-announcement-button{background-color:var(--announcement-burgundy);color:#fff}.delete-announcement-button:hover{background-color:#4a0000}.announcement-content{margin-bottom:1rem;color:#333;line-height:1.6}.announcement-content-rendered img{max-width:100%;height:auto}.announcement-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e0e0e0;font-size:.85rem;color:#666;flex-wrap:wrap;gap:.5rem}.announcement-author{font-weight:500}.no-announcements{text-align:center;padding:3rem 1rem;color:#666}.no-announcements p{margin:.5rem 0}@media(max-width:768px){.announcements-form-overlay{padding:0;align-items:flex-end}.announcements-form-modal{max-width:100%;max-height:95vh;border-radius:16px 16px 0 0;border-bottom:none;padding:1rem 1.25rem}.announcement-card{padding:1rem}.announcement-header h3{font-size:1.1rem}}html[data-theme=dark] .announcements-loading,html[data-theme=dark] .announcements-error,html[data-theme=dark] .announcements-header h2{color:#ffd7e5}html[data-theme=dark] .announcements-error{background-color:#b4000040;border-color:#ffc1c1e6}html[data-theme=dark] .announcements-form-modal{background-color:#09090efa;border-color:#800020d9}html[data-theme=dark] .announcements-form-modal h3{color:#fffffff5}html[data-theme=dark] .form-group label{color:#ffffffe6}html[data-theme=dark] .form-group input,html[data-theme=dark] .form-group textarea{background-color:#ffffff0a;border-color:#ffffff2e;color:#fffffff5}html[data-theme=dark] .announcement-card{background-color:#2a2d33;border-color:#fff3;box-shadow:0 8px 20px #00000059}html[data-theme=dark] .announcement-header h3{color:#fffffff5}html[data-theme=dark] .announcement-content,html[data-theme=dark] .announcement-footer{color:#ffffffdb}html[data-theme=dark] .edit-announcement-button{background-color:#ffffff0a;color:#ffd7e5;border-color:#ffffff4d}html[data-theme=dark] .edit-announcement-button:hover{background-color:#800020;color:#fff}@media(max-width:480px){.announcements-header{flex-direction:column;align-items:stretch}.add-announcement-button{width:100%;text-align:center}}.staff-directory-container{width:100%}.staff-directory-loading{padding:1rem;color:#666}.staff-directory-main{display:flex;gap:1.25rem}.staff-directory-left{flex:1;min-width:0}.staff-directory-left.with-form{flex:0 0 65%}.staff-directory-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.staff-directory-header h2{margin:0;color:#800020}.staff-directory-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.staff-directory-search{padding:.6rem .75rem;border:1px solid #ddd;border-radius:8px;min-width:min(320px,70vw);font-size:max(1rem,16px)}.staff-directory-add{background:#800020;color:#fff;border:none;border-radius:8px;padding:.6rem .9rem;cursor:pointer;font-weight:600;min-height:44px}.staff-directory-add:hover{filter:brightness(1.05)}.staff-directory-error{background:#ffe8ea;border:1px solid #ffb3bb;color:#7a0012;padding:.75rem;border-radius:8px;margin-bottom:1rem}.staff-directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.9rem}.staff-directory-empty{padding:1rem;color:#666}.staff-card{display:grid;grid-template-columns:88px 1fr;gap:.9rem;align-items:start;border:1px solid #eee;border-radius:12px;padding:.9rem;background:#fff}.staff-photo{width:88px;height:88px;border-radius:12px;overflow:hidden;background:#f2f2f2;border:1px solid #eee;display:flex;align-items:center;justify-content:center}.staff-photo img{width:100%;height:100%;object-fit:cover}.staff-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#800020;background:#8000200f}.staff-info{min-width:0}.staff-name{font-size:1.05rem;font-weight:800;color:#222;line-height:1.2}.staff-position{margin-top:.15rem;color:#800020;font-weight:600}.staff-contact{margin-top:.6rem;display:grid;gap:.35rem}.staff-contact-row{display:grid;grid-template-columns:56px 1fr;gap:.5rem;align-items:center;min-width:0}.staff-contact-row .label{color:#666;font-size:.9rem}.staff-contact-row a{color:#005ea6;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-contact-row a:hover{text-decoration:underline}.staff-details{color:#444;font-size:.95rem;line-height:1.35;margin-top:.3rem;white-space:pre-wrap}.staff-actions{grid-column:1 / -1;display:flex;gap:.5rem;justify-content:flex-end;margin-top:.25rem}.staff-edit,.staff-delete{border:1px solid #ddd;background:#fff;border-radius:8px;padding:.45rem .7rem;cursor:pointer;min-height:44px}.staff-delete{border-color:#ffb3bb;color:#7a0012}.staff-directory-form-wrapper{flex:0 0 35%;min-width:min(420px,92vw)}.staff-directory-form{position:sticky;top:96px;border:1px solid #eee;border-radius:12px;padding:1rem;background:#fff}html[data-theme=dark] .staff-directory-header h2{color:#fffffff5}html[data-theme=dark] .staff-directory-search{background-color:#ffffff0d;border-color:#fff3;color:#fffffff5}html[data-theme=dark] .staff-directory-empty{color:#ffffffd6}html[data-theme=dark] .staff-card{background:#ffffff0d;border-color:#ffffff24;box-shadow:0 14px 32px #000000b3}html[data-theme=dark] .staff-photo{background:#ffffff0f;border-color:#ffffff2e}html[data-theme=dark] .staff-name{color:#fffffff5}html[data-theme=dark] .staff-details{color:#ffffffd1}html[data-theme=dark] .staff-directory-form{background:#ffffff0a;border-color:#ffffff29;box-shadow:0 18px 40px #000c}.staff-form-photo-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.staff-form-add-photo{background:#800020;color:#fff;border:none;border-radius:6px;padding:.5rem .9rem;cursor:pointer;font-size:.9rem;font-weight:500;min-height:44px}.staff-form-add-photo:hover{background:#600018}.staff-form-photo-url-btn{background:transparent;border:1px solid #ddd;border-radius:6px;padding:.5rem .75rem;cursor:pointer;font-size:.85rem;color:#666;min-height:44px}.staff-form-photo-url-btn:hover{border-color:#800020;color:#800020}.staff-form-photo-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.staff-form-photo-preview{margin-top:.75rem;display:flex;align-items:center;gap:.75rem}.staff-form-photo-preview img{width:88px;height:88px;object-fit:cover;border-radius:8px;border:1px solid #eee}.staff-form-photo-remove{background:transparent;border:1px solid #ffb3bb;color:#7a0012;border-radius:6px;padding:.4rem .7rem;cursor:pointer;font-size:.85rem;min-height:44px}.staff-form-photo-remove:hover{background:#ffe8ea}@media(max-width:1000px){.staff-directory-main{flex-direction:column}.staff-directory-left.with-form{flex:1}.staff-directory-form-wrapper{flex:1;min-width:0}.staff-directory-form{position:static}}@media(max-width:600px){.staff-directory-grid{grid-template-columns:1fr}.staff-directory-search{min-width:0;width:100%}.staff-directory-header-actions{width:100%}.staff-card{grid-template-columns:72px 1fr}.staff-photo{width:72px;height:72px}.staff-contact-row a{white-space:normal;word-break:break-all}}.schedules-container{width:100%;box-sizing:border-box}.schedules-header{margin-bottom:1rem}.schedules-header h2{margin:0 0 .25rem;color:#800020;font-size:1.5rem}.schedules-header p{margin:0;font-size:.95rem;color:#555}.schedules-header-note{color:#800020;font-weight:500}.schedules-error{margin-bottom:1rem;padding:.75rem 1rem;background-color:#ffe5e5;border:1px solid #800020;color:#8b0000;border-radius:4px;font-size:.9rem}.schedules-layout{display:flex;gap:1rem;align-items:flex-start}.schedules-sidebar{flex:0 0 220px;max-width:260px;padding:1rem;background-color:#f9f9f9;border:1px solid #e8e8e8;border-radius:6px}.schedules-sidebar h3{margin:0 0 .5rem;font-size:1.05rem;color:#333}.schedules-sidebar-hint{margin:0 0 .75rem;font-size:.85rem;color:#666}.schedules-sidebar-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;margin-bottom:.5rem;border-radius:4px;border:1px solid #ddd;background:#fff;cursor:pointer;font-size:.95rem;font-weight:500;color:#333;transition:background .2s,border-color .2s,color .2s}.schedules-sidebar-item:hover{border-color:#800020}.schedules-sidebar-item.active{background:#800020;color:#fff;border-color:#800020}.schedules-sidebar-tag{font-size:.8rem;opacity:.85}.schedules-main{flex:1 1 auto;padding:1rem;border:1px solid #e8e8e8;border-radius:6px;background-color:#fff}.schedules-main-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.schedules-main-title h3{margin:0 0 .25rem;font-size:1.1rem;color:#333}.schedules-preset-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:999px;background-color:#f0f0f0;font-size:.85rem;color:#555}.schedules-preset-chip .active-label{color:#2e7d32;font-weight:600}.schedules-preset-controls{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.schedules-preset-select-row{display:flex;align-items:center;gap:.4rem;font-size:.9rem}.schedules-preset-select-row select{padding:.35rem .6rem;border-radius:4px;border:1px solid #ccc;font-size:.9rem}.schedules-activate-btn{padding:.4rem .9rem;font-size:.85rem;border-radius:4px;border:1px solid #800020;background-color:#800020;color:#fff;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.schedules-activate-btn:hover:not(:disabled){background-color:#600018;border-color:#600018;color:#fff}.schedules-activate-btn:disabled{opacity:.6;cursor:not-allowed}.schedules-new-preset-toggle{padding:.35rem .75rem;font-size:.85rem;border-radius:4px;border:1px solid #999;background:transparent;color:#333;cursor:pointer;transition:background .2s}.schedules-new-preset-toggle:hover{background:#f2f2f2}.schedules-new-preset-form{margin-bottom:.75rem;padding:.75rem;border-radius:4px;background-color:#f9f9f9;border:1px solid #e0e0e0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.schedules-new-preset-form label{flex:1 1 260px;font-size:.85rem;color:#555}.schedules-new-preset-form input{width:100%;margin-top:.15rem;padding:.4rem .6rem;border-radius:4px;border:1px solid #ccc;font-size:.9rem}.schedules-new-preset-form button{padding:.45rem .9rem;font-size:.9rem;border-radius:4px;border:none;background-color:#800020;color:#fff;cursor:pointer;font-weight:500}.schedules-new-preset-form button:disabled{opacity:.7;cursor:not-allowed}.schedules-table-wrapper{margin-bottom:.75rem;border-radius:4px;border:1px solid #e0e0e0;overflow:hidden;background-color:#fff;max-width:100%;box-sizing:border-box}.schedules-loading{padding:1.5rem;text-align:center;color:#666;font-size:.95rem}.schedules-empty{padding:1.5rem;text-align:left;color:#666;font-size:.95rem}html[data-theme=dark] .schedules-sidebar{background-color:#ffffff0a;border-color:#ffffff1f}html[data-theme=dark] .schedules-main{background-color:#ffffff0d;border-color:#ffffff1f}html[data-theme=dark] .schedules-sidebar h3,html[data-theme=dark] .schedules-header h2{color:#fffffff5}html[data-theme=dark] .schedules-header p,html[data-theme=dark] .schedules-sidebar-hint,html[data-theme=dark] .schedules-loading,html[data-theme=dark] .schedules-empty{color:#ffffffd6}html[data-theme=dark] .schedules-sidebar-item{background:#ffffff08;border-color:#ffffff24;color:#ffffffe6}html[data-theme=dark] .schedules-sidebar-item:hover{background:#ffffff14}html[data-theme=dark] .schedules-sidebar-item.active{background:#800020;border-color:#800020;color:#fff}html[data-theme=dark] .schedules-main-header h3{color:#fffffff5}html[data-theme=dark] .schedules-preset-chip{background-color:#ffffff0f;color:#fffc}html[data-theme=dark] .schedules-new-preset-form{background-color:#ffffff0a;border-color:#ffffff24}html[data-theme=dark] .schedules-new-preset-form label{color:#fffc}html[data-theme=dark] .schedules-new-preset-form input,html[data-theme=dark] .schedules-preset-select-row select,html[data-theme=dark] .schedules-time-inputs input[type=time],html[data-theme=dark] .schedules-table input[type=text]{background-color:#ffffff0a;border-color:#ffffff2e;color:#fffffff5}html[data-theme=dark] .schedules-table-wrapper{background-color:#ffffff08;border-color:#ffffff29}html[data-theme=dark] .schedules-grid{background-color:#ffffff05}html[data-theme=dark] .schedules-time-column{background-color:#ffffff0a;border-right-color:#ffffff1f}html[data-theme=dark] .schedules-day-header{background-color:#ffffff08;border-bottom-color:#ffffff29;color:#ffffffdb}html[data-theme=dark] .schedules-day-body{background-image:linear-gradient(to bottom,rgba(255,255,255,.12) 1px,transparent 1px)}html[data-theme=dark] .schedules-block{background-color:#e7f1ff40;border-color:#c0d8ffe6;color:#0a0f23f5}html[data-theme=dark] .schedules-table{background-color:transparent}html[data-theme=dark] .schedules-table thead{background-color:#800020;color:#fffffffa}html[data-theme=dark] .schedules-table th,html[data-theme=dark] .schedules-table td{border-bottom-color:#ffffff24;color:#ffffffe6}html[data-theme=dark] .schedules-add-row td{background-color:#ffffff08}html[data-theme=dark] .schedules-table tbody tr{background-color:#ffffff05}html[data-theme=dark] .schedules-table tbody tr:hover{background-color:#ffffff14}.schedules-grid{--hours-count: 6;--grid-height: 480px;display:flex;height:var(--grid-height);font-size:.85rem;background-color:#fff}.schedules-time-column{flex:0 0 60px;border-right:1px solid #e0e0e0;background-color:#fafafa;box-sizing:border-box}.schedules-time-header{height:32px;border-bottom:1px solid #e0e0e0}.schedules-time-slot{height:calc((var(--grid-height) - 32px) / max(1,(var(--hours-label-count) - 1)));display:flex;align-items:flex-start;justify-content:flex-end;padding:2px 6px 0 2px;box-sizing:border-box;font-size:.75rem;color:#777}.schedules-days{flex:1 1 auto;display:flex;box-sizing:border-box}.schedules-day-column{flex:1 1 0;display:flex;flex-direction:column;border-right:1px solid #e0e0e0}.schedules-day-column:last-child{border-right:none}.schedules-day-header{height:32px;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5;border-bottom:1px solid #e0e0e0;font-weight:500;font-size:.85rem;color:#444}.schedules-day-body{position:relative;flex:1 1 auto;background-image:linear-gradient(to bottom,rgba(224,224,224,.6) 1px,transparent 1px);background-size:100% calc((var(--grid-height) - 32px) / var(--hours-count))}.schedules-block{position:absolute;left:6px;right:6px;border-radius:4px;padding:4px 6px;box-sizing:border-box;background-color:#e7f1ff;border:1px solid #c0d8ff;color:#12355b;font-size:.78rem;overflow:hidden;display:flex;flex-direction:column;gap:2px;min-height:26px}.schedules-block-label{font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.schedules-block-notes{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;opacity:.85}.schedules-admin-editor{border-radius:4px;border:1px solid #e0e0e0;background-color:#fdfdfd;padding:.75rem}.schedules-admin-editor h4{margin:0 0 .5rem;font-size:.95rem;color:#444}.schedules-brilla-editor{display:flex;flex-direction:column;gap:.75rem}.schedules-group-tabs{display:flex;align-items:center;gap:.4rem;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem}.schedules-group-tab{flex:0 0 auto;border:1px solid #ddd;background:#fff;color:#333;border-radius:999px;padding:.3rem .7rem;font-size:.85rem;cursor:pointer;white-space:nowrap}.schedules-group-tab:hover{border-color:#800020}.schedules-group-tab.active{background:#800020;border-color:#800020;color:#fff}.schedules-group-tab.plus{font-weight:700;padding:.25rem .65rem}.schedules-group-tab-spacer{flex:1 1 auto;min-width:.25rem}.schedules-group-add{display:inline-flex;gap:.35rem;align-items:center;flex:0 0 auto}.schedules-group-add input{width:12rem;padding:.3rem .45rem;border-radius:6px;border:1px solid #ccc;font-size:.85rem}.schedules-group-add button{padding:.32rem .6rem;border-radius:6px;border:1px solid #800020;background:#800020;color:#fff;cursor:pointer;font-size:.82rem}.schedules-group-add button.secondary{border-color:#999;background:transparent;color:#333}.schedules-group-add button:disabled{opacity:.6;cursor:not-allowed}.schedules-group-manage{margin-top:.35rem;margin-bottom:.3rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}.schedules-group-manage .field{display:flex;flex-direction:column;gap:.15rem;min-width:200px;flex:1 1 220px}.schedules-group-manage label{font-size:.78rem;color:#555}.schedules-group-manage input[type=text]{padding:.35rem .45rem;border-radius:6px;border:1px solid #ccc;font-size:.88rem}.schedules-group-manage .buttons{display:inline-flex;gap:.4rem;align-items:center;flex:0 0 auto}.schedules-group-manage .buttons button{padding:.35rem .7rem;border-radius:6px;border:1px solid #800020;background:#800020;color:#fff;cursor:pointer;font-size:.82rem}.schedules-group-manage .buttons button.danger{border-color:#b00020;background:#b00020}.schedules-group-manage .buttons button:disabled{opacity:.6;cursor:not-allowed}.schedules-brilla-add{border:1px solid #e6e6e6;background:#fafafa;border-radius:8px;padding:.6rem}.schedules-brilla-add .row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end}.schedules-brilla-add .field{display:flex;flex-direction:column;gap:.15rem;min-width:140px}.schedules-brilla-add .field.grow{flex:1 1 220px;min-width:220px}.schedules-brilla-add .field.actions{min-width:100px}.schedules-brilla-add label{font-size:.78rem;color:#555}.schedules-brilla-add input[type=text],.schedules-brilla-add input[type=time]{padding:.35rem .45rem;border-radius:6px;border:1px solid #ccc;font-size:.88rem}.schedules-brilla-add input[type=color]{width:40px;height:34px;padding:0;border:none;background:transparent}.schedules-brilla-cards{display:flex;flex-direction:column;gap:.6rem}.schedules-entry-card{border:1px solid #e2e2e2;border-radius:10px;background:#fff;padding:.6rem;display:flex;flex-direction:column;gap:.5rem}.schedules-entry-card .card-top{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.schedules-entry-card .time{display:inline-flex;align-items:center;gap:.25rem}.schedules-entry-card .time input[type=time]{width:5.6rem;padding:.25rem .35rem;border-radius:6px;border:1px solid #ccc;font-size:.85rem}.schedules-entry-card .right{display:inline-flex;align-items:center;gap:.4rem}.schedules-entry-card .right input[type=color]{width:40px;height:28px;border:none;background:transparent;padding:0}.schedules-entry-card .card-main{display:flex;gap:.5rem;flex-wrap:wrap}.schedules-entry-card input[type=text]{padding:.35rem .45rem;border-radius:6px;border:1px solid #ccc;font-size:.9rem;box-sizing:border-box}.schedules-entry-card input.activity{flex:1 1 260px;min-width:220px;font-weight:600}.schedules-entry-card input.notes{flex:2 1 340px;min-width:240px}.schedules-entry-card .card-bottom{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.schedules-entry-card .group-chips{display:flex;flex-wrap:wrap;gap:.25rem;flex:1 1 240px}.schedules-entry-card .chip{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:999px;font-size:.78rem;background:#8000200f;color:#800020;border:1px solid rgba(128,0,32,.15)}.schedules-entry-card .chip.empty{background:#0000000a;color:#555;border-color:#00000014}.schedules-entry-card .groups-input{flex:2 1 340px;min-width:240px}html[data-theme=dark] .schedules-group-tab{background:#ffffff08;border-color:#ffffff24;color:#ffffffe6}html[data-theme=dark] .schedules-group-tab.active{background:#800020;border-color:#800020;color:#fff}html[data-theme=dark] .schedules-group-add input,html[data-theme=dark] .schedules-brilla-add input[type=text],html[data-theme=dark] .schedules-brilla-add input[type=time],html[data-theme=dark] .schedules-entry-card input[type=text],html[data-theme=dark] .schedules-entry-card .time input[type=time]{background-color:#ffffff0a;border-color:#ffffff2e;color:#fffffff5}html[data-theme=dark] .schedules-group-add button.secondary{color:#ffffffe6;border-color:#ffffff38}html[data-theme=dark] .schedules-brilla-add,html[data-theme=dark] .schedules-entry-card{background:#ffffff08;border-color:#ffffff24}html[data-theme=dark] .schedules-entry-card .chip{background:#ffffff0f;color:#ffffffe6;border-color:#ffffff24}html[data-theme=dark] .schedules-admin-editor{background-color:#ffffff0a;border-color:#ffffff29}html[data-theme=dark] .schedules-admin-editor h4{color:#ffffffe6}html[data-theme=dark] .schedules-no-rows{color:#ffffffe0}.schedules-table{width:100%;border-collapse:collapse;table-layout:fixed}.schedules-table thead{background-color:#8000200a;color:#800020}.schedules-table th,.schedules-table td{padding:.65rem .75rem;border-bottom:1px solid #e0e0e0;font-size:.9rem}.schedules-table th.col-time,.schedules-table td.col-time{width:26%}.schedules-table th.col-label,.schedules-table td.col-label{width:32%}.schedules-table th.col-notes,.schedules-table td.col-notes{width:28%}.schedules-table th.col-color,.schedules-table td.col-color{width:8%}.schedules-table th.col-days,.schedules-table td.col-days{width:18%}.schedules-days-toggle{display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-size:.8rem}.schedules-table td.col-color input[type=color]{width:32px;height:24px;padding:0;border:none;background:none}.schedules-days-toggle label{display:inline-flex;align-items:center;gap:.15rem}.schedules-table th.col-actions,.schedules-table td.col-actions{width:12%;text-align:right;white-space:nowrap}.schedules-no-rows{text-align:center;color:#666;font-size:.9rem}.schedules-time-inputs{display:flex;align-items:center;gap:.25rem}.schedules-time-inputs input[type=time]{width:5.4rem;padding:.25rem .35rem;font-size:.85rem}.schedules-table input[type=text]{width:100%;padding:.3rem .4rem;font-size:.85rem;border-radius:4px;border:1px solid #ccc;box-sizing:border-box}.schedules-delete-btn,.schedules-add-btn{padding:.35rem .7rem;font-size:.8rem;border-radius:4px;cursor:pointer;border:1px solid transparent}.schedules-delete-btn{background-color:#800020;color:#fff;border-color:#800020}.schedules-delete-btn:hover{background-color:#600018;border-color:#600018;color:#fff}.schedules-add-btn{background-color:#800020;color:#fff}.schedules-add-btn:disabled{opacity:.7;cursor:not-allowed}.schedules-add-row td{background-color:#fafafa}@media(max-width:900px){.schedules-layout{flex-direction:column}.schedules-sidebar{width:100%;max-width:100%}.schedules-main{width:100%}}.dashboard-container{display:flex;flex-direction:column;min-height:100vh;background-color:#f5f5f5}.dashboard-navbar{background-color:#fff;border-bottom:none;padding:1rem 2rem;box-shadow:0 2px 4px #8000201a;position:sticky;top:0;z-index:100}.dashboard-content{flex:1;padding:1rem;max-width:min(1600px,100vw);width:100%;margin:0 auto;box-sizing:border-box}@media(min-width:600px){.dashboard-content{padding:1.5rem 2rem}}@media(min-width:1024px){.dashboard-content{padding:2rem 2.5rem}}.dashboard-header{margin-bottom:1.5rem}.dashboard-header h1{font-size:2rem;font-weight:600;color:#800020;margin-bottom:.5rem}.dashboard-header p{color:#666;font-size:1rem}.dashboard-tabs{display:flex;width:100%;margin-bottom:1.5rem;border-bottom:2px solid #e0e0e0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.dashboard-tabs::-webkit-scrollbar{display:none}.dashboard-tab{flex:1 1 0;padding:.75rem 1.25rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:.95rem;font-weight:500;color:#666;transition:all .2s;margin-bottom:-2px;text-align:center;white-space:nowrap}.dashboard-tab:hover{color:#800020;background-color:#8000200d}.dashboard-tab.active{color:#800020;border-bottom-color:#800020;font-weight:600}@media(max-width:600px){.dashboard-tab{flex:0 0 auto;padding:.6rem .9rem;font-size:.85rem}}.dashboard-main{background-color:#fff;border-radius:8px;padding:1rem;box-shadow:0 1px 3px #8000201a;border-top:3px solid #800020;min-height:400px;box-sizing:border-box;overflow-x:hidden}@media(max-width:600px){.dashboard-content{padding:.75rem .5rem;max-width:100vw}.dashboard-main{padding:.75rem .5rem;border-radius:4px}.dashboard-header h1{font-size:1.4rem}}@media(min-width:600px){.dashboard-main{padding:1.5rem}}@media(min-width:1024px){.dashboard-main{padding:2rem}}.tab-content{display:none}.tab-content.active{display:block}.calendar-placeholder,.announcements-placeholder{text-align:center;padding:3rem 1rem;color:#666}.calendar-placeholder h3,.announcements-placeholder h3{color:#800020;margin-bottom:1rem;font-size:1.5rem}.calendar-placeholder p,.announcements-placeholder p{color:#999;font-size:1rem}html[data-theme=dark] .dashboard-container{background-color:#202124}html[data-theme=dark] .dashboard-navbar{background-color:#202124;border-bottom:none;box-shadow:0 6px 18px #00000073}html[data-theme=dark] .dashboard-main{background-color:#303134;color:#e8eaed;box-shadow:0 12px 32px #00000073;border-top-color:#800020e6}html[data-theme=dark] .dashboard-header h1{color:#e8eaed}html[data-theme=dark] .dashboard-header p,html[data-theme=dark] .calendar-placeholder,html[data-theme=dark] .announcements-placeholder{color:#bdc1c6}html[data-theme=dark] .calendar-placeholder h3,html[data-theme=dark] .announcements-placeholder h3{color:#e8eaed}html[data-theme=dark] .dashboard-tab{color:#bdc1c6}html[data-theme=dark] .dashboard-tab:hover{color:#e8eaed;background-color:#80002059}html[data-theme=dark] .dashboard-tab.active{color:#e8eaed;border-bottom-color:#ffc1d2f2}.music-library-container{width:100%;min-width:0;box-sizing:border-box}.music-library-main-content{display:flex;gap:1.5rem;align-items:flex-start}.music-library-left-section{flex:1;min-width:0}.music-library-left-section.with-form{flex:1;min-width:0;max-width:calc(100% - 400px)}.music-library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.header-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.page-size-selector{display:flex;align-items:center;gap:.5rem}.page-size-selector label{color:#333;font-size:.9rem;font-weight:500}.page-size-select{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;background-color:#fff;cursor:pointer}.page-size-select:focus{outline:none;border-color:#800020;box-shadow:0 0 0 2px #80002033}.music-library-header h2{color:#800020;margin:0;font-size:1.5rem}.music-library-search-filters{margin-bottom:1.25rem;padding:1rem;background-color:#f9f9f9;border:1px solid #e8e8e8;border-radius:6px}.search-filter-row{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.music-library-search-input{flex:1;min-width:200px;padding:.65rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:max(1rem,16px)}.music-library-search-input:focus{outline:none;border-color:#800020;box-shadow:0 0 0 2px #80002026}.music-library-search-input::placeholder{color:#999}.clear-filters-button{padding:.5rem 1rem;font-size:.9rem;background:transparent;color:#800020;border:1px solid #800020;border-radius:4px;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s;min-height:44px}.clear-filters-button:hover{background:#800020;color:#fff}.filter-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.8rem;font-weight:500;color:#555}.filter-select{padding:.5rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:max(1rem,16px);background-color:#fff;min-width:100px;cursor:pointer}.filter-select:focus{outline:none;border-color:#800020}.filter-results-info{margin-top:.75rem;font-size:.9rem;color:#666}.add-music-button{background-color:#800020;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background-color .2s;min-height:44px}.add-music-button:hover{background-color:#600018}.csv-upload-label{cursor:pointer}.csv-upload-button{display:inline-block;background-color:#f0f0f0;color:#333;border:1px solid #ccc;padding:.75rem 1.5rem;border-radius:4px;font-size:.95rem;font-weight:500;transition:background-color .2s,border-color .2s;min-height:44px;line-height:1.2}.csv-upload-label:hover .csv-upload-button{background-color:#e5e5e5;border-color:#800020;color:#800020}.csv-upload-label:has(input:disabled) .csv-upload-button{opacity:.7;cursor:not-allowed}.music-library-csv-message{padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.music-library-csv-message.success{background-color:#e8f5e9;border:1px solid #4caf50;color:#2e7d32}.music-library-csv-message.warning{background-color:#fff8e1;border:1px solid #ffc107;color:#f57f17}.music-library-csv-message.error{background-color:#ffe5e5;border:1px solid #800020;color:#8b0000}.csv-error-list{margin:.5rem 0 0 1rem;padding-left:1rem;font-size:.85rem}.revert-import-button{display:inline-block;margin-top:.75rem;padding:.5rem 1rem;font-size:.9rem;background:transparent;color:#800020;border:1px solid #800020;border-radius:4px;cursor:pointer;transition:background-color .2s,color .2s;min-height:44px}.revert-import-button:hover{background-color:#800020;color:#fff}.music-library-csv-message.success .revert-import-button,.music-library-csv-message.warning .revert-import-button{color:inherit;border-color:currentColor}.music-library-csv-message.success .revert-import-button:hover,.music-library-csv-message.warning .revert-import-button:hover{background-color:#0000001a;color:inherit}.music-library-loading,.music-library-error{text-align:center;padding:1rem;color:#800020}.music-library-error{background-color:#ffe5e5;border:1px solid #800020;border-radius:4px;margin-bottom:1.5rem;color:#8b0000}.music-library-form-wrapper{flex:0 0 350px;min-width:300px;max-width:350px;position:sticky;top:1rem;align-self:flex-start;max-height:calc(100vh - 2rem);overflow-y:auto}.music-library-form-container{background-color:#f9f9f9;border:2px solid #800020;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #8000201a;display:flex;flex-direction:column}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.music-library-form-container h3{color:#800020;margin:0;font-size:1.25rem}.close-form-button{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-form-button:hover{background-color:#e0e0e0;color:#800020}.music-library-form{display:grid;gap:1rem;flex:1}.form-group{display:flex;flex-direction:column}.form-group label{color:#333;font-weight:500;margin-bottom:.5rem;font-size:.9rem}.form-group input,.form-group select{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:max(1rem,16px);box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#800020;box-shadow:0 0 0 2px #80002033}.form-actions{display:flex;gap:1rem;margin-top:auto;padding-top:1rem}.submit-button{background-color:#800020;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s;flex:1;min-height:44px}.submit-button:hover{background-color:#600018}.cancel-button{background-color:#f5f5f5;color:#333;border:1px solid #ddd;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s;flex:1;min-height:44px}.cancel-button:hover{background-color:#e0e0e0}.music-library-table-container{overflow-x:auto;max-height:600px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:4px;-webkit-overflow-scrolling:touch;max-width:100%;box-sizing:border-box}.music-library-table{width:100%;min-width:700px;border-collapse:separate;border-spacing:0;background-color:#fff}@media(max-width:600px){.music-library-table{min-width:560px}}.music-library-table thead th{position:sticky;top:0;z-index:4;background-color:#800020;box-shadow:0 2px 2px -1px #0000001a}.music-library-table .col-index{position:sticky;left:0;z-index:2;width:2.5rem;min-width:2.5rem;max-width:2.5rem;background:#800020;color:#fff;box-shadow:2px 0 4px #00000014}.music-library-table tbody .col-index{background:#fff;color:inherit}.music-library-table tbody tr:hover .col-index{background:#f9f9f9}.music-library-table .col-name{position:sticky;left:2.5rem;z-index:2;min-width:140px;max-width:200px;background:#800020;color:#fff;box-shadow:2px 0 4px #00000014}.music-library-table tbody .col-name{background:#fff;color:inherit}.music-library-table tbody tr:hover .col-name{background:#f9f9f9}.music-library-table .col-actions{position:sticky;right:0;z-index:2;min-width:140px;background:#800020;color:#fff;box-shadow:-2px 0 4px #00000014;white-space:nowrap}.music-library-table tbody .col-actions{background:#fff;color:inherit}.music-library-table tbody tr:hover .col-actions{background:#f9f9f9}.music-library-table thead .col-index,.music-library-table thead .col-name,.music-library-table thead .col-actions{z-index:5}.music-library-table thead{background-color:#800020;color:#fff}.music-library-table th{padding:1rem;text-align:left;font-weight:600;font-size:.95rem}.music-library-table td{padding:1rem;border-bottom:1px solid #e0e0e0}.music-library-table thead th{border-bottom:1px solid rgba(0,0,0,.15)}.music-library-table tbody tr:hover{background-color:#f9f9f9}.no-entries{text-align:center;color:#666;padding:2rem}.edit-button,.delete-button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;margin-right:.5rem;transition:all .2s;min-height:44px}.edit-button{background-color:#f5f5f5;color:#800020;border:1px solid #800020}.edit-button:hover{background-color:#4a0000;color:#fff}.delete-button{background-color:#800020;color:#fff}.delete-button:hover{background-color:#800020}.pagination-controls{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding:1rem;background-color:#f9f9f9;border-radius:4px;flex-wrap:wrap;gap:1rem}.pagination-info{color:#666;font-size:.9rem}.pagination-buttons{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pagination-button{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;background-color:#fff;color:#333;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;min-height:44px}.pagination-button:hover:not(:disabled){background-color:#800020;color:#fff;border-color:#800020}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-page-info{padding:.5rem 1rem;color:#333;font-size:.9rem;font-weight:500}html[data-theme=dark] .music-library-search-filters,html[data-theme=dark] .pagination-controls{background-color:#ffffff0a;border-color:#ffffff1f}html[data-theme=dark] .music-library-header h2{color:#fffffff5}html[data-theme=dark] .filter-group label,html[data-theme=dark] .page-size-selector label,html[data-theme=dark] .filter-results-info,html[data-theme=dark] .pagination-info{color:#fffc}html[data-theme=dark] .music-library-search-input,html[data-theme=dark] .filter-select,html[data-theme=dark] .page-size-select{background-color:#ffffff0a;border-color:#ffffff2e;color:#fffffff5}html[data-theme=dark] .music-library-form-container{background-color:#ffffff0a;border-color:#800020e6;box-shadow:0 16px 40px #000c}html[data-theme=dark] .music-library-form-container h3,html[data-theme=dark] .form-group label{color:#fffffff0}html[data-theme=dark] .music-library-form-container input,html[data-theme=dark] .music-library-form-container select{background-color:#ffffff0d;border-color:#ffffff2e;color:#fffffff5}html[data-theme=dark] .music-library-table-container{border-color:#ffffff29}html[data-theme=dark] .music-library-table{background-color:transparent}html[data-theme=dark] .music-library-table tbody .col-index,html[data-theme=dark] .music-library-table tbody .col-name,html[data-theme=dark] .music-library-table tbody .col-actions{background-color:transparent;color:#ffffffe6}html[data-theme=dark] .music-library-table td{border-bottom-color:#ffffff29;color:#ffffffe6}html[data-theme=dark] .music-library-table tbody tr{background-color:#ffffff05}html[data-theme=dark] .music-library-table tbody tr:hover{background-color:#ffffff14}html[data-theme=dark] .no-entries{color:#ffffffd6}html[data-theme=dark] .pagination-button{background-color:#ffffff0a;border-color:#ffffff2e;color:#ffffffe6}html[data-theme=dark] .pagination-page-info{color:#ffffffdb}@media(max-width:968px){.music-library-main-content{flex-direction:column}.music-library-left-section.with-form{flex:1;max-width:100%}.music-library-form-wrapper{flex:1;position:relative;top:0;min-width:0;max-width:100%}}@media(max-width:600px){.music-library-search-filters{padding:.75rem}.search-filter-row{flex-direction:column;align-items:stretch}.music-library-search-input{min-width:0}.filter-row{gap:.75rem}.filter-select{min-width:0;width:100%}.music-library-header{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem}.music-library-header h2{font-size:1.25rem}.header-controls{flex-direction:column;align-items:stretch}.music-library-table th,.music-library-table td{padding:.6rem .5rem;font-size:.85rem}.music-library-table-container{max-height:70vh}.add-music-button,.csv-upload-button{width:100%;text-align:center}.pagination-controls{flex-direction:column;align-items:stretch;padding:.75rem}.pagination-buttons{justify-content:center}.music-library-form-wrapper{min-width:0;max-width:100%;position:static;max-height:none}}.student-roster-container{width:100%;min-width:0;box-sizing:border-box}.student-roster-loading{padding:2rem;text-align:center;color:#666}.student-roster-header{margin-bottom:1.5rem}.student-roster-header h2{color:#800020;margin:0;font-size:1.5rem}.student-roster-top-sections{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.student-roster-top-sections .student-roster-locations-section,.student-roster-top-sections .student-roster-add-section{flex:1 1 45%;min-width:280px;margin-bottom:0}.student-roster-locations-section,.student-roster-get-section{margin-bottom:1.5rem;padding:1rem;background-color:#f9f9f9;border:1px solid #e8e8e8;border-radius:6px}.student-roster-locations-section h3,.student-roster-get-section h3{margin:0 0 .75rem;font-size:1.1rem;color:#333}.student-roster-locations-hint{margin:0 0 .5rem;font-size:.85rem;color:#666}.student-roster-add-location{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.student-roster-location-input{flex:1;min-width:180px;padding:.65rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:max(1rem,16px);box-sizing:border-box}.student-roster-location-input:focus{outline:none;border-color:#800020;box-shadow:0 0 0 2px #80002026}.student-roster-add-location-btn{background-color:#800020;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background-color .2s;min-height:44px}.student-roster-add-location-btn:hover:not(:disabled){background-color:#600018}.student-roster-add-location-btn:disabled{opacity:.6;cursor:not-allowed}.student-roster-empty-locations{margin:0;color:#666;font-size:.95rem}.student-roster-locations-list{list-style:none;margin:0;padding:0}.student-roster-location-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-bottom:1px solid #eee}.student-roster-location-item:last-child{border-bottom:none}.student-roster-location-name{font-weight:500;color:#333}.student-roster-delete-location{padding:.35rem .75rem;font-size:.85rem;background-color:#800020;color:#fff;border:1px solid #800020;border-radius:4px;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;min-height:44px}.student-roster-delete-location:hover{background-color:#600018;border-color:#600018;color:#fff}.student-roster-add-section{margin-bottom:1.5rem;padding:1rem;background-color:#f9f9f9;border:1px solid #e8e8e8;border-radius:6px}.student-roster-add-section h3{margin:0 0 .75rem;font-size:1.1rem;color:#333}.student-roster-add-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.student-roster-add-student-btn{padding:.6rem 1.25rem;font-size:.95rem;background-color:#800020;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s;min-height:44px}.student-roster-add-student-btn:hover{background-color:#600018}.student-roster-csv-label{cursor:pointer}.student-roster-csv-button{display:inline-block;padding:.6rem 1.25rem;font-size:.95rem;background-color:#f0f0f0;color:#333;border:1px solid #ccc;border-radius:4px;font-weight:500;transition:background-color .2s,border-color .2s;min-height:44px;line-height:1.4}.student-roster-csv-label:hover .student-roster-csv-button{background-color:#e5e5e5;border-color:#800020;color:#800020}.student-roster-csv-label:has(input:disabled) .student-roster-csv-button{opacity:.7;cursor:not-allowed}.student-roster-import-previous-btn{padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;background-color:#800020;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;min-height:44px}.student-roster-import-previous-btn:hover:not(:disabled){background-color:#600018}.student-roster-import-previous-btn:disabled{opacity:.6;cursor:not-allowed}.student-roster-create-accounts-btn{padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;background-color:#f0f0f0;color:#333;border:1px solid #ccc;border-radius:4px;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s;min-height:44px}.student-roster-create-accounts-btn:hover:not(:disabled){background-color:#e5e5e5;border-color:#800020;color:#800020}.student-roster-create-accounts-btn:disabled{opacity:.6;cursor:not-allowed}.student-roster-csv-hint{margin:0 0 1rem;font-size:.85rem;color:#666}.student-roster-manual-form{margin-top:1rem;padding:1rem;background-color:#fff;border:1px solid #e8e8e8;border-radius:6px;max-width:480px}.student-roster-form-row{margin-bottom:.75rem}.student-roster-form-row label{display:block;font-size:.9rem;font-weight:500;color:#555;margin-bottom:.25rem}.student-roster-form-input,.student-roster-form-select{width:100%;padding:.5rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:max(1rem,16px);box-sizing:border-box}.student-roster-form-input:focus,.student-roster-form-select:focus{outline:none;border-color:#800020}.student-roster-form-submit{margin-top:.75rem;padding:.6rem 1.25rem;font-size:.95rem;background-color:#800020;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s;min-height:44px}.student-roster-form-submit:hover:not(:disabled){background-color:#600018}.student-roster-form-submit:disabled{opacity:.7;cursor:not-allowed}.student-roster-csv-message{margin-top:1rem;padding:.75rem 1rem;border-radius:4px;font-size:.9rem}.student-roster-csv-message.success{background-color:#e8f5e9;border:1px solid #4caf50;color:#2e7d32}.student-roster-csv-message.warning{background-color:#fff8e1;border:1px solid #ffc107;color:#f57f17}.student-roster-csv-message.error{background-color:#ffe5e5;border:1px solid #800020;color:#8b0000}.student-roster-csv-message.info{background-color:#e3f2fd;border:1px solid #2196f3;color:#1565c0}.student-roster-csv-errors{margin:.5rem 0 0 1rem;padding-left:1rem;font-size:.85rem}.student-roster-table-section{margin-top:1.5rem;padding:1rem;background-color:#fff;border:1px solid #e8e8e8;border-radius:6px}.student-roster-table-section h3{margin:0 0 1rem;font-size:1.1rem;color:#333}.student-roster-no-locations-msg{margin:0;color:#666;font-size:.95rem}.student-roster-location-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid #e8e8e8;padding-bottom:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.student-roster-location-tab{padding:.5rem 1rem;font-size:.95rem;font-weight:500;background:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:background .2s,border-color .2s,color .2s;white-space:nowrap;min-height:44px}.student-roster-location-tab:hover{background:#eee;border-color:#800020;color:#800020}.student-roster-location-tab.active{background:#800020;color:#fff;border-color:#800020}.student-roster-school-year-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.student-roster-school-year-label{font-weight:500;color:#333;margin:0}.student-roster-school-year-select{padding:.5rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:max(1rem,16px);min-width:160px}.student-roster-school-year-select:focus{outline:none;border-color:#800020}.student-roster-school-year-input{padding:.5rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:max(1rem,16px);width:120px}.student-roster-school-year-input:focus{outline:none;border-color:#800020}.student-roster-add-year-btn{background-color:#800020;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s;min-height:44px}.student-roster-add-year-btn:hover{background-color:#600018}.student-roster-table-container{overflow-x:auto;max-height:600px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:4px;-webkit-overflow-scrolling:touch;max-width:100%;box-sizing:border-box}.student-roster-table-loading{padding:2rem;text-align:center;color:#666}.student-roster-main-table{width:100%;min-width:700px;border-collapse:separate;border-spacing:0;background-color:#fff}@media(max-width:600px){.student-roster-main-table{min-width:560px}}.student-roster-main-table thead th{position:sticky;top:0;z-index:4;background-color:#800020;color:#fff;box-shadow:0 2px 2px -1px #0000001a;padding:1rem;text-align:left;font-weight:600;font-size:.95rem;border-bottom:1px solid rgba(0,0,0,.15)}.student-roster-main-table .col-index{position:sticky;left:0;z-index:2;width:2.5rem;min-width:2.5rem;max-width:2.5rem;background:#800020;color:#fff;box-shadow:2px 0 4px #00000014}.student-roster-main-table tbody .col-index{background:#fff;color:inherit;width:2.5rem;padding:1rem;border-bottom:1px solid #e0e0e0}.student-roster-main-table tbody tr:hover .col-index{background:#f9f9f9}.student-roster-main-table .col-name{position:sticky;left:2.5rem;z-index:2;min-width:140px;max-width:200px;background:#800020;color:#fff;box-shadow:2px 0 4px #00000014}.student-roster-main-table tbody .col-name{background:#fff;color:inherit;padding:1rem;border-bottom:1px solid #e0e0e0}.student-roster-main-table tbody tr:hover .col-name{background:#f9f9f9}.student-roster-main-table .col-email,.student-roster-main-table .col-phone{white-space:nowrap;min-width:10rem}.student-roster-main-table .col-actions{position:sticky;right:0;z-index:2;min-width:100px;background:#800020;color:#fff;box-shadow:-2px 0 4px #00000014;white-space:nowrap}.student-roster-main-table tbody .col-actions{background:#fff;color:inherit;padding:.5rem;border-bottom:1px solid #e0e0e0;display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.student-roster-main-table tbody tr:hover .col-actions{background:#f9f9f9}.student-roster-main-table thead .col-index,.student-roster-main-table thead .col-name,.student-roster-main-table thead .col-actions{z-index:5}.student-roster-main-table td{padding:1rem;border-bottom:1px solid #e0e0e0}.student-roster-main-table tbody tr:hover{background-color:#f9f9f9}html[data-theme=dark] .student-roster-locations-section,html[data-theme=dark] .student-roster-get-section,html[data-theme=dark] .student-roster-add-section,html[data-theme=dark] .student-roster-table-section{background-color:#ffffff0a;border-color:#ffffff24;color:#ffffffeb}html[data-theme=dark] .student-roster-header h2,html[data-theme=dark] .student-roster-locations-section h3,html[data-theme=dark] .student-roster-get-section h3,html[data-theme=dark] .student-roster-add-section h3,html[data-theme=dark] .student-roster-table-section h3{color:#fffffff5}html[data-theme=dark] .student-roster-locations-hint,html[data-theme=dark] .student-roster-csv-hint,html[data-theme=dark] .student-roster-no-locations-msg{color:#ffffffd6}html[data-theme=dark] .student-roster-location-name,html[data-theme=dark] .student-roster-school-year-label,html[data-theme=dark] .student-roster-form-row label,html[data-theme=dark] .student-roster-empty-locations,html[data-theme=dark] .student-roster-loading,html[data-theme=dark] .student-roster-table-loading,html[data-theme=dark] .student-roster-main-table .no-entries{color:#ffffffe6}html[data-theme=dark] .student-roster-location-tab{color:#ffffffe6;border-color:#fff3;background:#ffffff08}html[data-theme=dark] .student-roster-location-tab:not(.active):hover{background:#ffffff1a;color:#fffffff5}html[data-theme=dark] .student-roster-location-tab.active,html[data-theme=dark] .student-roster-location-tab[aria-selected=true]{background:linear-gradient(180deg,#8d0024,#76001e);border-color:#b02045;color:#fff;box-shadow:0 0 0 1px #b020454d inset}html[data-theme=dark] .student-roster-location-tab.active:hover,html[data-theme=dark] .student-roster-location-tab[aria-selected=true]:hover{background:linear-gradient(180deg,#a1002a,#870022);border-color:#c0385a;color:#fff}html[data-theme=dark] .student-roster-location-input,html[data-theme=dark] .student-roster-form-input,html[data-theme=dark] .student-roster-form-select,html[data-theme=dark] .student-roster-filter-input,html[data-theme=dark] .student-roster-filter-select,html[data-theme=dark] .student-roster-school-year-select,html[data-theme=dark] .student-roster-school-year-input{background-color:#ffffff0d;border-color:#ffffff2e;color:#fffffff5}html[data-theme=dark] .student-roster-manual-form{background-color:#ffffff08;border-color:#ffffff24}html[data-theme=dark] .student-roster-main-table{background-color:transparent}html[data-theme=dark] .student-roster-main-table tbody .col-index,html[data-theme=dark] .student-roster-main-table tbody .col-name,html[data-theme=dark] .student-roster-main-table tbody .col-actions{background-color:transparent;color:#ffffffe6}html[data-theme=dark] .student-roster-main-table td{border-bottom-color:#ffffff26;color:#ffffffe6}html[data-theme=dark] .student-roster-main-table tbody tr:hover{background-color:#ffffff0f}html[data-theme=dark] .student-roster-main-table tbody tr{background-color:#ffffff05}.student-roster-main-table .no-entries{text-align:center;color:#666;padding:2rem}.student-roster-error{padding:.75rem 1rem;margin-bottom:1rem;background-color:#ffe5e5;border:1px solid #800020;color:#8b0000;border-radius:4px;font-size:.9rem}.student-roster-table-controls{margin-bottom:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.student-roster-filter-input{flex:1 1 220px;min-width:160px;padding:.5rem .75rem;border-radius:4px;border:1px solid #ddd;font-size:max(1rem,16px)}.student-roster-filter-input:focus{outline:none;border-color:#800020;box-shadow:0 0 0 2px #80002026}.student-roster-filter-select{flex:0 0 auto;min-width:130px;padding:.45rem .75rem;border-radius:4px;border:1px solid #ddd;font-size:max(1rem,16px);background-color:#fff}.student-roster-filter-select:focus{outline:none;border-color:#800020;box-shadow:0 0 0 2px #80002026}.student-roster-filter-reset{padding:.45rem .9rem;font-size:.85rem;background-color:#800020;color:#fff;border:1px solid #800020;border-radius:4px;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;min-height:44px}.student-roster-filter-reset:hover{background-color:#600018;border-color:#600018;color:#fff}.student-roster-withdrawn-row{opacity:.6;background-color:#f5f5f5}.student-roster-withdrawn-row:hover{background-color:#eee}.student-roster-withdrawn-badge{color:#666;font-size:.85rem;font-weight:400;margin-left:.5rem}.student-roster-withdrawn-btn{padding:.35rem .6rem;font-size:.8rem;background:transparent;color:#666;border:1px solid #999;border-radius:4px;cursor:pointer;transition:background .2s,color .2s,border-color .2s;min-height:36px}.student-roster-withdrawn-btn:hover{background:#666;color:#fff;border-color:#666}.student-roster-edit-btn{padding:.35rem .6rem;font-size:.8rem;background-color:#800020;color:#fff;border:1px solid #800020;border-radius:4px;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;min-height:36px}.student-roster-edit-btn:hover{background-color:#600018;border-color:#600018;color:#fff}.student-roster-remove-btn{padding:.35rem .6rem;font-size:.8rem;background-color:#800020;color:#fff;border:1px solid #800020;border-radius:4px;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;min-height:36px}.student-roster-remove-btn:hover{background-color:#600018;border-color:#600018;color:#fff}@media(max-width:600px){.student-roster-top-sections .student-roster-locations-section,.student-roster-top-sections .student-roster-add-section{flex:1 1 100%;min-width:0}.student-roster-add-controls{flex-direction:column;align-items:stretch}.student-roster-add-student-btn,.student-roster-csv-label,.student-roster-import-previous-btn,.student-roster-create-accounts-btn{width:100%;text-align:center}.student-roster-csv-button{display:block;width:100%;text-align:center}.student-roster-table-controls{flex-direction:column;align-items:stretch}.student-roster-filter-input,.student-roster-filter-select,.student-roster-filter-reset{width:100%;min-width:0}.student-roster-manual-form{max-width:100%}}.tasks-container{width:100%;display:flex;gap:1.5rem;align-items:flex-start}.tasks-sidebar{flex-shrink:0;width:180px;display:flex;flex-direction:column;gap:.25rem;padding:.5rem 0}.tasks-sidebar-item{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1rem;border:none;border-radius:6px;background:#f5f5f5;color:#333;font-size:.95rem;cursor:pointer;text-align:left;transition:background-color .2s,color .2s;min-height:44px}.tasks-sidebar-item:hover{background:#ebeaea}.tasks-sidebar-item.active{background:#800020;color:#fff;font-weight:500}.tasks-sidebar-label{flex:1}.tasks-sidebar-count{font-size:.85rem;opacity:.9}.tasks-sidebar-item.active .tasks-sidebar-count{opacity:1}.tasks-main{flex:1;min-width:0;max-width:900px}.tasks-loading{padding:2rem;text-align:center;color:#800020}.tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.tasks-header h2{color:#800020;margin:0;font-size:1.5rem}.tasks-add-btn{background-color:#800020;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background-color .2s;min-height:44px}.tasks-add-btn:hover{background-color:#600018}.tasks-error{background-color:#ffe5e5;border:1px solid #800020;border-radius:4px;padding:.75rem 1rem;margin-bottom:1rem;color:#8b0000}.tasks-empty{padding:2rem;text-align:center;color:#666;background:#f8f8f8;border-radius:8px}.tasks-list{display:flex;flex-direction:column;gap:1rem}.tasks-card{border:1px solid #ddd;border-radius:8px;padding:1.25rem;background:#fff;box-shadow:0 1px 3px #0000000f}.tasks-card-completed{opacity:.85;border-color:#c8e6c9;background:#f1f8f1}.tasks-card-archived{opacity:.78;border-color:#b0bec5;background:#eceff1}.tasks-urgency-urgent{border-left:4px solid #c62828}.tasks-urgency-high{border-left:4px solid #e65100}.tasks-urgency-medium{border-left:4px solid #f9a825}.tasks-urgency-low{border-left:4px solid #2e7d32}.tasks-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.tasks-card-title{font-weight:600;font-size:1.1rem;color:#333}.tasks-card-completed .tasks-card-title{text-decoration:line-through;color:#666}.tasks-card-urgency{text-transform:capitalize;font-size:.8rem;padding:.2rem .5rem;border-radius:4px;background:#eee;color:#555;white-space:nowrap}.tasks-urgency-urgent .tasks-card-urgency{background:#ffcdd2;color:#b71c1c}.tasks-urgency-high .tasks-card-urgency{background:#ffe0b2;color:#e65100}.tasks-urgency-medium .tasks-card-urgency{background:#fff9c4;color:#f57f17}.tasks-urgency-low .tasks-card-urgency{background:#c8e6c9;color:#2e7d32}.tasks-card-description{color:#555;font-size:.95rem;margin-bottom:.75rem;white-space:pre-wrap}.tasks-card-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem;color:#666;margin-bottom:.5rem}.tasks-meta-item{margin:0}.tasks-card-workers{font-size:.9rem;color:#555;margin-bottom:.5rem}.tasks-card-completed-info{font-size:.9rem;color:#2e7d32;margin-bottom:.75rem}.tasks-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #eee}.tasks-btn{padding:.4rem .75rem;border-radius:4px;border:1px solid #ccc;background:#f5f5f5;cursor:pointer;font-size:.85rem;transition:background-color .2s,border-color .2s;min-height:44px}.tasks-btn:hover{background:#eee;border-color:#999}.tasks-btn-working.active{background:#800020;color:#fff;border-color:#800020}.tasks-btn-working.active:hover{background:#600018;border-color:#600018}.tasks-btn-complete{background:#2e7d32;color:#fff;border-color:#2e7d32}.tasks-btn-complete:hover{background:#1b5e20;border-color:#1b5e20}.tasks-btn-reopen{background:#1565c0;color:#fff;border-color:#1565c0}.tasks-btn-reopen:hover{background:#0d47a1;border-color:#0d47a1}.tasks-btn-edit{background:#800020;color:#fff;border-color:#800020}.tasks-btn-edit:hover{background:#600018;border-color:#600018}.tasks-btn-delete{background:#fff;color:#c62828;border-color:#c62828}.tasks-btn-delete:hover{background:#ffebee}.tasks-btn-archive{background:#5c6bc0;color:#fff;border-color:#5c6bc0}.tasks-btn-archive:hover{background:#3949ab;border-color:#3949ab}.tasks-btn-restore{background:#00897b;color:#fff;border-color:#00897b}.tasks-btn-restore:hover{background:#00695c;border-color:#00695c}.tasks-btn-primary{background:#800020;color:#fff;border-color:#800020}.tasks-btn-primary:hover{background:#600018;border-color:#600018}.tasks-btn-secondary{background:#f5f5f5;color:#333}.tasks-form-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background-color:#00000080;overflow-y:auto}.tasks-form-modal{width:100%;max-width:520px;max-height:calc(100vh - 3rem);background:#fff;border:2px solid #800020;border-radius:10px;padding:1.5rem 1.75rem;box-shadow:0 8px 32px #0003;overflow-y:auto}.tasks-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.tasks-form-header h3{color:#800020;margin:0;font-size:1.25rem}.tasks-form-close{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:#666;padding:0 .25rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.tasks-form-close:hover{color:#333}.tasks-form label{display:block;margin-top:1rem;margin-bottom:.35rem;font-weight:500;color:#333}.tasks-form label .required{color:#c62828}.tasks-form input[type=text],.tasks-form input[type=date],.tasks-form select,.tasks-form textarea{width:100%;padding:.5rem .6rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;font-family:inherit;box-sizing:border-box;font-size:max(1rem,16px)}.tasks-form textarea{resize:vertical;min-height:4rem}.tasks-form-suggested-staff{display:flex;flex-direction:column;gap:.4rem;max-height:12rem;overflow-y:auto;border:1px solid #e0e0e0;border-radius:4px;padding:.6rem .75rem;background:#fafafa}.tasks-form-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400;margin:0;min-height:36px}.tasks-form-checkbox-label input{width:auto;margin:0}.tasks-form-no-staff{color:#666;font-size:.9rem}.tasks-form-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #eee}.tasks-form-actions .tasks-btn{padding:.5rem 1rem}@media(max-width:640px){.tasks-container{flex-direction:column;gap:1rem}.tasks-sidebar{width:100%;flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0;gap:.5rem}.tasks-sidebar::-webkit-scrollbar{display:none}.tasks-sidebar-item{flex:0 0 auto;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;white-space:nowrap}.tasks-main{max-width:100%}.tasks-form-overlay{padding:0;align-items:flex-end}.tasks-form-modal{max-width:100%;max-height:92vh;border-radius:16px 16px 0 0;border-bottom:none;padding:1.25rem 1rem}.tasks-card-actions{gap:.4rem}.tasks-btn{font-size:.8rem;padding:.4rem .6rem}}html[data-theme=dark] .tasks-sidebar-item{background:#ffffff0f;color:#ffffffd1}html[data-theme=dark] .tasks-sidebar-item:hover{background:#ffffff1f}html[data-theme=dark] .tasks-sidebar-item.active{background:#800020;color:#fff}html[data-theme=dark] .tasks-header h2{color:#fffffff0}html[data-theme=dark] .tasks-loading{color:#ffd7e5}html[data-theme=dark] .tasks-error{background-color:#b4000040;border-color:#ffc1c1e6;color:#ffe5e5}html[data-theme=dark] .tasks-empty{background:#ffffff0a;color:#ffffffd6}html[data-theme=dark] .tasks-card{background:#ffffff0a;border-color:#ffffff24;box-shadow:0 10px 28px #000000b3}html[data-theme=dark] .tasks-card-title{color:#fffffff0}html[data-theme=dark] .tasks-card-description,html[data-theme=dark] .tasks-card-meta,html[data-theme=dark] .tasks-card-workers{color:#ffffffdb}html[data-theme=dark] .tasks-form-modal{background:#09090efa;border-color:#800020d9}html[data-theme=dark] .tasks-form-header h3{color:#fffffff2}html[data-theme=dark] .tasks-form label{color:#ffffffe6}html[data-theme=dark] .tasks-form input[type=text],html[data-theme=dark] .tasks-form input[type=date],html[data-theme=dark] .tasks-form select,html[data-theme=dark] .tasks-form textarea{background:#ffffff0d;border-color:#ffffff2e;color:#fffffff5}html[data-theme=dark] .tasks-form-suggested-staff{background:#ffffff08;border-color:#ffffff29}html[data-theme=dark] .tasks-btn{background:#ffffff0d;border-color:#ffffff38;color:#ffffffe6}html[data-theme=dark] .tasks-btn-secondary{background:#ffffff05;color:#ffffffd9}.admin-users{display:flex;gap:1rem;align-items:flex-start}.admin-users-sidebar{width:220px;flex:0 0 220px;border:1px solid #eee;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 1px 3px #8000200f}.admin-users-sidebar-title{padding:.9rem 1rem;font-weight:700;color:#800020;border-bottom:1px solid #eee;background:#8000200a}.admin-users-sidebar-item{width:100%;text-align:left;padding:.8rem 1rem;background:transparent;border:none;border-bottom:1px solid #f2f2f2;cursor:pointer;color:#333;font-weight:600;min-height:44px}.admin-users-sidebar-item:hover{background:#8000200f}.admin-users-sidebar-item.active{background:#8000201a;color:#800020}.admin-users-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1rem}.admin-users-card{border:1px solid #eee;border-radius:10px;background:#fff;padding:1rem}.admin-users-card-header h3{margin:0 0 .25rem;color:#800020}.admin-users-card-header p{margin:0 0 .75rem;color:#666}.admin-users-create-form input,.admin-users-create-form select,.admin-users-search input,.admin-users-table select{width:100%;padding:.65rem .75rem;border-radius:8px;border:1px solid #ddd;outline:none;font-size:max(1rem,16px);box-sizing:border-box}.admin-users-create-form input:focus,.admin-users-create-form select:focus,.admin-users-search input:focus,.admin-users-table select:focus{border-color:#80002099;box-shadow:0 0 0 3px #8000201f}.admin-users-form-grid{display:grid;grid-template-columns:1.6fr 1.1fr .8fr;gap:.75rem}.admin-users-field label{display:block;font-weight:700;margin-bottom:.35rem;color:#333}.admin-users-hint{margin-top:.35rem;font-size:.85rem;color:#777}.admin-users-actions{margin-top:.85rem;display:flex;justify-content:flex-end}.admin-users-actions button,.admin-users-search button,.admin-users-copy{padding:.65rem 1rem;border-radius:8px;border:none;cursor:pointer;font-weight:700;background:#800020;color:#fff;min-height:44px}.admin-users-inline-actions{display:inline-flex;gap:.5rem;align-items:center;flex-wrap:wrap}.admin-users-icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #e0e0e0;background:#fff;color:#555;cursor:pointer}.admin-users-icon-btn:hover{background:#8000200f;border-color:#80002040;color:#800020}.admin-users-eye-icon{width:18px;height:18px}.admin-users-search button.secondary{background:#f2f2f2;color:#333;border:1px solid #e0e0e0}.admin-users-actions button:disabled,.admin-users-search button:disabled{opacity:.7;cursor:not-allowed}.admin-users-error{margin-top:.75rem;padding:.7rem .85rem;border-radius:8px;background:#be1e2d14;border:1px solid rgba(190,30,45,.25);color:#8a1020;font-weight:600}.admin-users-success{margin-top:.75rem;padding:.8rem .9rem;border-radius:10px;background:#00a07814;border:1px solid rgba(0,160,120,.25)}.admin-users-success-title{font-weight:800;color:#0a6b52;margin-bottom:.5rem}.admin-users-success-row{display:grid;grid-template-columns:150px 1fr auto;gap:.75rem;align-items:center}.admin-users-success-label{color:#1e5a4a;font-weight:700}.admin-users-success-password{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;padding:.6rem .75rem;border-radius:8px;background:#ffffffb3;border:1px dashed rgba(0,160,120,.35);word-break:break-all}.admin-users-copy{background:#0a6b52}.admin-users-search{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center;margin:.75rem 0 .5rem}.admin-users-table-wrap{margin-top:.75rem;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid #eee;border-radius:10px;max-width:100%;box-sizing:border-box}.admin-users-table{width:100%;border-collapse:collapse;min-width:760px}.admin-users-table th,.admin-users-table td{text-align:left;padding:.75rem .85rem;border-bottom:1px solid #f2f2f2}.admin-users-table th{background:#8000200a;color:#800020;font-weight:800;position:sticky;top:0}.admin-users-empty{text-align:center;color:#777;padding:1.5rem .75rem}html[data-theme=dark] .admin-users-sidebar{background:#303134;border-color:#3c4043;box-shadow:0 16px 36px #00000073}html[data-theme=dark] .admin-users-sidebar-title{background:#80002059;border-bottom-color:#3c4043}html[data-theme=dark] .admin-users-sidebar-item{color:#e8eaed;border-bottom-color:#3c4043}html[data-theme=dark] .admin-users-sidebar-item.active{background:#800020;color:#fff}html[data-theme=dark] .admin-users-card{background:#303134;border-color:#3c4043;box-shadow:0 18px 40px #00000073}html[data-theme=dark] .admin-users-card-header h3{color:#e8eaed}html[data-theme=dark] .admin-users-card-header p{color:#bdc1c6}html[data-theme=dark] .admin-users-field label,html[data-theme=dark] .admin-users-hint{color:#e8eaed}html[data-theme=dark] .admin-users-create-form input,html[data-theme=dark] .admin-users-create-form select,html[data-theme=dark] .admin-users-search input,html[data-theme=dark] .admin-users-table select{background:#202124;border-color:#3c4043;color:#e8eaed}html[data-theme=dark] .admin-users-table-wrap{border-color:#3c4043}html[data-theme=dark] .admin-users-table th{background:#80002059;color:#e8eaed}html[data-theme=dark] .admin-users-table td{border-bottom-color:#3c4043;color:#e8eaed}html[data-theme=dark] .admin-users-table tbody tr{background-color:#303134}html[data-theme=dark] .admin-users-table tbody tr:hover{background-color:#3c4043}html[data-theme=dark] .admin-users-empty,html[data-theme=dark] .admin-users-date{color:#bdc1c6}.admin-users-date{color:#666;white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.admin-users-password-cell{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.admin-users-small-btn{padding:.55rem .75rem;border-radius:8px;border:none;cursor:pointer;font-weight:800;background:#800020;color:#fff;min-height:44px}.admin-users-small-btn.secondary{background:#f2f2f2;color:#333;border:1px solid #e0e0e0}.admin-users-password-reveal,.admin-users-set-password{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.admin-users-password-input{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center;flex:1;min-width:180px}.admin-users-inline-error{padding:.55rem .65rem;border-radius:8px;background:#be1e2d14;border:1px solid rgba(190,30,45,.25);color:#8a1020;font-weight:700;font-size:.9rem}@media(max-width:980px){.admin-users{flex-direction:column}.admin-users-sidebar{width:100%;flex:0 0 auto;display:flex;border-radius:10px}.admin-users-sidebar-title{display:none}.admin-users-sidebar-item{border-bottom:none;border-right:1px solid #eee;flex:1;text-align:center}.admin-users-form-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.admin-users-form-grid,.admin-users-search{grid-template-columns:1fr}.admin-users-search button{width:100%}.admin-users-sidebar{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-users-sidebar-item{flex:0 0 auto;min-width:80px}.admin-users-success-row{grid-template-columns:1fr}.admin-users-table{min-width:560px}}.settings-container{display:flex;flex-direction:column;min-height:100vh;background-color:#f5f5f5}.settings-navbar{background-color:#fff;border-bottom:2px solid #800020;padding:1rem 2rem;box-shadow:0 2px 4px #8000201a;position:sticky;top:0;z-index:100}.settings-body{display:flex;flex:1;max-width:min(1200px,96vw);width:100%;margin:0 auto;padding:1.5rem 1rem;box-sizing:border-box;gap:2rem}.settings-sidebar{flex-shrink:0;width:220px;background-color:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #8000201a;border-top:3px solid #800020;height:fit-content;position:sticky;top:1.5rem}.settings-sidebar-title{font-size:1.1rem;font-weight:600;color:#800020;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid #e0e0e0}.settings-back-btn{display:block;width:100%;margin-bottom:1rem;padding:.5rem .75rem;background:none;border:1px solid #800020;border-radius:6px;color:#800020;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s}.settings-back-btn:hover{background-color:#8000201a}.settings-sidebar-nav{display:flex;flex-direction:column;gap:.25rem}.settings-sidebar-item{display:block;width:100%;padding:.65rem 1rem;text-align:left;background:none;border:none;border-radius:6px;font-size:.95rem;font-weight:500;color:#444;cursor:pointer;transition:background-color .2s,color .2s}.settings-sidebar-item:hover{background-color:#80002014;color:#800020}.settings-sidebar-item.active{background-color:#8000201f;color:#800020;font-weight:600}.settings-main{flex:1;min-width:0;background-color:#fff;border-radius:8px;padding:1.5rem 2rem;box-shadow:0 1px 3px #8000201a;border-top:3px solid #800020;min-height:400px;box-sizing:border-box}.settings-section-heading{font-size:1.5rem;font-weight:600;color:#800020;margin:0 0 1.25rem}.settings-section-content{display:flex;flex-direction:column;gap:1.25rem}.settings-field{display:flex;flex-direction:column;gap:.4rem}.settings-field label{font-size:.9rem;font-weight:600;color:#333}.settings-input{max-width:400px;padding:.6rem .75rem;font-size:1rem;border:1px solid #ccc;border-radius:6px;background-color:#fff}.settings-input:focus{outline:none;border-color:#800020;box-shadow:0 0 0 2px #80002026}.settings-input-readonly{background-color:#f5f5f5;color:#555;cursor:default}.settings-hint{font-size:.85rem;color:#666;margin:0}.settings-password-form{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:1.25rem;max-width:400px}.settings-subheading{font-size:1.1rem;font-weight:600;color:#333;margin:0 0 .25rem}.settings-message{font-size:.9rem;margin:0;padding:.5rem .75rem;border-radius:6px}.settings-message-success{background-color:#0080001a;color:#0a5c0a}.settings-message-error{background-color:#b400001a;color:#8b0000}.settings-submit-btn{align-self:flex-start;background-color:#800020;color:#fff;border:none;padding:.6rem 1.25rem;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s}.settings-submit-btn:hover:not(:disabled){background-color:#600018}.settings-submit-btn:disabled{opacity:.7;cursor:not-allowed}.settings-placeholder{color:#666;font-size:1rem;margin:0}.settings-preference{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid #e8e0e3;border-radius:10px;background:linear-gradient(180deg,#8000200a,#fff0)}.settings-preference-title{font-weight:700;color:#222}.settings-preference-subtitle{margin-top:2px;font-size:.9rem;color:#666}.settings-switch{position:relative;width:52px;height:30px;flex:0 0 auto}.settings-switch input{opacity:0;width:0;height:0}.settings-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#d7d7d7;border-radius:999px;transition:background-color .2s ease}.settings-switch-slider:before{content:"";position:absolute;height:24px;width:24px;left:3px;top:3px;background-color:#fff;border-radius:999px;transition:transform .2s ease;box-shadow:0 2px 10px #00000026}.settings-switch input:checked+.settings-switch-slider{background-color:#800020}.settings-switch input:checked+.settings-switch-slider:before{transform:translate(22px)}.settings-switch input:disabled+.settings-switch-slider{opacity:.6;cursor:not-allowed}html[data-theme=dark] .settings-container{background-color:#0b0b0f}html[data-theme=dark] .settings-navbar{background-color:#ffffff0d;border-bottom-color:#800020a6}html[data-theme=dark] .settings-sidebar,html[data-theme=dark] .settings-main{background-color:#ffffff0f;box-shadow:0 10px 30px #00000059;border-top-color:#800020bf}html[data-theme=dark] .settings-sidebar-title,html[data-theme=dark] .settings-section-heading{color:#ffffffeb}html[data-theme=dark] .settings-sidebar-item{color:#ffffffd6}html[data-theme=dark] .settings-sidebar-item.active,html[data-theme=dark] .settings-sidebar-item:hover{color:#ffffffeb;background-color:#80002038}html[data-theme=dark] .settings-back-btn{color:#ffffffd9;border-color:#800020bf}html[data-theme=dark] .settings-back-btn:hover{background-color:#80002038}html[data-theme=dark] .settings-field label,html[data-theme=dark] .settings-subheading,html[data-theme=dark] .settings-preference-title{color:#ffffffe6}html[data-theme=dark] .settings-preference-subtitle,html[data-theme=dark] .settings-placeholder{color:#ffffffd1}html[data-theme=dark] .settings-input{background-color:#ffffff14;border-color:#ffffff24;color:#ffffffeb}html[data-theme=dark] .settings-input-readonly{background-color:#ffffff0f;color:#ffffffdb}html[data-theme=dark] .settings-preference{border-color:#ffffff24;background:linear-gradient(180deg,#8000202e,#ffffff05)}@media(max-width:600px){.settings-body{flex-direction:column;padding:1rem}.settings-sidebar{width:100%;position:static;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.5rem}.settings-sidebar-title{width:100%;margin-bottom:.5rem}.settings-sidebar-nav{flex-direction:row;flex-wrap:wrap;gap:.5rem}.settings-sidebar-item{width:auto}.settings-main{padding:1.25rem}}.site-footer{width:100%;display:flex;flex-direction:column;background:#121212;color:#ffffffc7;border-top:1px solid rgba(255,255,255,.08);overflow:hidden}.site-footer-bar{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:.9rem;padding:.55rem 1.25rem}.site-footer-logo{font-size:.95rem;font-weight:700;letter-spacing:.02em;color:#fff}.site-footer-logo span{color:#c9a84cb3}.site-footer-bar-text{color:#ffffff8f;font-size:.8rem;margin-left:auto}.site-footer-socials{display:flex;align-items:center;gap:.35rem}.site-footer-social-link{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(201,168,76,.3);color:#c9a84cf2;text-decoration:none;font-size:.72rem;font-weight:700;line-height:1}.site-footer-social-link:hover{border-color:#c9a84c99;color:#c9a84c}.site-footer-chevron{color:#c9a84ce6;font-size:.7rem;transition:transform .22s ease}.site-footer-panel{width:100%;max-height:0;opacity:0;transform:translateY(10px);transition:max-height .3s ease,opacity .22s ease,transform .26s ease;display:flex;justify-content:space-between;gap:1.1rem;padding:0 1.25rem}.site-footer:hover .site-footer-panel,.site-footer:focus-within .site-footer-panel{max-height:130px;opacity:1;transform:translateY(0);padding:.25rem 1.25rem .9rem}.site-footer:hover .site-footer-chevron,.site-footer:focus-within .site-footer-chevron{transform:rotate(180deg)}.site-footer-meta{min-width:300px}.site-footer-copy{margin:0 0 .3rem;font-size:.8rem}.site-footer-photo-credit{margin:0 0 .3rem;font-size:.76rem;color:#ffffff9e}.site-footer-contact{margin:0;font-size:.78rem;color:#ffffffa3;line-height:1.35}.site-footer-links{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.site-footer-link{display:inline-block;padding:.22rem .52rem;border:1px solid rgba(201,168,76,.28);border-radius:999px;color:#c9a84cf2;text-decoration:none;font-size:.76rem;font-weight:600;white-space:nowrap;transition:border-color .18s ease,color .18s ease}.site-footer-link:hover{color:#c9a84c;border-color:#c9a84c99}@media(prefers-reduced-motion:reduce){.site-footer-chevron,.site-footer-panel{transition:none}}@media(max-width:900px){.site-footer-bar{min-height:40px;padding:.5rem .9rem}.site-footer-bar-text{display:none}.site-footer-social-link{width:22px;height:22px;font-size:.68rem}.site-footer-panel{flex-direction:column;gap:.75rem;padding:0 .9rem}.site-footer:hover .site-footer-panel,.site-footer:focus-within .site-footer-panel{max-height:240px;padding:.15rem .9rem .75rem}.site-footer-meta{min-width:0}.site-footer-links{justify-content:flex-start}}#root{margin:0;padding:0;width:100%;min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
