:root{--bg: #0c0b0a;--surface: #141210;--border: #2a2620;--border-mid: #3a3530;--text: #e8e2d9;--muted: #7a7060;--hint: #3f3a34;--red: #b5271c;--red-dim: #8a1e15;--red-dark: #1a0f0e;--white: #f5f0e8;--font-d: "Cormorant Garamond", Georgia, serif;--font-b: "EB Garamond", Georgia, serif;--green: #2a7048;--blue: #2a6090;--amber: #8a7040}html,body{background:var(--bg);color:var(--text);font-family:var(--font-b);font-size:16px;line-height:1.6;min-height:100vh}.page{min-height:100vh;display:flex;justify-content:center;padding:56px 24px 96px}.container{width:100%;max-width:580px;animation:fadeIn .5s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ic-mark{color:var(--red);font-size:18px;letter-spacing:3px;margin-bottom:24px;display:block}.ic-mark.small{font-size:13px;margin:0}.heading{font-family:var(--font-d);font-size:clamp(48px,10vw,72px);font-weight:300;letter-spacing:.04em;color:var(--white);line-height:1.05;margin-bottom:8px}.heading.small{font-size:36px}.subheading{font-family:var(--font-d);font-size:13px;font-weight:400;color:var(--red);letter-spacing:.18em;text-transform:uppercase;margin-bottom:32px}.intro{font-size:15.5px;line-height:1.8;color:var(--muted);margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--border)}.motto{font-style:italic;color:var(--hint);font-family:var(--font-d);font-size:13px}.form{display:flex;flex-direction:column;gap:36px}.field{display:flex;flex-direction:column;gap:10px}.label{font-family:var(--font-d);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.label.admin{font-family:var(--font-b);text-transform:none;letter-spacing:0;font-size:13px;color:var(--muted)}.required{color:var(--red);margin-left:2px}.optional{color:var(--hint);font-size:11px;letter-spacing:.05em;text-transform:none;font-family:var(--font-b);font-style:italic}.input{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-b);font-size:15px;padding:13px 16px;outline:none;transition:border-color .2s;border-radius:0;-webkit-appearance:none;width:100%}.input:focus{border-color:var(--red-dim)}.input::placeholder{color:#2e2a26}.textarea{resize:vertical;min-height:90px;line-height:1.6}.hint{font-size:12px;color:var(--hint);font-style:italic;font-family:var(--font-b)}.checkboxes{display:flex;flex-direction:column;gap:8px}.checkboxes.compact{gap:6px}.checkbox-item{display:flex;align-items:center;gap:14px;cursor:pointer;padding:11px 16px;border:1px solid var(--border);background:var(--surface);transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.checkbox-item.small{padding:8px 12px}.checkbox-item:hover{border-color:var(--border-mid)}.checkbox-item.checked{border-color:var(--red-dim);background:var(--red-dark)}.checkbox-item input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;border:1px solid var(--muted);background:transparent;flex-shrink:0;position:relative;cursor:pointer;transition:background .15s,border-color .15s}.checkbox-item.checked input[type=checkbox]{background:var(--red);border-color:var(--red)}.checkbox-item.checked input[type=checkbox]:after{content:"";position:absolute;top:2px;left:4px;width:4px;height:8px;border:1.5px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.checkbox-label{font-size:15px;color:var(--text);font-family:var(--font-b)}.avail-wrap{display:flex;flex-direction:column;gap:8px}.avail-grid{display:grid;grid-template-columns:76px repeat(7,1fr);gap:2px;background:var(--border);border:1px solid var(--border)}.avail-grid.mini{gap:1px}.avail-corner,.avail-day,.avail-time{background:var(--surface);padding:7px 4px;font-family:var(--font-d);font-size:11px;letter-spacing:.06em;text-align:center;color:var(--muted);-webkit-user-select:none;user-select:none}.avail-time{text-align:left;padding-left:8px;display:flex;align-items:center;font-size:11px}.avail-corner{background:var(--bg)}.avail-cell{background:var(--surface);border:none;cursor:pointer;height:32px;transition:background .1s}.avail-cell:hover{background:var(--border-mid)}.avail-cell.on{background:var(--red-dim)}.avail-cell-ro{background:var(--surface);height:28px}.avail-cell-ro.on{background:var(--red-dim)}.avail-hint{font-size:12px;color:var(--hint);font-style:italic}.submit-btn{background:var(--red);color:#fff;border:none;padding:15px 28px;font-family:var(--font-d);font-size:14px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .2s;align-self:flex-start;min-width:260px;text-align:center}.submit-btn:hover:not(:disabled){background:var(--red-dim)}.submit-btn:disabled{opacity:.45;cursor:not-allowed}.error{color:#e05040;font-size:13px;padding:12px 16px;border:1px solid #5a1f1a;background:#1a0c0b}.footer{margin-top:72px;padding-top:24px;border-top:1px solid var(--border);font-size:12px;color:var(--hint);line-height:2}.success-container{display:flex;flex-direction:column;justify-content:center;min-height:80vh}.success-heading{font-family:var(--font-d);font-size:clamp(56px,12vw,96px);font-weight:300;color:var(--white);margin-bottom:16px;letter-spacing:.02em}.success-sub{font-size:18px;color:var(--muted);margin-bottom:56px;font-family:var(--font-b);line-height:1.7}.admin-page{min-height:100vh;display:flex;flex-direction:column}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:10}.admin-header-left{display:flex;align-items:center;gap:10px}.admin-title{font-family:var(--font-d);font-size:18px;letter-spacing:.06em;color:var(--white)}.admin-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--surface)}.admin-tab{padding:14px 24px;background:none;border:none;color:var(--muted);font-family:var(--font-b);font-size:14px;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.admin-tab:hover{color:var(--text)}.admin-tab.active{color:var(--white);border-bottom-color:var(--red)}.admin-content{padding:24px 28px;flex:1}.admin-toolbar{display:flex;gap:12px;margin-bottom:20px}.admin-search{flex:1;background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-b);font-size:14px;padding:10px 14px;outline:none}.admin-search:focus{border-color:var(--red-dim)}.admin-select{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-b);font-size:14px;padding:10px 14px;outline:none;cursor:pointer}.admin-loading,.admin-empty{color:var(--muted);font-style:italic;padding:24px 0}.vol-table{display:flex;flex-direction:column;gap:1px;background:var(--border)}.vol-table-head{display:grid;grid-template-columns:2fr 2fr 1fr 1fr 1fr 1fr;background:var(--bg);padding:10px 16px;gap:12px;font-family:var(--font-d);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.vol-row{display:grid;grid-template-columns:2fr 2fr 1fr 1fr 1fr 1fr;background:var(--surface);padding:14px 16px;gap:12px;align-items:center;cursor:pointer;transition:background .12s;font-size:14px}.vol-row:hover{background:#1a1814}.vol-name{display:flex;flex-direction:column;gap:2px}.vol-name small{font-size:12px;color:var(--muted)}.vol-roles{display:flex;flex-wrap:wrap;gap:4px}.vol-date{color:var(--muted);font-size:13px}.status-badge{display:inline-block;padding:3px 8px;font-size:11px;font-family:var(--font-d);letter-spacing:.08em;text-transform:uppercase;color:#fff;border-radius:2px}.status-badge.small{padding:2px 6px;font-size:10px}.tag{display:inline-block;padding:3px 8px;font-size:12px;border-radius:2px;background:var(--border);color:var(--muted);border:none;cursor:pointer;transition:background .12s,color .12s;font-family:var(--font-b)}.tag.active{background:var(--red-dim);color:#fff}.tag.mini{padding:2px 6px;font-size:11px;cursor:default}.tag.muted{background:var(--bg)}.detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.7);display:flex;justify-content:flex-end;z-index:100;animation:fadeIn .2s ease}.detail-panel{width:520px;max-width:100vw;background:var(--bg);border-left:1px solid var(--border);overflow-y:auto;padding:32px 28px 48px;position:relative;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.detail-close{position:absolute;top:20px;right:24px;background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer}.detail-close:hover{color:var(--text)}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:28px}.detail-name{font-family:var(--font-d);font-size:28px;font-weight:300;color:var(--white)}.detail-section{margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--border)}.detail-section:last-of-type{border-bottom:none}.detail-section-title{font-family:var(--font-d);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.detail-row{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;padding:7px 0;font-size:14px;border-bottom:1px solid var(--border)}.detail-row:last-child{border-bottom:none}.detail-row.align-top{align-items:flex-start;padding-top:10px}.detail-row>span:first-child{color:var(--muted);font-size:13px}.detail-row a{color:var(--red);text-decoration:none}.admin-input{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-b);font-size:14px;padding:9px 12px;outline:none;width:100%;transition:border-color .2s}.admin-input:focus{border-color:var(--red-dim)}.admin-textarea{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-b);font-size:14px;padding:9px 12px;outline:none;width:100%;resize:vertical;min-height:72px;line-height:1.5}.admin-textarea.full{width:100%}.admin-textarea:focus{border-color:var(--red-dim)}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer}.toggle-label input[type=checkbox]{display:none}.toggle-track{width:36px;height:20px;border-radius:10px;background:var(--border);position:relative;transition:background .2s}.toggle-label input:checked+.toggle-track{background:var(--red)}.toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s}.toggle-label input:checked+.toggle-track:after{transform:translate(16px)}.detail-actions{display:flex;gap:12px;margin-top:24px}.admin-btn{padding:11px 20px;font-family:var(--font-b);font-size:14px;border:none;cursor:pointer;transition:background .15s}.admin-btn.primary{background:var(--red);color:#fff}.admin-btn.primary:hover{background:var(--red-dim)}.admin-btn.primary:disabled{opacity:.45;cursor:not-allowed}.admin-btn.ghost{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.admin-btn.ghost:hover{background:var(--border);color:var(--text)}.call-form{display:flex;flex-direction:column;gap:20px;margin-top:24px}.type-toggle{display:flex;gap:1px}.type-btn{flex:1;padding:10px;background:var(--surface);border:1px solid var(--border);color:var(--muted);font-family:var(--font-b);font-size:14px;cursor:pointer;transition:all .15s}.type-btn.active{background:var(--red-dark);border-color:var(--red-dim);color:var(--white)}.call-card{background:var(--surface);border:1px solid var(--border);padding:20px;margin-bottom:12px}.call-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.call-title{font-family:var(--font-d);font-size:20px;font-weight:400;color:var(--white);margin-bottom:4px}.call-meta{font-size:12px;color:var(--muted)}.call-desc{font-size:14px;color:var(--muted);margin-bottom:14px;line-height:1.5}.call-responses{display:flex;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.resp-stat{font-size:13px}.resp-stat.confirmed{color:#5aaa7a}.resp-stat.declined{color:#e05040}.resp-stat.pending{color:var(--muted)}.resp-list{margin-top:12px;display:flex;flex-direction:column;gap:6px}.resp-row{display:flex;align-items:center;gap:12px;font-size:13px;padding:6px 0;border-top:1px solid var(--border)}.resp-row>span:first-child{flex:1}.resp-time{color:var(--muted);font-size:12px}.admin-login{align-items:center;justify-content:center}.login-box{width:100%;max-width:340px;text-align:center}.respond-card{background:var(--surface);border:1px solid var(--border);padding:28px;margin:32px 0;animation:fadeIn .4s ease}.respond-type{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:10px;font-family:var(--font-d)}.respond-title{font-family:var(--font-d);font-size:26px;font-weight:300;color:var(--white);margin-bottom:10px}.respond-date{font-size:15px;color:var(--muted);margin-bottom:12px;font-style:italic}.respond-desc{font-size:15px;color:var(--muted);line-height:1.7;margin-bottom:16px}.respond-greeting{font-size:15px;color:var(--text);font-style:italic}.respond-actions{display:flex;flex-direction:column;gap:10px}.respond-btn{padding:18px 24px;border:none;cursor:pointer;font-family:var(--font-d);font-size:16px;letter-spacing:.06em;text-align:left;transition:opacity .15s;display:block;width:100%}.respond-btn.yes{background:var(--green);color:#fff}.respond-btn.no{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.respond-btn:hover:not(:disabled){opacity:.85}.respond-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.page{padding:36px 16px 64px}.submit-btn{width:100%;align-self:stretch}.vol-table-head,.vol-row{grid-template-columns:1fr 1fr}.vol-table-head span:nth-child(n+3),.vol-row span:nth-child(n+3){display:none}.detail-panel{width:100vw}.admin-content{padding:16px}.admin-toolbar{flex-direction:column}}.context-cards{display:flex;flex-direction:column;gap:1px;background:var(--border);margin-bottom:48px;border:1px solid var(--border)}.context-card{background:var(--surface);padding:20px}.context-card.red-accent{border-left:3px solid var(--red)}.context-card-title{font-family:var(--font-d);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:8px}.context-card p{font-size:14px;color:var(--muted);line-height:1.7}.form-section{display:flex;flex-direction:column;gap:24px}.form-section-title{font-family:var(--font-d);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);padding-bottom:10px;border-bottom:1px solid var(--border);margin-bottom:4px}.checkbox-item{flex-direction:column;align-items:flex-start;gap:4px}.checkbox-item>input[type=checkbox]{margin-top:3px;flex-shrink:0;align-self:flex-start}.checkbox-item{flex-direction:row;align-items:flex-start}.checkbox-desc{display:block;font-size:12px;color:var(--muted);font-style:italic;margin-top:3px;line-height:1.4}.gdpr-field{padding-top:16px;border-top:1px solid var(--border)}.small-text{font-size:13px!important;line-height:1.5}.small-text a{color:var(--red);text-decoration:none}.small-text a:hover{text-decoration:underline}.age-label{color:#e05040}.success-ic-cta{font-size:14px;color:var(--muted);margin-bottom:32px}.success-ic-cta a{color:var(--red);text-decoration:none}[data-theme=light]{--bg: #f8f6f2;--surface: #ffffff;--border: #ddd9d0;--border-mid: #c8c3b8;--text: #1a1814;--muted: #5a5550;--hint: #9a9590;--red: #8b1a14;--red-dim: #6e1510;--red-dark: #fdf0ef;--white: #1a1814}[data-theme=light] .input{background:#f2efe9}[data-theme=light] .input::placeholder{color:#b0a898}[data-theme=light] .avail-cell{background:#f2efe9}[data-theme=light] .avail-cell.on{background:var(--red-dim)}[data-theme=light] .avail-corner{background:#f8f6f2}[data-theme=light] .avail-day,[data-theme=light] .avail-time{background:#f2efe9}[data-theme=light] .detail-panel,[data-theme=light] .admin-page{background:#f8f6f2}[data-theme=light] .admin-header,[data-theme=light] .vol-row{background:#ffffff}[data-theme=light] .vol-row:hover{background:#f2efe9}[data-theme=light] .vol-table-head{background:#f8f6f2}[data-theme=light] .context-card,[data-theme=light] .checkbox-item{background:#ffffff}[data-theme=light] .checkbox-item.checked{background:#fdf0ef}[data-theme=light] .admin-search,[data-theme=light] .admin-select,[data-theme=light] .admin-input,[data-theme=light] .admin-textarea{background:#f2efe9}[data-theme=light] .call-card,[data-theme=light] .type-btn{background:#ffffff}[data-theme=light] .type-btn.active{background:#fdf0ef}[data-theme=light] .respond-card{background:#ffffff}.theme-toggle{position:fixed;bottom:24px;right:24px;background:var(--surface);border:1px solid var(--border);color:var(--muted);font-family:var(--font-b);font-size:13px;padding:8px 14px;cursor:pointer;z-index:999;transition:all .15s;box-shadow:0 2px 8px #00000026}.theme-toggle:hover{color:var(--text);border-color:var(--border-mid)}[data-theme=light],[data-theme=light] body,[data-theme=light] .page{background:#f8f6f2;color:#1a1814}[data-theme=light] .success-heading,[data-theme=light] .heading{color:#1a1814}[data-theme=light] .intro,[data-theme=light] .success-sub{color:#5a5550}[data-theme=light] .admin-title{color:#1a1814}[data-theme=light] .admin-tab.active{color:#8b1a14}[data-theme=light] .vol-name,[data-theme=light] .login-box .heading,[data-theme=light] .detail-name{color:#1a1814}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:#0c0b0a}
