@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{--bg:#f5f5ef;--paper:#fff;--green:#254739;--ink:#263d34;--muted:#7e877f;--line:#e6e9e1;--lime:#d8e9a5}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:DM Sans,sans-serif;font-size:14px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;transition:background .18s,transform .18s}button:disabled{opacity:.45;cursor:default}button:not(:disabled):active{transform:translateY(1px)}a{color:inherit;text-decoration:none}:is(button:focus-visible,a:focus-visible,input:focus-visible){outline-offset:4px;outline:3px solid #9cba73}.app{flex-direction:column;max-width:1600px;min-height:100vh;margin:auto;display:flex}.topbar{border-bottom:1px solid #dfe4d9;justify-content:space-between;align-items:center;height:108px;margin:0 5.5%;display:flex}.brand{letter-spacing:-1.8px;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:35px;font-weight:800;display:flex}.brand-dot{color:#9baf6c;margin-left:-13px}.mark{width:30px;height:30px;margin-right:3px;display:block;position:relative}.mark span{border:1.5px solid var(--green);border-radius:50%;width:23px;height:23px;position:absolute;top:3px;left:0}.mark span:nth-child(2){left:7px}.mark span:nth-child(3){top:0;left:3px}.mark span:nth-child(4){top:7px;left:3px}.header-label,.season{letter-spacing:2px;font-size:10px;font-weight:600}.season{color:#84907d;letter-spacing:1.5px}.member-main{flex:1;grid-template-columns:1fr 1.08fr;align-items:start;gap:9%;width:89%;max-width:1230px;margin:66px auto 62px;display:grid}.intro{padding-top:35px}.eyebrow{letter-spacing:1.8px;color:#7c877b;align-items:center;gap:10px;margin:0 0 23px;font-size:10px;font-weight:650;display:flex}.tiny-line{background:#849568;width:26px;height:1px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{letter-spacing:-2.8px;margin-bottom:23px;font-size:clamp(38px,4.4vw,62px);font-weight:500;line-height:1.16}.accent{color:#91a95e}.intro-copy{color:#7d867e;font-size:15px;line-height:1.8}.art{width:290px;height:250px;margin:24px 0 0 25px;position:relative}.orbit{border:1px solid #cbd4bf;border-radius:50%;width:180px;height:206px;position:absolute;top:19px;left:38px;transform:rotate(-35deg)}.o2{transform:rotate(35deg)}.o3{transform:rotate(90deg)}.o4{width:130px;left:63px;transform:rotate(0)}.art-center{color:#345344;font-family:Georgia,serif;font-size:118px;font-style:italic;font-weight:400;line-height:1;position:absolute;top:45px;left:91px}.art-note{border:6px solid var(--bg);background:#e7edda;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;top:49px;left:219px}.intro-bottom{color:#7e8979;align-items:center;gap:9px;margin-top:12px;font-size:11px;display:flex}.mini-dot{background:#94a974;border-radius:50%;width:5px;height:5px}.card{background:#fff;border:1px solid #e3e7dd;border-radius:20px;box-shadow:0 14px 40px #213d2705}.survey{padding:32px 34px 23px}.form-top{justify-content:space-between;align-items:start;margin-bottom:29px;display:flex}.form-top .eyebrow{letter-spacing:1.6px;margin:0;font-size:9px}.form-year{color:#8b9489;font-size:10px}fieldset{border:0;min-width:0;margin:0;padding:0}legend{letter-spacing:-.2px;align-items:center;gap:12px;margin-bottom:18px;padding:0;font-size:15px;font-weight:600;display:flex}.step{color:#9aa395;letter-spacing:1px;font-size:10px;font-weight:500}.voice-selector{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.voice{border:1px solid var(--line);color:#6e796f;background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:78px;display:flex;position:relative}.voice strong{font-family:Manrope,sans-serif;font-size:25px;font-weight:500}.voice span{font-size:9px}.voice:hover{background:#f4f7ed}.voice.selected{border-color:var(--green);background:var(--green);color:#fff}.voice-check{color:var(--lime);position:absolute;top:7px;right:7px}.dates-fieldset{border-top:1px solid var(--line);margin-top:30px;padding-top:28px}.dates-fieldset legend{float:left;width:100%;margin-bottom:6px}.rehearsal{clear:both;border-bottom:1px solid var(--line);padding:20px 0}.date-title{align-items:center;gap:11px;margin-bottom:13px;display:flex}.calendar-tile{color:#7f8d72;background:#f3f5ee;border-radius:8px;justify-content:center;align-items:center;width:35px;height:38px;display:flex}h3{letter-spacing:-.3px;margin:0 0 3px;font-size:14px;font-weight:650}.date-title p{color:#899183;margin:0;font-size:10px;line-height:1.5}.date-index{color:#afb5a9;letter-spacing:1px;margin-left:auto;font-size:9px}.answer-options{grid-template-columns:1fr 1fr 1.2fr;gap:7px;display:grid}.answer-options button{border:1px solid var(--line);color:#7c8679;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:4px;height:36px;font-size:11px;display:flex}.answer-options button:hover{background:#f4f6ef}.answer-options .selected.yes{color:#496238;background:#eaf1dd;border-color:#afc18f}.answer-options .selected.no{color:#925d51;background:#f4e7e3;border-color:#d8b7ad}.answer-options .selected.maybe{color:#8a702c;background:#faf0d9;border-color:#ddce9c}.primary{background:var(--green);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:20px;min-height:44px;padding:12px 18px;font-size:11px;font-weight:550;display:inline-flex}.primary:hover:not(:disabled){background:#345c49}.submit-row{justify-content:space-between;align-items:center;gap:12px;margin-top:25px;display:flex}.submit-row>span{color:#9aa18f;font-size:10px}.privacy-note{color:#a1a896;text-align:center;margin:18px 0 0;font-size:9px;line-height:1.6}.below-card{color:#a3ac99;letter-spacing:.5px;justify-content:space-between;margin:17px 7px;font-size:9px;display:flex}.below-card>span:first-child{letter-spacing:2px}footer{color:#8a9582;border-top:1px solid #dfe4d9;justify-content:space-between;align-items:center;height:65px;margin:0 5.5%;font-size:9px;display:flex}footer a{align-items:center;gap:6px;display:flex}.footer-end{letter-spacing:3px}.success{text-align:center;padding:40px 34px}.success-icon{color:var(--green);background:#eaf1dd;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;margin:10px 0 28px;display:inline-flex}.success .eyebrow{justify-content:center}.success h2{letter-spacing:-1px;font-size:27px;font-weight:500}.receipt{border-top:1px solid var(--line);margin:28px 0}.receipt>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 0;font-size:12px;display:flex}.receipt-voice{color:var(--muted)}.status{border-radius:5px;padding:5px 8px;font-size:10px}.status.yes{background:#eaf1dd}.status.no{background:#f4e7e3}.status.maybe{background:#faf0d9}.success .primary{width:100%}.small{margin:18px 0 0;font-size:10px}.muted{color:var(--muted)}.error{color:#9b4839;background:#fbefeb;border-radius:7px;padding:12px;font-size:12px;line-height:1.6}.loading{text-align:center;color:var(--muted);padding:60px}.admin-main{flex:1;width:89%;max-width:1230px;margin:55px auto 70px}.admin-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.admin-heading .eyebrow{margin-bottom:13px}.admin-heading h1{margin:0;font-size:44px}.admin-heading .primary{gap:10px}.admin-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin:40px 0 22px;padding-bottom:15px;display:flex}.tabs{gap:8px;display:flex}.tabs button{color:var(--muted);background:0 0;border-radius:7px;padding:9px 13px;font-size:12px}.tabs button.active{color:var(--green);background:#e7ecdc}.tabs span{margin-left:7px;font-size:9px}.text-button{color:var(--muted);background:0 0;align-items:center;gap:8px;font-size:11px;display:flex}.admin-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.date-card{background:#fff;border:1px solid #e2e7db;border-radius:16px;padding:23px}.date-card-head{justify-content:space-between;align-items:center;gap:4px;display:flex}.date-card-head .eyebrow{letter-spacing:1px;margin:0;font-size:8px}.row{align-items:center;gap:4px;display:flex}.icon-button{color:#8a9583;background:0 0;border-radius:6px;padding:7px;display:flex}.icon-button:hover{color:var(--green);background:#edf1e7}.date-card h2{letter-spacing:-.8px;margin:12px 0;font-size:23px;font-weight:500}.date-card>p{font-size:11px}.attendance-number{align-items:baseline;gap:10px;margin:30px 0 25px;display:flex}.attendance-number strong{letter-spacing:-2px;font-family:Manrope,sans-serif;font-size:48px;font-weight:500;line-height:1}.attendance-number span{color:var(--muted);font-size:10px}.voice-counts{background:#f5f7f0;border-radius:9px;grid-template-columns:repeat(4,1fr);padding:14px 0;display:grid}.voice-counts>div{border-right:1px solid #e1e7d8;flex-direction:column;align-items:center;gap:8px;display:flex}.voice-counts>div:last-child{border:0}.voice-counts span{color:#8a9780;font-size:10px}.voice-counts strong{font-size:18px;font-weight:500}.card-bottom{color:#8a9385;justify-content:space-between;margin-top:22px;font-size:10px;display:flex}.card-bottom>span{align-items:center;gap:6px;display:flex}.dot{background:#c59f90;border-radius:50%;width:5px;height:5px}.dot.maybe{background:#c7b773}.member-link{color:var(--muted);align-items:center;gap:7px;width:fit-content;margin-top:30px;font-size:11px;display:flex}.empty{text-align:center;color:var(--muted);padding:60px}.login{max-width:430px;margin:20px auto;padding:35px}.icon-box{background:#edf2e4;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:28px;display:flex}.login .eyebrow{font-size:9px}.login>p{font-size:12px}.login .primary,.modal .primary{width:100%;margin-top:22px}label{margin:22px 0 10px;font-size:11px;display:block}input{width:100%;color:var(--ink);background:#fff;border:1px solid #dce3d5;border-radius:8px;min-height:44px;padding:12px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;background:#17352965;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:440px;padding:30px}.modal-head{justify-content:space-between}.modal h2{letter-spacing:-.8px;margin:0;font-size:23px;font-weight:500}@media (min-width:1450px){.member-main{gap:11%;margin-top:85px}}@media (max-width:1000px){.member-main{grid-template-columns:.9fr 1.1fr;gap:5%;margin-top:45px}.survey{padding:26px 24px 20px}.admin-grid{grid-template-columns:repeat(2,1fr)}h1{letter-spacing:-2px}.art{transform-origin:0;margin-left:0;transform:scale(.85)}.header-label{display:none}}@media (max-width:700px){.topbar{height:82px;margin:0 6%}.brand{font-size:30px}.season{font-size:9px}.member-main{width:88%;max-width:480px;margin:30px auto;display:block}.intro{padding-top:0}.intro .eyebrow{margin-bottom:14px;font-size:8px}h1{letter-spacing:-2px;margin-bottom:14px;font-size:40px;line-height:1.12}.intro h1 br{display:none}.intro-copy{margin-bottom:25px;font-size:12px;line-height:1.6}.intro-copy br,.art,.intro-bottom{display:none}.survey{border-radius:16px;padding:26px 22px 20px}.form-top{margin-bottom:25px}.voice{min-height:72px}.dates-fieldset{margin-top:25px;padding-top:24px}.rehearsal{padding:18px 0}.primary{gap:12px;padding:12px 15px}.privacy-note{font-size:8px}.admin-main{width:88%;margin-top:35px}.admin-heading{flex-direction:column;align-items:start}.admin-heading h1{font-size:36px}.admin-toolbar{gap:8px;margin-top:25px}.text-button{font-size:10px}.admin-grid{grid-template-columns:1fr}.login{padding:28px}.footer-end{display:none}footer{height:60px;margin:0 6%}.success{padding:30px 23px}.topbar .text-button{font-size:11px}.modal{padding:24px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.app:not(.admin){background:#f4f5f2;min-height:100vh}.member-main{flex:0 auto;width:calc(100% - 32px);max-width:620px;margin:40px auto 60px;display:block}.survey{border-top:6px solid var(--green);box-shadow:none;border-radius:10px;padding:32px}.form-title{letter-spacing:-.6px;border-bottom:1px solid var(--line);margin:0 0 32px;padding-bottom:25px;font-size:25px;font-weight:600;line-height:1.35}legend{letter-spacing:0;margin-bottom:18px;font-size:16px;font-weight:550}.voice{border-radius:6px;min-height:52px}.voice strong{font-size:20px}.voice-check{top:5px;right:5px}.dates-fieldset{margin-top:30px;padding-top:27px}.rehearsal{padding:21px 0}.rehearsal:last-child{border-bottom:0;padding-bottom:0}.date-title{margin-bottom:12px}.date-title h3{letter-spacing:0;font-family:inherit;font-size:14px;font-weight:500}.date-title p{font-size:12px}.answer-options{gap:10px}.answer-options button{border-radius:6px;height:42px;font-size:13px}.submit-row{justify-content:flex-start;margin-top:30px}.submit-row .primary{border-radius:5px;min-width:115px;font-size:13px}.success{box-shadow:none;border-radius:10px;padding:40px 32px}.success h2{letter-spacing:0;font-family:inherit;font-size:22px;font-weight:500}.success .primary{width:auto;padding:12px 22px}.success-icon{margin:0 0 24px}.topbar{height:76px;font-size:13px}.login h1{letter-spacing:-.5px;font-size:28px}.login{box-shadow:none}@media (max-width:700px){.member-main{margin:20px auto 35px}.survey{padding:25px 21px}.form-title{margin-bottom:27px;padding-bottom:22px;font-size:22px}.answer-options{gap:7px}.answer-options button{font-size:12px}.dates-fieldset{margin-top:25px;padding-top:24px}.voice{min-height:49px}.success{padding:32px 24px}}.archive-action{border:1px solid var(--line);width:100%;color:var(--green);background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:8px;margin-top:20px;padding:11px;font-size:12px;display:flex}.archive-action:hover,.secondary-button:hover{background:#edf2e5}.archive-toolbar{justify-content:flex-end;margin-bottom:20px;display:flex}.secondary-button{color:var(--green);background:#fff;border:1px solid #ccd7c3;border-radius:7px;align-items:center;gap:9px;padding:12px 15px;font-size:12px;display:flex}.admin-notice{background:#e8efdd;border:1px solid #d3dec2;border-radius:8px;align-items:center;gap:15px;margin-bottom:20px;padding:10px 14px;font-size:12px;display:flex}.admin-notice>button:not(.icon-button){color:var(--green);background:0 0;font-size:12px;text-decoration:underline}.admin-notice>.icon-button{margin-left:auto}.tabs{flex-wrap:wrap}.tabs button{white-space:nowrap}@media (max-width:700px){.admin-toolbar{flex-direction:column;align-items:flex-start;gap:15px}.admin-heading .primary{width:100%}.archive-toolbar .secondary-button{justify-content:center;width:100%}.admin-notice{gap:8px}.tabs button{padding:9px 10px}}
