:root{--dark-bg: #0f1115;--dark-panel: #181b22;--dark-border: #2a2f3a;--dark-text: #e6e8ec;--dark-muted: #8b93a1;--dark-primary: #4f8cff;--dark-primary-hover: #3f7bef;--dark-error: #ff6b6b;--dark-on-bg: rgba(79, 140, 255, .18);--dark-field-bg: #0d0f14;--dark-btn-bg: #22262f;--dark-elevated: #202531;--dark-error-bg: rgba(255, 107, 107, .12);--dark-error-border: rgba(255, 107, 107, .4);--dark-backdrop: rgba(0, 0, 0, .55);--dark-shadow: rgba(0, 0, 0, .4);--light-bg: #f5f6f8;--light-panel: #ffffff;--light-border: #d8dce3;--light-text: #1a1d23;--light-muted: #5f6774;--light-primary: #2f6bff;--light-primary-hover: #1f58ec;--light-error: #d12b2b;--light-on-bg: rgba(47, 107, 255, .12);--light-field-bg: #f0f2f5;--light-btn-bg: #eceef2;--light-elevated: #ffffff;--light-error-bg: rgba(209, 43, 43, .1);--light-error-border: rgba(209, 43, 43, .35);--light-backdrop: rgba(20, 24, 30, .4);--light-shadow: rgba(20, 24, 30, .18);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root,:root[data-theme=dark]{--bg: var(--dark-bg);--panel: var(--dark-panel);--border: var(--dark-border);--text: var(--dark-text);--muted: var(--dark-muted);--primary: var(--dark-primary);--primary-hover: var(--dark-primary-hover);--error: var(--dark-error);--on-bg: var(--dark-on-bg);--on-border: var(--primary);--field-bg: var(--dark-field-bg);--btn-bg: var(--dark-btn-bg);--elevated: var(--dark-elevated);--error-bg: var(--dark-error-bg);--error-border: var(--dark-error-border);--backdrop: var(--dark-backdrop);--shadow: var(--dark-shadow);color-scheme:dark}@media (prefers-color-scheme: light){:root{--bg: var(--light-bg);--panel: var(--light-panel);--border: var(--light-border);--text: var(--light-text);--muted: var(--light-muted);--primary: var(--light-primary);--primary-hover: var(--light-primary-hover);--error: var(--light-error);--on-bg: var(--light-on-bg);--on-border: var(--primary);--field-bg: var(--light-field-bg);--btn-bg: var(--light-btn-bg);--elevated: var(--light-elevated);--error-bg: var(--light-error-bg);--error-border: var(--light-error-border);--backdrop: var(--light-backdrop);--shadow: var(--light-shadow);color-scheme:light}}:root[data-theme=dark]{--bg: var(--dark-bg);--panel: var(--dark-panel);--border: var(--dark-border);--text: var(--dark-text);--muted: var(--dark-muted);--primary: var(--dark-primary);--primary-hover: var(--dark-primary-hover);--error: var(--dark-error);--on-bg: var(--dark-on-bg);--field-bg: var(--dark-field-bg);--btn-bg: var(--dark-btn-bg);--elevated: var(--dark-elevated);--error-bg: var(--dark-error-bg);--error-border: var(--dark-error-border);--backdrop: var(--dark-backdrop);--shadow: var(--dark-shadow);color-scheme:dark}:root[data-theme=light]{--bg: var(--light-bg);--panel: var(--light-panel);--border: var(--light-border);--text: var(--light-text);--muted: var(--light-muted);--primary: var(--light-primary);--primary-hover: var(--light-primary-hover);--error: var(--light-error);--on-bg: var(--light-on-bg);--on-border: var(--primary);--field-bg: var(--light-field-bg);--btn-bg: var(--light-btn-bg);--elevated: var(--light-elevated);--error-bg: var(--light-error-bg);--error-border: var(--light-error-border);--backdrop: var(--light-backdrop);--shadow: var(--light-shadow);color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-size:16px}.muted{color:var(--muted)}.center{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:1.25rem}.login{width:100%;max-width:360px;display:flex;flex-direction:column;gap:.85rem}.login h1{margin:0}input,button{font:inherit}input[type=text],input[type=password],input[type=email],input[type=search],input[type=tel],input:not([type]){width:100%;background:var(--field-bg);border:1px solid var(--border);border-radius:10px;padding:.75rem .85rem;color:var(--text);outline:none}input:focus{border-color:var(--primary)}button{cursor:pointer;border:1px solid var(--border);background:var(--btn-bg);color:var(--text);border-radius:10px;padding:.75rem 1rem;min-height:44px}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.primary:active:not(:disabled){background:var(--primary-hover)}button.ghost{background:transparent}.error{color:var(--error)}.error.banner{background:var(--error-bg);border:1px solid var(--error-border);border-radius:10px;padding:.75rem .9rem;margin:.75rem 0;cursor:pointer}.page{max-width:900px;margin:0 auto;padding:1rem .85rem 5rem calc(.85rem + 20px)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.toolbar h1{font-size:1.1rem;margin:0}.toolbar .ghost{padding:.5rem .75rem;min-height:0}.toolbar-actions{display:flex;align-items:center;gap:.4rem;flex:0 0 auto}.theme-float{position:fixed;top:.85rem;right:.85rem;padding:.5rem .75rem;min-height:0}.controls{display:flex;flex-direction:column;gap:.6rem;margin:.85rem 0 .25rem}.filter-wrap{position:relative;width:100%}.filter{width:100%;padding-right:2.75rem}.filter-clear{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:32px;height:32px;min-height:0;padding:0;border:none;border-radius:999px;background:var(--border);color:var(--text);font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center}.filter-clear:active{background:var(--muted)}.add-form{display:flex;flex-direction:column;gap:.6rem;padding:.85rem}.add-actions{display:flex;gap:.6rem}.add-actions button{flex:1}.controls>button.primary{width:100%}.summary{margin:.85rem 0 .5rem;display:flex;flex-direction:column;gap:.5rem}.summary-total{font-weight:600;font-size:.95rem}.summary-stats{display:flex;flex-wrap:wrap;gap:.4rem}.stat-pill{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:.4rem .75rem;min-height:0;font-size:.8rem;color:var(--muted);white-space:nowrap;cursor:pointer}.stat-pill:active{border-color:var(--muted)}.stat-pill.active{background:var(--on-bg);border-color:var(--primary);color:var(--text)}.attendee-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.list-area{position:relative}.az-bar{position:fixed;left:2px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:0;z-index:50}.az-letter{background:transparent;border:none;padding:0;margin:0;min-height:0;width:18px;height:3.4vh;min-height:13px;font-size:10px;line-height:1;font-weight:600;color:var(--primary);cursor:pointer}.az-letter.az-empty{color:var(--muted);opacity:.4}.az-letter:active{color:var(--text)}.attendee-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:.85rem;display:flex;flex-direction:column;gap:.6rem}.attendee-body{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:.6rem}.attendee-info{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.attendee-name{font-weight:600;font-size:1.05rem}.attendee-meta{color:var(--muted);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendee-sub{color:var(--muted);text-decoration:none;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendee-sub:active{color:var(--primary)}.attendee-checks{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex:0 0 auto}.check-pill{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--border);border-radius:999px;padding:.5rem .85rem;min-height:44px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--field-bg);font-size:.9rem}.check-pill.on{background:var(--on-bg);border-color:var(--on-border);color:var(--text)}.check-pill input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--primary);margin:0}.check-pill input:disabled{opacity:.5}.center-cell{text-align:center;padding:2rem;list-style:none}@media (min-width: 640px){.toolbar h1{font-size:1.25rem}.controls{flex-direction:row;align-items:flex-start}.filter-wrap{flex:1}.controls>button.primary{width:auto}.add-form{flex-direction:row;flex-wrap:wrap;align-items:center}.add-form input{width:auto;flex:1;min-width:160px}.add-actions{flex:0 0 auto}.attendee-body{align-items:center}.attendee-checks{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:center;max-width:60%}}.toast{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);width:calc(100% - 1.5rem);max-width:460px;background:var(--elevated);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px var(--shadow);padding:.75rem .85rem;display:flex;align-items:center;gap:.75rem;z-index:100}.toast-text{flex:1;font-size:.9rem;min-width:0}.toast-undo{flex:0 0 auto;background:var(--primary);border-color:var(--primary);color:#fff;padding:.5rem 1rem;min-height:40px;font-weight:600}.toast-undo:active{background:var(--primary-hover)}.toast-count{opacity:.8;font-variant-numeric:tabular-nums}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal{width:100%;max-width:360px;display:flex;flex-direction:column;gap:.6rem}.modal-title{font-size:.9rem;color:var(--muted)}.modal-name{font-size:1.3rem;font-weight:700}.edit-eligibility{display:flex;flex-direction:column;gap:.4rem;margin:.3rem 0}.edit-row{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--field-bg);cursor:pointer;min-height:44px}.edit-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);margin:0}.modal-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.4rem}.modal-actions button{width:100%}.modal-danger{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.danger-text{font-size:.9rem;color:var(--text)}.danger-actions{display:flex;gap:.5rem}.danger-actions button{flex:1}button.danger{width:100%;background:var(--error);border-color:var(--error);color:#fff}button.danger:active:not(:disabled){opacity:.85}.edit-link{align-self:flex-start;background:transparent;border:none;color:var(--primary);padding:.2rem 0;min-height:0;font-size:.85rem;cursor:pointer}
