:root{--wine:#79162a;--dark:#431020;--gold:#d9b669;--ink:#292632;--muted:#706b76;--line:#e6e3e8;--bg:#f5f5f8;--white:#fff}*{box-sizing:border-box}body{margin:0;font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--wine);text-underline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:2.15rem;letter-spacing:-.045em;line-height:1.15;margin-bottom:14px}h2{font-size:1.35rem;line-height:1.3}h3{font-size:1rem;margin-bottom:5px}small{font-size:.85rem}button,input,textarea,select{font:inherit}button,.button{background:var(--wine);color:#fff;border:1px solid var(--wine);border-radius:9px;padding:12px 19px;cursor:pointer;text-decoration:none;font-weight:600;display:inline-flex;gap:20px;align-items:center;justify-content:center;min-height:46px}button:hover,.button:hover{filter:brightness(1.1)}button.secondary,.button.secondary{background:white;color:var(--wine);border-color:#cfc5ca}.gold{background:#e5c888;color:#3d1b20;border-color:#e5c888}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:white;border-right:1px solid var(--line);padding:28px 18px;overflow:auto;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;line-height:1.3;margin:0 0 35px;font-size:.95rem}.brand img{width:56px;height:56px;object-fit:cover;border-radius:50%}.brand strong{font-size:1.1rem}.navlabel,.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.13em;color:var(--wine)}.navlabel{color:var(--muted);padding:0 14px;margin-bottom:12px}nav a{display:flex;align-items:center;gap:13px;color:#67606a;text-decoration:none;border-radius:8px;padding:10px 14px;margin-bottom:3px;font-size:.94rem}nav a:hover,nav a[aria-current]{color:var(--wine);background:#f8edf0}nav a[aria-current]{font-weight:700}.navicon{font-size:1.2rem;width:17px}.sidebarfoot{margin-top:auto;padding:28px 14px 0;color:var(--muted);font-size:.9rem}.sidebarfoot a{color:var(--ink);text-decoration:none}.sidebarfoot small,td small{display:block;color:var(--muted);margin-top:4px}.logout{background:none;color:var(--muted);border:0;padding:6px 0;font-weight:400}.shell{margin-left:250px}.topbar{height:75px;background:white;border-bottom:1px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between;font-size:.9rem;color:var(--muted)}.topbar a{text-decoration:none}main{max-width:1450px;margin:auto;padding:36px 40px}.pageheading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.pageheading p{margin-bottom:0}.muted{color:var(--muted)}.welcome{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#641326,#861d30);border-radius:17px;overflow:hidden;color:white;padding:30px 36px;margin-bottom:27px;min-height:235px}.welcome h2{font-size:2rem;letter-spacing:-.02em;margin:12px 0}.welcome .eyebrow{color:#f2d9a2}.welcome p{color:#ead8dd}.welcome img{width:190px;height:190px;border-radius:50%;margin:0 12px 0 25px;box-shadow:0 0 0 6px #ffffff0d}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:28px}.tile{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;text-decoration:none;color:var(--ink)}.tile:hover,.itemcard:hover{border-color:var(--gold);box-shadow:0 4px 12px #43102009}.tileicon{font-size:1.6rem;color:var(--wine);display:block;margin-bottom:20px}.tile .muted{font-size:.85rem}.arrow{float:right}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:26px;margin-bottom:22px;min-width:0}.sectionhead{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.sectionhead a{font-size:.85rem;text-decoration:none}.listrow{display:flex;align-items:center;gap:18px;padding:18px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}.datebox{background:#f8eff0;border-radius:8px;min-width:50px;text-align:center;font-size:1.4rem;font-weight:700;color:var(--wine);padding:6px}.datebox small{display:block;font-size:.8rem}.newsrow{display:block;border-top:1px solid var(--line);padding:18px 0;text-decoration:none;color:var(--ink)}.newsrow small{color:var(--muted)}.newsrow h3{margin-top:5px}.newsrow p{font-size:.9rem;margin:0;color:var(--muted)}.empty{padding:30px 8px;color:var(--muted)}.badge{display:inline-block;background:#f4eef0;border-radius:5px;padding:4px 9px;color:var(--wine);font-size:.85rem;white-space:nowrap}.badge.late{background:#ffeadb;color:#973b0a}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.itemcard{color:var(--ink);text-decoration:none;display:flex;flex-direction:column}.itemcard h2{margin-top:13px}.cardlink{margin-top:auto;padding-top:20px;color:var(--wine);font-weight:600}.filters{display:flex;gap:15px;align-items:end;flex-wrap:wrap;margin-bottom:25px}.filters label{margin:0;flex:1;min-width:150px}.filters a{padding:12px}.filters button{margin:0}.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:14px 0}.actions form{margin:0}.prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:20px 0}.back{display:block;margin-bottom:24px;text-decoration:none}.tablewrap{overflow-x:auto;padding:8px 20px}table{border-collapse:collapse;width:100%;text-align:left;font-size:.94rem}th{font-size:.85rem;color:var(--muted);font-weight:600}td,th{padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border:0}.money{white-space:nowrap}label{display:block;font-size:.94rem;font-weight:500;margin:0 0 18px}input,select,textarea{display:block;margin-top:7px;width:100%;min-height:46px;padding:10px 12px;border:1px solid #d2ced6;border-radius:7px;background:white;color:var(--ink)}textarea{resize:vertical}.check{display:flex;gap:10px;align-items:center;font-weight:400}.check input{width:18px;min-height:18px;margin:0;accent-color:var(--wine)}.formgrid,.permissiongrid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.editor{max-width:920px}.permissiongrid label{padding:12px;background:var(--bg);border-radius:8px}form button{margin-top:6px}details summary{cursor:pointer;color:var(--wine)}details[open] summary{margin-bottom:15px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo{width:100%;max-height:350px;object-fit:cover;border-radius:8px;margin-bottom:15px}.filecard h3{overflow-wrap:anywhere}.filelist .filecard{padding:20px}.filelist .photo{max-width:350px}audio{display:block;width:100%;max-width:650px;margin-top:15px}.textbutton{background:none;border:0;color:var(--wine);padding:0;min-height:32px;text-decoration:underline;font-weight:400}.dangerzone{margin-top:25px}.notice{background:#eaf4ee;border:1px solid #bad5c3;padding:15px 20px;border-radius:9px;margin-bottom:25px;color:#27553b}footer{padding:20px 40px;color:var(--muted);font-size:.8rem}.public{margin:0}.public main{min-height:90vh;display:grid;align-items:center;max-width:1120px}.public main>.notice{align-self:end}.auth{display:grid;grid-template-columns:1fr 1.15fr;background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 25px 60px #4310200c}.authbrand{background:var(--dark);color:#e9ce96;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px}.authbrand img{width:100%;max-width:285px;border-radius:50%;margin-bottom:30px}.authbrand p{font-size:1.2rem}.auth section{padding:48px}.auth h1{margin-top:15px}.auth form{margin-top:25px}.auth button{width:100%;margin-bottom:20px}.auth section>a{font-size:.9rem}.skip{position:fixed;left:10px;top:-100px;padding:10px;background:white;z-index:10}.skip:focus{top:10px}:focus-visible{outline:3px solid #bf913a;outline-offset:3px}code{overflow-wrap:anywhere;font-size:.85rem}@media(max-width:1150px){.sidebar{width:220px}.shell{margin-left:220px}.shell.public{margin-left:0}main{padding:28px}.cards{grid-template-columns:repeat(2,1fr)}.welcome img{width:140px;height:140px}.tiles{gap:10px}.tile{padding:17px}.twocol{gap:16px}}@media(max-width:820px){.sidebar{position:static;width:auto;padding:15px;display:block}.brand{margin-bottom:15px}.brand img{width:44px;height:44px}.navlabel{display:none}nav{display:flex;overflow-x:auto;gap:4px}nav a{flex-shrink:0;padding:8px 12px}.sidebarfoot{display:none}.shell{margin:0}.topbar{height:54px;padding:0 20px}.topbar span{font-size:.8rem}main{padding:24px 20px}.twocol{grid-template-columns:1fr}.welcome{padding:24px}.welcome h2{font-size:1.7rem}.welcome img{width:125px;height:125px;margin-left:10px}.tiles{grid-template-columns:repeat(2,1fr)}.tileicon{margin-bottom:10px}.pageheading{align-items:flex-start;flex-wrap:wrap}.pageheading h1{font-size:1.9rem}.gallery{grid-template-columns:repeat(2,1fr)}.auth section{padding:30px}.authbrand{padding:25px}.public main{padding:20px}}@media(max-width:530px){.welcome img{display:none}.welcome h2{font-size:1.8rem}.welcome p br{display:none}.cards,.formgrid,.permissiongrid,.gallery{grid-template-columns:1fr}.panel{padding:20px}.tablewrap{padding:8px}.auth{grid-template-columns:1fr}.authbrand{padding:22px}.authbrand img{width:95px;margin:0}.authbrand p{display:none}.auth section{padding:27px}.auth h1{font-size:1.9rem}.filters{align-items:stretch}.filters label{flex-basis:100%}.filters button{flex-grow:1}h1{font-size:1.9rem}.pageheading .actions{margin:0}.button{font-size:.94rem}.public main{min-height:90vh}footer{padding:20px}}

.menutoggle{display:none}@media(max-width:820px){.sidebar{position:relative}.brand{margin-bottom:0;max-width:calc(100% - 90px)}.menutoggle{display:block;position:absolute;right:15px;top:15px;min-height:42px;padding:7px 15px}nav{display:none;margin-top:16px}nav.open{display:grid;grid-template-columns:1fr 1fr;overflow:visible}nav a{white-space:normal;min-width:0}.navicon{flex-shrink:0}}

.view-switch{display:flex;gap:.5rem;margin:1rem 0}.filters{flex-wrap:wrap}.birthday-list{list-style:none;padding:0}.birthday-list li{display:flex;gap:1rem;padding:.6rem 0;border-bottom:1px solid #eee}.editor>button{margin-right:.6rem;margin-top:.8rem}

/* A brighter rehearsal room: burgundy, gold and generous white surfaces. */
:root{--wine:#8d2039;--dark:#55172c;--gold:#e5b64d;--ink:#302836;--muted:#716773;--line:#eadfe3;--bg:#fff9f6}
body{background:radial-gradient(ellipse at 85% 2%,#fff0ce88,transparent 45%),var(--bg)}
h1,h2{color:var(--dark)}h1{letter-spacing:-.035em}.personal-note{color:var(--muted);margin:10px 0 0;max-width:650px;font-size:1rem;font-weight:400}
.sidebar{background:linear-gradient(180deg,#fff 0%,#fff9f5 100%);border-right:1px solid #ead8d9}.brand{margin-bottom:26px}.brand img{box-shadow:0 0 0 4px #fbe9bb}.navlabel{font-size:.75rem;color:#8d5964;letter-spacing:.11em}nav a{border-radius:12px;color:#63505c}nav a:hover,nav a[aria-current]{background:#f9e4e9;color:#851c37}nav a[aria-current]{box-shadow:inset 3px 0 #b24661}
.topbar{background:#ffffffd9;border-bottom-color:#eddfd9;font-size:.95rem}.topbar strong{color:var(--wine)}.greeting-note{color:#aa7922;font-size:1.25rem;margin-left:6px}.profile-pill{display:flex;align-items:center;gap:9px}.avatar{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#f5dce4;color:var(--wine);font-weight:700}
.welcome{background:radial-gradient(ellipse at 85% 15%,#d9676d66,transparent 48%),linear-gradient(115deg,#6e1733,#9c2846 70%,#a84c49);border-radius:23px;border:1px solid #a53b53;box-shadow:0 10px 30px #731a3010;min-height:230px}.welcome h2{color:white;font-size:2.2rem}.welcome img{box-shadow:0 0 0 8px #fff2,0 0 0 18px #ffeac40d}.welcome p{color:#fff1ef}.welcome .gold{background:#f6d88e;color:#512339;border-color:#f6d88e}
.panel,.tile{border-radius:17px;box-shadow:0 3px 14px #6f273005}.tile{border-top:4px solid #e7b958;background:linear-gradient(155deg,#fff,#fff8ec)}.tile:nth-child(2){border-top-color:#cf6881;background:linear-gradient(155deg,#fff,#fff2f5)}.tile:nth-child(3){border-top-color:#65a796;background:linear-gradient(155deg,#fff,#f0faf5)}.tile:nth-child(4){border-top-color:#9787bf;background:linear-gradient(155deg,#fff,#f6f3fb)}.tileicon{display:inline-grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#ffffffb8;margin-bottom:15px}.itemcard{border-top:3px solid #e8c985}.itemcard h2{color:#66213a}.datebox{background:#fff0cb;color:#835419}.badge{border-radius:20px;background:#f9e9ee}.newsrow h3{color:#813047}.demo-banner{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff0c9;border:1px solid #ebcc78;border-radius:12px;padding:12px 18px;margin-bottom:24px;color:#67451d;font-size:.9rem}.demo-banner span{display:block}.demo-readonly{background:#fff7e1;padding:12px 16px;border-radius:10px;color:#6c5127}.pageheading{margin-bottom:22px}.welcome .eyebrow{color:#ffdf93}
@media(max-width:820px){.topbar{padding:0 20px;height:auto;min-height:58px;gap:12px}.topbar>span{font-size:.9rem}.profile-pill{font-size:.85rem}.sidebar{background:#fff}.personal-note{font-size:.96rem}}
@media(max-width:530px){.welcome{padding:25px;min-height:215px}.welcome h2{font-size:1.8rem}.demo-banner{gap:4px}.topbar .avatar{display:none}.topbar{padding:10px 20px}.panel{border-radius:14px}}
@media(prefers-reduced-motion:no-preference){.tile,.itemcard{transition:transform .15s ease,box-shadow .15s ease}.tile:hover,.itemcard:hover{transform:translateY(-2px)}}

.welcome{padding-right:0;gap:25px}.welcome>div{flex:1;padding:4px 0}.welcome .stage-image{display:block;align-self:stretch;width:43%;height:auto;max-height:310px;min-height:230px;object-fit:cover;border-radius:0 22px 22px 0;margin:-30px 0 -30px 0;box-shadow:none;mask-image:linear-gradient(to right,transparent,#000 22%)}@media(max-width:820px){.welcome .stage-image{margin:-24px 0;max-width:38%}}@media(max-width:530px){.welcome{padding-right:25px}.welcome .stage-image{display:none}}

/* Financial administration follows the portal's existing colours and spacing. */
.finance-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.finance-nav a{padding:9px 13px;border:1px solid #dfcda6;border-radius:8px;background:#fffaf0;color:#790f20;text-decoration:none}.finance-nav a:hover,.finance-nav a:focus{background:#ead6a5}.finance-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.finance-cards h2{font-size:16px;margin-top:0}.finance-total{font-size:28px;font-weight:700;color:#790f20;margin:8px 0}.finance-nav~details.panel{margin-bottom:20px}details.panel summary{cursor:pointer;font-weight:bold;padding:12px 0}@media(max-width:680px){.finance-cards{grid-template-columns:1fr}.finance-nav a{flex:1 1 42%;text-align:center}}

/* Phone-first community navigation and member portraits. */
.people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}.person{text-align:center;overflow-wrap:anywhere}.person h2{font-size:1.2rem;margin:16px 0 10px}.portrait{width:160px;height:160px;object-fit:cover;border-radius:50%;margin:auto;display:block}.initials{display:grid;place-items:center;background:#f8e6cc;color:#702039;font-size:3rem;font-weight:700}.member-address{white-space:pre-line}.folder-grid{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.folder{border:1px solid var(--line);border-radius:12px;padding:14px 18px;background:white;text-decoration:none;min-height:48px}.folder.selected{background:#f9e4e9;border-color:var(--wine)}.agenda-production{display:flex;gap:24px;border-top:1px solid var(--line);padding:20px 0}.agenda-production time{min-width:105px}.agenda-production h3{margin:0}.agenda-production p{white-space:pre-line}.person .badge{white-space:normal}main{min-width:0}input,select,textarea{font-size:16px}img,video,iframe{max-width:100%}button,.button,nav a{min-height:44px}h1,h2,h3,.brand{overflow-wrap:anywhere}.filters>*{min-width:0}.tablewrap{max-width:100%}
@media(max-width:820px){.sidebar{position:sticky;top:0;z-index:20;box-shadow:0 2px 10px #55172c12}.sidebar .brand{margin-bottom:0}.sidebar nav.open{max-height:65vh;overflow-y:auto;overscroll-behavior:contain}.sidebar nav a{align-items:center}.topbar{position:static}.brand span{font-size:14px}.menutoggle{min-height:44px}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portrait{width:110px;height:110px}.initials{font-size:2.2rem}.agenda-production{flex-direction:column;gap:8px}.folder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:530px){main{padding:20px 14px}.person{padding:16px 10px}.person h2{font-size:1rem}.portrait{width:96px;height:96px}.filters{gap:10px}.filters label{min-width:0}.pageheading .button{width:100%}.editor{padding:18px}.view-switch a{flex:1;text-align:center}.actions{gap:8px}.topbar{padding:10px 14px}.brand img{width:40px;height:40px}.folder{padding:14px 12px}.sidebar nav.open{grid-template-columns:1fr 1fr}.birthday-list li{flex-wrap:wrap;gap:5px 12px}}
@media(max-width:530px){.sectionhead{flex-direction:column;align-items:stretch;gap:12px}.sectionhead h2{margin:0}.sectionhead .button{text-align:center}.greeting-note{display:none}.topbar>span{flex:1}.profile-pill{flex-shrink:0;white-space:nowrap}}
