:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{margin:0}#root{min-height:100svh}:root{--font-display:"Fraunces", "Georgia", serif;--font-body:"Nunito Sans", system-ui, sans-serif;--bg:#f9fafb;--bg-card:#fff;--bg-subtle:#f3f4f6;--bg-overlay:#00000008;--text:#111827;--text-muted:#6b7280;--text-desc:#4b5563;--border:#e5e7eb;--border-input:#d1d5db;--primary:#111827;--primary-hover:#000;--primary-light:#f3f4f6;--primary-faint:#f9fafb;--accent:#111827;--accent-hover:#000;--danger:#ef4444;--danger-hover:#dc2626;--success-bg:#dcfce7;--success-text:#166534;--error-bg:#fef2f2;--error-text:#dc2626;--qty-bg:#f3f4f6;--qty-bg-hover:#e5e7eb;--shadow-sm:0 1px 3px #0000000d, 0 1px 2px #00000008;--shadow-md:0 4px 12px #00000012;--shadow-lg:0 8px 30px #00000017;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--ease:cubic-bezier(.4, 0, .2, 1)}@media (prefers-color-scheme:dark){:root{--bg:#111;--bg-card:#1a1a1a;--bg-subtle:#262626;--bg-overlay:#ffffff08;--text:#f5f5f5;--text-muted:#a3a3a3;--text-desc:#d4d4d4;--border:#2e2e2e;--border-input:#404040;--primary:#f5f5f5;--primary-hover:#fff;--primary-light:#262626;--primary-faint:#1a1a1a;--accent:#f5f5f5;--accent-hover:#fff;--danger:#f87171;--danger-hover:#fca5a5;--success-bg:#14532d;--success-text:#86efac;--error-bg:#450a0a;--error-text:#fca5a5;--qty-bg:#262626;--qty-bg-hover:#333;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #00000059;--shadow-lg:0 8px 30px #0006}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:16px;font-weight:400;line-height:1.65}a{color:var(--text);text-underline-offset:2px;transition:color .2s var(--ease);text-decoration:underline}a:hover{color:var(--text-muted)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}main{animation:fadeUp .35s var(--ease) both}.site-header{z-index:100;background:#111827;padding:.85rem 1.25rem;position:sticky;top:0;box-shadow:0 1px 8px #0000001a}@media (prefers-color-scheme:dark){.site-header{background:#0a0a0a;box-shadow:0 1px 8px #00000080}}.site-title{color:#fff;font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:600}.container{max-width:860px;margin:0 auto;padding:1.5rem 1rem}.container.narrow{max-width:440px}@media (width>=640px){.container{padding:2rem 1.5rem}}h1,h2,h3{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.015em;color:var(--text);font-weight:600;line-height:1.25}h1{margin-bottom:1rem;font-size:1.75rem}h2{margin-bottom:.65rem;font-size:1.35rem}h3{margin-bottom:.5rem;font-size:1.1rem}@media (width>=640px){h1{font-size:2.1rem}h2{font-size:1.5rem}}.btn,button[type=submit]{background:var(--primary);color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);transition:all .2s var(--ease);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:.4rem;min-height:44px;padding:.7rem 1.4rem;font-size:.95rem;font-weight:600;line-height:1.2;display:inline-flex}.btn:hover,button[type=submit]:hover{background:var(--primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn:active,button[type=submit]:active{box-shadow:none;transform:translateY(0)}.btn:disabled,button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-secondary{background:var(--bg-subtle);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border);color:var(--text)}.btn-danger{background:var(--danger)}.btn-danger:hover{background:var(--danger-hover)}.btn-sm{border-radius:var(--radius-sm);min-height:36px;padding:.45rem .85rem;font-size:.85rem}@media (width<=639px){.btn-mobile-full{width:100%}}form label{color:var(--text-desc);flex-direction:column;gap:.35rem;margin-bottom:1.1rem;font-size:.9rem;font-weight:600;display:flex}form input,form textarea,form select{border:1.5px solid var(--border-input);border-radius:var(--radius-sm);font-family:var(--font-body);background:var(--bg-card);color:var(--text);width:100%;min-height:44px;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);padding:.65rem .85rem;font-size:1rem}form input:focus,form textarea:focus,form select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}form input::placeholder,form textarea::placeholder{color:var(--text-muted);opacity:.7}.inline-form{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.inline-form input{flex:1;width:auto;min-width:100px}.inline-form label{flex-direction:row;align-items:center;gap:.4rem;margin:0;font-weight:400}.inline-form label input{width:70px}@media (width<=480px){.inline-form{flex-direction:column;align-items:stretch}.inline-form input{width:100%;min-width:0}.inline-form label{flex-direction:column;align-items:stretch}.inline-form label input,.inline-form .btn{width:100%}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease);margin-bottom:1.25rem;padding:1.25rem}@media (width>=640px){.card{padding:1.5rem}}.sheet-list{flex-direction:column;gap:.85rem;list-style:none;display:flex}.sheet-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow .25s var(--ease), transform .25s var(--ease);flex-direction:column;gap:.85rem;padding:1.15rem 1.25rem;display:flex}.sheet-card:hover{box-shadow:var(--shadow-md)}@media (width>=640px){.sheet-card{flex-direction:row;justify-content:space-between;align-items:flex-start}}.sheet-info{flex:1;min-width:0}.sheet-info h3{word-break:break-word;margin-bottom:.3rem;font-size:1.05rem}.sheet-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=639px){.sheet-actions{flex-direction:column}.sheet-actions .btn,.sheet-actions a.btn{text-align:center;width:100%}}.close-date{color:var(--text-muted);margin-top:.15rem;font-size:.85rem}.sheet-desc{color:var(--text-desc);margin-bottom:.5rem;font-size:.95rem}.sheet-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.25rem;display:flex}.sheet-header h2{margin:0}.refresh-btn{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;background:0 0;padding:.3rem .75rem;font-size:.85rem;transition:color .15s,border-color .15s}.refresh-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.refresh-btn:disabled{opacity:.5;cursor:default}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.06em;padding:.2rem .7rem;font-size:.72rem;font-weight:700;display:inline-block}.badge.active{background:var(--success-bg);color:var(--success-text)}.badge.inactive{background:var(--error-bg);color:var(--error-text)}.badge.admin{color:#111827;background:#f3f4f6}.badge.author{color:#4b5563;background:#f3f4f6}.badge.pending{color:#92400e;background:#fef3c7}.badge.deactivated{color:#991b1b;background:#fee2e2}.badge.archived{color:#6b7280;background:#e5e7eb}@media (prefers-color-scheme:dark){.badge.admin{color:#f5f5f5;background:#262626}.badge.author{color:#d4d4d4;background:#262626}.badge.pending{color:#fde68a;background:#451a03}.badge.deactivated{color:#fca5a5;background:#450a0a}.badge.archived{color:#9ca3af;background:#374151}}.sheet-card--archived{opacity:.65}.dashboard-header{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.header-actions{flex-direction:column;gap:.5rem;display:flex}@media (width>=640px){.header-actions{flex-direction:row;justify-content:space-between;align-items:center}}.header-actions>div{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=639px){.header-actions>div{flex-direction:column}.header-actions>div .btn,.header-actions>div a.btn{text-align:center;width:100%}}.section-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.item-list{flex-direction:column;gap:.6rem;margin-bottom:1rem;list-style:none;display:flex}.items-section,.user-info{margin-bottom:1.5rem}.item{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);transition:background .15s var(--ease);flex-wrap:wrap;align-items:center;gap:.65rem;padding:.75rem 1rem;display:flex}.item label{cursor:pointer;flex:1;align-items:center;gap:.5rem;margin:0;font-weight:400;display:flex}.item.full{opacity:.5}.item-name{word-break:break-word;flex:1;min-width:0;font-weight:600}.spots{color:var(--text-muted);white-space:nowrap;font-size:.82rem}.item-list.editor .item{justify-content:space-between}@media (width<=480px){.item-list.editor .item{flex-direction:column;align-items:stretch;gap:.5rem}.item-list.editor .item .btn{width:100%}.item-list.editor .inline-form{flex-direction:column}}.qty-control{align-items:center;gap:.35rem;margin-left:auto;display:flex}.qty-btn{background:var(--qty-bg);width:2.5rem;height:2.5rem;color:var(--primary);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s var(--ease);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:0;font-size:1.25rem;font-weight:700;line-height:1;display:inline-flex}.qty-btn:hover:not(:disabled){background:var(--qty-bg-hover);border-color:var(--primary)}.qty-btn:active:not(:disabled){transform:scale(.93)}.qty-btn:disabled{opacity:.3;cursor:not-allowed}.qty-value{text-align:center;min-width:2rem;font-size:1.1rem;font-weight:700}.date-time-picker{gap:.5rem;display:flex}.date-time-picker input[type=date]{flex:1}.date-time-picker select{width:130px}@media (width<=480px){.date-time-picker{flex-direction:column}.date-time-picker select{width:100%}}.signups-table{border-collapse:collapse;width:100%;font-size:.9rem}.signups-table th,.signups-table td{text-align:left;border-bottom:1px solid var(--border);padding:.7rem .75rem}.signups-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-subtle);font-size:.8rem;font-weight:700}.signups-table tbody tr{transition:background .15s var(--ease)}.signups-table tbody tr:hover{background:var(--bg-overlay)}@media (width<=639px){.signups-table,.signups-table thead,.signups-table tbody,.signups-table th,.signups-table td,.signups-table tr{display:block}.signups-table thead{display:none}.signups-table tbody tr{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin-bottom:.6rem;padding:.85rem 1rem}.signups-table tbody tr:hover{background:var(--bg-card)}.signups-table td{border:none;padding:.2rem 0;font-size:.9rem}.signups-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.1rem;font-size:.75rem;font-weight:700;display:block}.signups-table td select{width:100%;margin-top:.25rem}}.error{color:var(--error-text);background:var(--error-bg);border-radius:var(--radius-sm);margin:.5rem 0;padding:.6rem .85rem;font-size:.9rem}.warning{color:#92400e;border-radius:var(--radius-sm);background:#fef3c7;margin:.5rem 0;padding:.6rem .85rem;font-size:.9rem}@media (prefers-color-scheme:dark){.warning{color:#fde68a;background:#451a03}}.success{color:var(--success-text);background:var(--success-bg);border-radius:var(--radius-sm);margin:.5rem 0;padding:.6rem .85rem;font-size:.9rem}.loading{color:var(--text-muted);text-align:center;padding:3rem 1rem;font-size:.95rem}.back-link{color:var(--primary);align-items:center;gap:.3rem;margin-bottom:1.25rem;font-size:.9rem;font-weight:600;display:inline-flex}.back-link:hover{opacity:.8;text-decoration:none}.copy-wrapper{align-items:center;display:inline-flex;position:relative}.copy-btn{cursor:pointer;vertical-align:middle;opacity:.55;background:0 0;border:none;min-width:auto;min-height:auto;padding:.2rem .4rem;font-size:1rem;transition:opacity .15s}.copy-btn:hover{opacity:1}@keyframes toastIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.copy-toast{background:var(--text);color:var(--bg-card);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;animation:toastIn .15s var(--ease) both;box-shadow:var(--shadow-md);padding:.3rem .65rem;font-size:.78rem;font-weight:600;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.template-apply{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.template-apply select{border:1.5px solid var(--border-input);border-radius:var(--radius-sm);background:var(--bg-card);min-width:150px;color:var(--text);font-size:.9rem;font-family:var(--font-body);flex:1;min-height:44px;padding:.5rem .65rem}@media (width<=480px){.template-apply{flex-direction:column;align-items:stretch}.template-apply .btn{width:100%}}.card-links{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.85rem;display:flex}.card-link{color:var(--primary);font-size:.9rem;font-family:var(--font-body);cursor:pointer;background:0 0;border:none;min-height:auto;padding:.25rem 0;font-weight:600;text-decoration:none;transition:opacity .15s}.card-link:hover{opacity:.75;text-decoration:underline}.card-link-sep{color:var(--text-muted);font-size:.9rem}.divider{color:var(--text-muted);align-items:center;gap:1rem;margin:1.5rem 0;font-size:.85rem;font-weight:500;display:flex}.divider:before,.divider:after{content:"";border-bottom:1px solid var(--border);flex:1}.btn-google{background:var(--bg-card);width:100%;color:var(--text);border:1.5px solid var(--border-input);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);transition:all .2s var(--ease);justify-content:center;align-items:center;gap:.6rem;min-height:44px;padding:.7rem 1.4rem;font-size:.95rem;font-weight:600;display:flex}.btn-google:hover{background:var(--bg-subtle);border-color:var(--border);box-shadow:var(--shadow-sm)}@media (width<=639px){.items-section .item{padding:.85rem 1rem}.items-section .item-name{font-size:1rem}.items-section .spots{order:3;width:100%;font-size:.8rem}form>button[type=submit],.card>form>button[type=submit]{width:100%}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}html{scroll-behavior:smooth}::selection{background:var(--primary-light);color:var(--primary-hover)}@media (prefers-color-scheme:dark){::selection{background:var(--primary-light);color:#93c5fd}}
