:root{color-scheme:light dark;--color-bg: #f4eee1;--color-surface: #fdfaf4;--color-surface-secondary: #efe7d6;--color-surface-tertiary: #e6dbc7;--color-border: #e0d4bd;--color-border-strong: #c9bb9f;--color-text: #1a2550;--color-text-secondary: #5b5a6e;--color-text-muted: #8a846f;--color-accent: #c8973c;--color-accent-hover: #d9aa5c;--color-accent-contrast: #fdfaf4;--color-grid-line: rgba(26, 37, 80, .16);--color-success: #2f6f4f;--color-warning: #a15c00;--color-danger: #a13a3a;--radius: 16px;--radius-sm: 10px;--font-heading: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-accent: "Caveat", cursive;font-family:var(--font-body)}@media (prefers-color-scheme: dark){:root{--color-bg: #141a33;--color-surface: #1c2340;--color-surface-secondary: #232b4d;--color-surface-tertiary: #2a335a;--color-border: #33406b;--color-border-strong: #4a5b94;--color-text: #f4eee1;--color-text-secondary: #c3c9e6;--color-text-muted: #8892b8;--color-accent: #d9aa5c;--color-accent-hover: #e6bd7a;--color-accent-contrast: #1a2550;--color-grid-line: rgba(244, 238, 225, .16);--color-success: #6fbd93;--color-warning: #e0a94a;--color-danger: #e08383}}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}main{max-width:480px;margin:0 auto;padding:1.25rem 1rem 3rem}h1,h2{font-family:var(--font-heading);font-weight:600}h1{font-size:1.5rem;margin:0 0 .5rem;letter-spacing:-.01em}h2{font-size:1.05rem;margin:0 0 .6rem}p{color:var(--color-text-secondary);line-height:1.5}strong{color:var(--color-text);font-weight:600}a{color:var(--color-accent);font-weight:400}.eyebrow{display:block;font-family:var(--font-heading);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.5rem}.accent-script{font-family:var(--font-accent);font-weight:600;color:var(--color-accent);font-size:1.7em;line-height:1}.text-info{font-size:.85rem;color:var(--color-text-muted)}.highlight{font-size:.95rem;font-weight:500;color:var(--color-text)}.instructions{font-size:.85rem;color:var(--color-text-muted);font-style:italic;border-left:2px solid var(--color-border-strong);padding-left:.65rem}.app-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:.5rem;padding:.85rem 1rem;background:#1a2550;border-bottom:1px solid #1a2550}.app-header .brand{display:inline-flex;align-items:center;text-decoration:none;background:#fdfaf4;border-radius:999px;padding:.3rem .85rem}.brand-logo{display:block;height:26px;width:auto}.app-header nav{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;justify-content:flex-end}.app-header nav a{font-size:.85rem;font-weight:500;text-decoration:none;color:#f4eee1;padding:.4rem .75rem;border-radius:999px;border:1px solid transparent}.app-header nav a:hover{border-color:#f4eee159;background:#f4eee11f}.app-header .logout-button{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;padding:0;border-radius:999px;background:transparent;color:#f4eee1;border-color:#f4eee159}.app-header .logout-button:hover{background:#f4eee11f;border-color:#f4eee18c}.nav-toggle{display:none;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;padding:0;margin-left:auto;border-radius:999px;background:transparent;color:#f4eee1;border-color:#f4eee159}.nav-toggle:hover{background:#f4eee11f;border-color:#f4eee18c}@media (max-width: 768px){.nav-toggle{display:inline-flex}.app-header nav{display:none;width:100%;flex-direction:column;align-items:stretch;justify-content:flex-start;order:3}.app-header nav.open{display:flex}.app-header nav a{padding:.6rem .75rem}.app-header .logout-button{align-self:flex-start}}button{font:inherit;font-family:var(--font-heading);font-weight:500;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:.55rem 1rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}button:hover{border-color:var(--color-border-strong)}button.active{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}button.active:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}input,textarea,select{font:inherit;padding:.6rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);width:100%;margin-bottom:.5rem;background:var(--color-surface);color:var(--color-text)}textarea{resize:vertical;font-family:var(--font-body)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent)}form{display:flex;flex-direction:column;gap:.25rem;max-width:320px}form.form-wide{max-width:none}.response-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.next-event-card,section{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.1rem;margin-bottom:1rem;overflow:hidden}.next-event-card:before,section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle,var(--color-grid-line) 1px,transparent 1px);background-size:22px 22px;mask-image:radial-gradient(circle at top right,black,transparent 70%);-webkit-mask-image:radial-gradient(circle at top right,black,transparent 70%)}.divider-dashed{border:none;border-top:1px dashed var(--color-border-strong);margin:.75rem 0}.stack-sm{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem}.button-cta{display:inline-flex;align-items:center;font-family:var(--font-heading);font-weight:500;font-size:.9rem;text-decoration:none;color:var(--color-accent-contrast);background:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-sm);padding:.55rem 1rem;transition:background .15s ease,border-color .15s ease}.button-cta:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.badge{display:inline-flex;align-items:center;font-family:var(--font-heading);font-size:.72rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px;background:var(--color-surface-secondary);color:var(--color-text-secondary)}.badge-success{background:color-mix(in srgb,var(--color-success) 16%,var(--color-surface));color:var(--color-success)}.badge-warning{background:color-mix(in srgb,var(--color-warning) 16%,var(--color-surface));color:var(--color-warning)}.badge-danger{background:color-mix(in srgb,var(--color-danger) 16%,var(--color-surface));color:var(--color-danger)}.status-pending{color:var(--color-warning)}.status-yes{color:var(--color-success)}.status-no{color:var(--color-danger)}.event-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.event-list a{display:flex;flex-direction:column;padding:.85rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;color:var(--color-text)}.event-list a:hover{border-color:var(--color-border-strong)}.event-date{font-size:.8rem;color:var(--color-text-muted)}.event-title{font-family:var(--font-heading);font-weight:500}.event-date-lead{display:flex;align-items:center;gap:.5rem;font-family:var(--font-heading);font-size:1.05rem;font-weight:600;color:var(--color-text)}.event-date-lead:before{content:"";width:8px;height:8px;border-radius:999px;background:var(--color-accent);flex-shrink:0}.event-highlight{font-size:.9rem;color:var(--color-text-secondary)}.timeline{list-style:none;padding:0;margin:0}.timeline-item{display:flex;gap:.85rem}.timeline-rail{display:flex;flex-direction:column;align-items:center;width:.85rem;flex-shrink:0}.timeline-dot{width:.85rem;height:.85rem;border-radius:999px;background:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 25%,transparent);flex-shrink:0;margin-top:.4rem}.timeline-line{width:2px;flex:1;min-height:1.5rem;background:var(--color-border-strong);margin:.25rem 0}.timeline-card{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.85rem 1rem;margin-bottom:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;color:var(--color-text)}.timeline-card:hover{border-color:var(--color-border-strong)}.auth-screen{max-width:360px;margin:3rem auto;padding:0 1rem}.auth-logo{display:block;height:52px;width:auto;margin:0 0 1.5rem}.guest-list{list-style:none;padding:0;margin:0 0 .75rem;display:flex;flex-direction:column;gap:.4rem}.guest-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.attendee-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.attendee-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tag-group{display:flex;gap:.35rem;flex-shrink:0}.tag{font-size:.68rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase;text-align:center;color:var(--color-text-muted);background:var(--color-surface-secondary);border-radius:999px;padding:.15rem .5rem;min-width:4.2rem}.tag-hidden{visibility:hidden}.filter-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.filter-chips button{font-size:.85rem;padding:.4rem .85rem;border-radius:999px}.document-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.document-list a{display:flex;flex-direction:column;padding:.85rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;color:var(--color-text)}.document-list a:hover{border-color:var(--color-border-strong)}.document-title{font-family:var(--font-heading);font-weight:500}.document-meta{font-size:.8rem;color:var(--color-text-muted);margin-top:.15rem}.directory-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.directory-list li{display:flex;flex-direction:column;padding-bottom:.75rem;border-bottom:1px dashed var(--color-border)}.directory-list li:last-child{border-bottom:none;padding-bottom:0}.directory-name{font-family:var(--font-heading);font-weight:500;color:var(--color-text)}.directory-detail{font-size:.85rem;color:var(--color-text-secondary)}.back-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;font-weight:500;color:var(--color-text-secondary);text-decoration:none;margin-bottom:.6rem}.back-link:hover{color:var(--color-text)}.prose-sm{font-size:.88rem}.category-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.category-chip{font-size:.8rem;font-weight:500;color:var(--color-text);background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:999px;padding:.35rem .85rem}.admin-section-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.admin-section-list a{display:flex;flex-direction:column;padding:.85rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;color:var(--color-text)}.admin-section-list a:hover{border-color:var(--color-border-strong)}.admin-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.admin-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.85rem 1rem}.admin-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.admin-item-title-group{flex:1;min-width:0}.admin-item-title{font-family:var(--font-heading);font-weight:500;color:var(--color-text);display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.admin-item-meta{font-size:.8rem;color:var(--color-text-muted);margin-top:.15rem}.admin-item-header>button,.admin-item-header>.admin-actions{flex-shrink:0}.role-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.button-sm{font-size:.8rem;padding:.4rem .75rem}.admin-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.field-row{display:flex;flex-direction:column;margin-bottom:.5rem}.field-row label{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.2rem}.checkbox-row{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text);margin:.35rem 0}.checkbox-row input{width:auto;margin:0}input[type=checkbox]{width:1.1rem;height:1.1rem;flex-shrink:0;accent-color:var(--color-accent);cursor:pointer}.checkbox-group{display:flex;flex-wrap:wrap;gap:.75rem;margin:.4rem 0}.guide-shield{background:color-mix(in srgb,var(--color-success) 10%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-success) 30%,transparent);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:1.5rem}.guide-shield-head{display:flex;align-items:center;gap:.5rem;color:var(--color-success);margin-bottom:.6rem}.guide-shield-head h2{margin:0;font-size:1rem;color:var(--color-success)}.guide-shield ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.4rem}.guide-shield li{font-size:.9rem;color:var(--color-text)}.guide-steps{list-style:none;margin:0 0 1.5rem;padding:0}.guide-step{display:flex;gap:.75rem}.guide-step-rail{display:flex;flex-direction:column;align-items:center;width:1.9rem;flex-shrink:0}.guide-step-num{width:1.9rem;height:1.9rem;border-radius:999px;background:var(--color-text);color:var(--color-accent);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:600;font-size:.9rem;flex-shrink:0}.guide-step-line{width:2px;flex:1;min-height:1rem;background:var(--color-border-strong);margin:.3rem 0}.guide-step-card{flex:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.1rem 1.15rem;margin-bottom:1rem}.guide-step-card h2{font-size:1rem;margin:0 0 .5rem}.guide-step-card p{font-size:.92rem;margin:0 0 .6rem}.guide-step-card p:last-child{margin-bottom:0}.guide-shot{display:block;width:100%;border-radius:var(--radius-sm);border:1px solid var(--color-border);margin:.75rem 0}.guide-callout{font-size:.88rem;color:var(--color-text);background:var(--color-surface-secondary);border-radius:var(--radius-sm);padding:.6rem .75rem;font-weight:500}
