.dashboard-container{background-color:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.dashboard-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.dashboard-logo{color:var(--color-text);font-family:Plus Jakarta Sans,sans-serif;font-size:20px;font-weight:700;text-decoration:none;transition:color .2s}.dashboard-logo:hover{color:var(--color-brand)}.dashboard-user{color:var(--color-text-secondary);font-family:Plus Jakarta Sans,sans-serif;font-weight:500;position:relative}#user-menu-toggle:hover{background:var(--color-bg)}.dashboard-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:40px 24px}.dashboard-main-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.dashboard-main-header h1{font-family:var(--font-ui);font-size:var(--type-page);color:var(--color-text);font-weight:700;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);margin:0}.header-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn-delete-all{font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:var(--type-control);cursor:pointer;color:var(--color-error);border:1.5px solid color-mix(in srgb, var(--color-error) 30%, transparent);background:0 0;border-radius:12px;align-items:center;gap:6px;padding:10px 18px;transition:background .2s,border-color .2s;display:inline-flex}.btn-delete-all:hover{background:color-mix(in srgb, var(--color-error) 8%, transparent);border-color:var(--color-error)}.btn-delete-all:disabled{opacity:.5;cursor:not-allowed;transform:none}.delete-confirm-overlay{z-index:200;background:0 0;border:0;justify-content:center;align-items:center;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;display:none;position:fixed;inset:0}.delete-confirm-overlay[open]{display:flex}.delete-confirm-overlay::backdrop{backdrop-filter:blur(4px);background:#1c191773}.dashboard-feedback{color:#33202b;background:#fffaf7;border:1px solid #ded3ca;border-radius:16px;margin-block:24px;padding:24px}.dashboard-feedback[hidden]{display:none}.dashboard-feedback h2{margin:0 0 10px;font-size:1.2rem}.dashboard-feedback p{line-height:1.6}.empty-state h2{color:#33202b;margin:12px 0}.empty-state .btn-create-new{margin:6px}.dashboard-rsvp-dialog{color:#334155;background:0 0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0}.dashboard-rsvp-dialog::backdrop{background:#0f172a66}.rsvp-load-status{color:#334155;margin:0;padding:8px 24px;font-size:.86rem;line-height:1.5}.rsvp-load-status:empty{display:none}.rsvp-load-retry{align-self:start;margin:4px 24px 16px}.rsvp-load-retry[hidden]{display:none}.dashboard-rsvp-dialog :is(button,input):focus-visible,.delete-confirm-overlay button:focus-visible{outline-offset:3px;outline:3px solid #a62e5d}@media (prefers-reduced-motion:reduce){.delete-confirm-sheet{transition:none!important}}.delete-confirm-sheet{background:var(--color-surface);text-align:center;border-radius:16px;width:90%;max-width:400px;padding:32px;transition:transform .25s cubic-bezier(.34,1.56,.64,1);transform:scale(.95)translateY(8px)}.delete-confirm-overlay.active .delete-confirm-sheet{transform:scale(1)translateY(0)}.delete-sheet-handle{display:none}.delete-sheet-icon{background:color-mix(in srgb, var(--color-error) 10%, transparent);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;display:flex}.delete-sheet-icon .material-symbols-outlined{color:var(--color-error);font-size:28px}.delete-sheet-title{color:var(--color-text);margin:0 0 8px;font-family:Plus Jakarta Sans,sans-serif;font-size:18px;font-weight:700}.delete-sheet-desc{color:var(--color-text-secondary);margin:0 0 24px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;line-height:1.5}.delete-sheet-actions{gap:12px;display:flex}.delete-sheet-btn{height:48px;font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:var(--type-control);cursor:pointer;border:none;border-radius:12px;flex:1;transition:background .2s}.delete-sheet-cancel{background:var(--color-surface-hover);color:var(--color-text)}.delete-sheet-cancel:hover{background:var(--color-border)}.delete-sheet-danger{background:var(--color-error);color:#fff}.delete-sheet-danger:hover{filter:brightness(.9)}.delete-sheet-danger:disabled{opacity:.6;cursor:not-allowed}@media (width<=640px){.delete-confirm-overlay{align-items:flex-end}.delete-confirm-sheet{border-radius:20px 20px 0 0;width:100%;max-width:100%;padding:16px 24px 32px;transition:transform .3s cubic-bezier(.32,.72,0,1);transform:translateY(100%)}.delete-confirm-overlay.active .delete-confirm-sheet{transform:translateY(0)}.delete-sheet-handle{background:var(--color-border);border-radius:2px;width:36px;height:4px;margin:0 auto 20px;display:block}.delete-sheet-actions{flex-direction:column-reverse}.delete-sheet-btn{height:48px;font-size:var(--type-control)}}.btn-create-new{font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:var(--type-control);text-align:center;border-radius:8px;align-items:center;gap:6px;padding:12px 24px;text-decoration:none;transition:all .2s;display:inline-flex}.btn-create-new:hover{transform:translateY(-2px)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:2px solid var(--color-border);box-shadow:0 2px 8px #0f172a0d}.btn-secondary:hover{border-color:var(--color-border-strong);box-shadow:0 4px 12px #0f172a1a}.btn-create-template{background:var(--color-brand);color:var(--color-text-on-brand);box-shadow:0 4px 12px #7a463233}.btn-create-template:hover{background:var(--color-brand-dark);box-shadow:0 6px 16px #7a46324d}.btn-create-template .material-symbols-outlined{font-size:20px}.loading-state,.empty-state{text-align:center;color:var(--color-text-secondary);padding:48px;font-family:Plus Jakarta Sans,sans-serif;font-size:16px}.loading-state{justify-content:center;align-items:center;gap:12px;display:flex}.loading-state[hidden]{display:none}.loading-state:before{content:"";border:2px solid var(--color-border,var(--vv-line));border-top-color:var(--color-brand,var(--vv-berry));border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.7s linear infinite dashboard-spin}@keyframes dashboard-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-state:before{animation-duration:1.6s}}.empty-state p{margin-bottom:16px}.invitations-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.invitation-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;flex-direction:column;transition:transform .25s cubic-bezier(.32,.72,0,1),box-shadow .25s;display:flex;overflow:hidden;box-shadow:0 4px 20px -5px #0f172a0d}.invitation-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px -12px #0f172a1f}.card-thumbnail{border-bottom:1px solid var(--color-border);height:160px;color:var(--color-text);background:linear-gradient(135deg,#f5e9ff 0%,#e0d0ff 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.card-thumbnail:after{content:"";pointer-events:none;background:radial-gradient(circle at 30% 20%,#ffffff80,#0000 60%);position:absolute;inset:0}.card-thumb-initial{font-family:var(--font-ui);color:var(--color-text);opacity:.85;letter-spacing:-.02em;text-shadow:0 2px 8px #fff6;z-index:1;font-size:56px;font-weight:600}.card-thumb-badge{z-index:2;backdrop-filter:blur(8px);position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #0f172a14}.card-meta{font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-secondary);color:var(--color-text-muted,var(--vv-text-secondary));align-items:center;gap:5px;margin:0 0 16px;display:flex}.card-meta .material-symbols-outlined{font-size:17px}.card-content{flex-direction:column;flex:1;padding:20px;display:flex}.card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.card-title{font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-card);line-height:var(--leading-heading);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:600;overflow:hidden}.card-badge{font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-secondary);border-radius:999px;flex-shrink:0;padding:4px 10px;font-weight:600}.badge-draft{color:var(--color-warning);background:#fef3c7}.badge-published{color:var(--color-success);background:#dcfce7}.card-date{color:var(--color-text-secondary);margin:0 0 20px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px}.card-actions{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.action-btn{font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-control);cursor:pointer;background:var(--color-surface-hover);color:var(--color-text-secondary);text-align:center;border:1px solid #0000;border-radius:10px;flex:1;min-height:40px;padding:10px 14px;font-weight:600;transition:background .15s,color .15s,border-color .15s,transform .12s}.action-btn:hover:not(:disabled){background:var(--color-border);color:var(--color-text)}.action-btn:active:not(:disabled){transform:scale(.97)}.action-primary{background:var(--color-text);color:var(--color-text-on-brand)}.action-primary:hover:not(:disabled){background:color-mix(in srgb, var(--color-text) 85%, white);color:var(--color-text-on-brand)}.action-publish{background:var(--color-brand);color:var(--color-text-on-brand)}.action-publish:hover:not(:disabled){background:var(--color-brand-dark,#6344d9);color:var(--color-text-on-brand)}.action-upgrade{background:color-mix(in srgb, var(--color-brand) 10%, transparent);color:var(--color-brand);border-color:color-mix(in srgb, var(--color-brand) 25%, transparent)}.action-upgrade:hover:not(:disabled){background:color-mix(in srgb, var(--color-brand) 18%, transparent);border-color:var(--color-brand);color:var(--color-brand)}.action-delete{color:var(--color-error);border-color:color-mix(in srgb, var(--color-error) 20%, transparent);background:0 0}.action-delete:hover:not(:disabled){background:color-mix(in srgb, var(--color-error) 8%, transparent);border-color:var(--color-error)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-more{min-width:44px;color:var(--color-text-secondary);border-color:var(--color-border);background:0 0;flex:none;padding:10px;display:none}.action-more:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.card-actions-overlay{z-index:200;backdrop-filter:blur(4px);opacity:0;visibility:hidden;background:#0f172a73;justify-content:center;align-items:flex-end;transition:opacity .25s,visibility .25s;display:flex;position:fixed;inset:0}.card-actions-overlay.active{opacity:1;visibility:visible}.card-actions-sheet{background:var(--color-surface);padding:12px 20px calc(24px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;width:100%;max-width:480px;transition:transform .32s cubic-bezier(.32,.72,0,1);transform:translateY(100%);box-shadow:0 -10px 48px #0f172a2e}.card-actions-overlay.active .card-actions-sheet{transform:translateY(0)}.card-actions-handle{background:var(--color-border-strong,#cbd5e1);border-radius:999px;width:44px;height:5px;margin:0 auto 16px}.card-actions-title{color:var(--color-text-muted,var(--vv-text-secondary));text-transform:uppercase;letter-spacing:.04em;text-align:center;margin:0 0 16px;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:600}.card-actions-list{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.card-actions-list .action-btn{text-align:left;width:100%;min-height:52px;font-size:var(--type-control);border-radius:12px;flex:none;align-items:center;gap:12px;padding:14px 18px;display:flex}.card-actions-list .action-btn .material-symbols-outlined{flex-shrink:0;font-size:22px}.card-actions-close{background:var(--color-surface-hover);width:100%;min-height:52px;color:var(--color-text);cursor:pointer;border:none;border-radius:12px;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:600;transition:background .15s}.card-actions-close:hover{background:var(--color-border)}@media (width<=640px){.dashboard-header{padding:0 16px}.dashboard-main{padding:24px 16px}.dashboard-main-header{flex-direction:column;align-items:flex-start}.header-actions{flex-direction:column;width:100%}.btn-create-new{justify-content:center;width:100%}.invitations-grid{grid-template-columns:1fr}}.rsvp-modal-container{z-index:1;background:#fff;border-radius:16px;flex-direction:column;width:90%;max-width:800px;max-height:85vh;margin:auto;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0f172a26}.rsvp-modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;padding:24px 24px 16px;display:flex}.rsvp-modal-title{font-family:var(--font-ui);font-size:var(--type-panel);color:var(--color-text);font-weight:600;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);margin:0 0 8px}.rsvp-modal-stats{flex-wrap:wrap;gap:16px;display:flex}.rsvp-stat{font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-secondary);align-items:center;gap:4px;font-weight:600;display:flex}.rsvp-stat .material-symbols-outlined,.rsvp-badge-yes .material-symbols-outlined,.rsvp-badge-no .material-symbols-outlined{font-size:17px}.rsvp-stat-yes{color:#166534}.rsvp-stat-no{color:var(--color-error)}.rsvp-stat-total{color:var(--color-text-secondary)}.rsvp-modal-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:8px;padding:4px;transition:all .2s}.rsvp-modal-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.rsvp-modal-toolbar{border-bottom:1px solid var(--color-surface-hover);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex}.rsvp-modal-filters{background:var(--color-surface-hover);border-radius:8px;gap:4px;padding:3px;display:flex}.rsvp-filter-btn{font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-control);cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;padding:6px 14px;font-weight:600;transition:all .2s}.rsvp-filter-btn.active{color:var(--color-text);background:#fff;box-shadow:0 1px 3px #00000014}.rsvp-modal-search{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;flex:1;align-items:center;gap:6px;max-width:260px;padding:0 10px;display:flex}.rsvp-modal-search input{height:34px;font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-secondary);width:100%;color:var(--color-text);background:0 0;border:none;outline:none}.rsvp-modal-body{flex:1;min-height:200px;padding:0;overflow-y:auto}.rsvp-table{border-collapse:collapse;width:100%}.rsvp-table th{font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-secondary);color:var(--color-text-secondary);text-align:left;background:var(--color-bg);border-bottom:1px solid var(--color-border);cursor:grab;user-select:none;white-space:nowrap;padding:10px 16px;font-weight:600}.rsvp-table th:active{cursor:grabbing}.rsvp-table th.drag-over{background:var(--color-brand-subtle)}.rsvp-th-sortable{cursor:pointer}.rsvp-th-sortable:hover{color:var(--color-text);background:var(--color-surface-hover)}.rsvp-th-sorted{color:var(--color-text);background:#eef2ff}.rsvp-table td{font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-secondary);color:var(--color-text);border-bottom:1px solid var(--color-surface-hover);padding:10px 16px}.rsvp-table tr:hover td{background:var(--color-bg)}.rsvp-badge-yes{font-size:var(--type-secondary);color:#166534;background:color-mix(in srgb, var(--color-success) 10%, var(--color-surface));border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-weight:600;display:inline-flex}.rsvp-badge-no{font-size:var(--type-secondary);color:var(--color-error);background:color-mix(in srgb, var(--color-error) 8%, var(--color-surface));border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-weight:600;display:inline-flex}.rsvp-diet-tag{font-size:var(--type-secondary);color:var(--color-text-secondary);background:var(--color-surface-hover);border:1px solid var(--color-border);white-space:nowrap;border-radius:999px;margin:1px 2px 1px 0;padding:2px 8px;font-weight:500;display:inline-block}.rsvp-card-diet{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.rsvp-stat-dietary{color:var(--color-text-secondary)}.rsvp-modal-footer{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex}.rsvp-export-help{color:var(--vv-text-secondary);margin:0;padding:8px 24px;font-size:11px;line-height:1.5}.rsvp-pagination{align-items:center;gap:4px;display:flex}.rsvp-page-btn{font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-control);border:1px solid var(--color-border);min-width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;font-weight:600;transition:all .2s;display:flex}.rsvp-page-btn:hover{background:var(--color-surface-hover)}.rsvp-page-btn.active{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}.rsvp-page-btn:disabled{opacity:.4;cursor:not-allowed}.rsvp-modal-actions{gap:6px;display:flex}.rsvp-action-btn{font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-control);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:4px;padding:6px 14px;font-weight:600;transition:all .2s;display:flex}.rsvp-action-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.rsvp-upgrade-banner{background:linear-gradient(135deg, var(--color-brand-light), var(--color-warm-cream));text-align:center;border-radius:10px;margin:12px 16px;padding:14px 18px}.rsvp-upgrade-banner p:first-child{font-size:var(--type-secondary);color:#4338ca;margin:0 0 4px;font-weight:600}.rsvp-upgrade-banner p:last-child{font-size:var(--type-secondary);color:#6366f1;margin:0}.rsvp-empty{text-align:center;color:var(--color-text-muted);padding:40px 20px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px}.rsvp-card-list{display:none}.rsvp-card-item{border-bottom:1px solid var(--color-surface-hover);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.rsvp-card-item:last-child{border-bottom:none}.rsvp-card-name{color:var(--color-text);font-size:14px;font-weight:500}.rsvp-card-meta{font-size:var(--type-secondary);color:var(--color-text-muted);margin-top:2px}.rsvp-card-right{text-align:right;flex-shrink:0}.rsvp-summary-badge{font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-control);margin:-12px 0 16px;display:none}.rsvp-summary-status,.rsvp-inline-stat{align-items:center;gap:4px;display:inline-flex}.rsvp-summary-status+.rsvp-summary-status{margin-left:10px}.rsvp-summary-partial{color:#475569;margin-bottom:4px;display:block}.rsvp-summary-status--yes{color:#166534}.rsvp-summary-status--no{color:var(--color-error)}.rsvp-summary-status .material-symbols-outlined,.rsvp-inline-stat .material-symbols-outlined{font-size:17px}@media (width<=640px){.rsvp-modal-container{border-radius:0;width:100%;max-width:100%;height:100vh;max-height:100vh;top:0;left:0;transform:none}.rsvp-modal-toolbar{flex-direction:column;align-items:stretch}.rsvp-modal-search{max-width:100%}.rsvp-modal-footer{flex-direction:column}.rsvp-modal-actions{justify-content:center;width:100%}.rsvp-pagination{justify-content:center}.rsvp-table{display:none}.rsvp-card-list{display:block}.rsvp-page-numbers{display:none}}.dashboard-v2 .dashboard-main{max-width:1240px;padding-top:64px;padding-bottom:64px}.dashboard-v2 .dashboard-logo{align-items:center;min-height:44px;display:inline-flex}.dashboard-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.dashboard-v2 .dashboard-main-header{align-items:flex-end;gap:28px;margin-bottom:32px}.dashboard-v2 .dashboard-eyebrow{color:var(--color-brand);font-size:var(--type-secondary);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-weight:700}.dashboard-v2 .dashboard-main-header h1{font-size:var(--type-page);line-height:var(--leading-heading);font-family:var(--font-ui);letter-spacing:var(--tracking-heading);font-weight:700}.dashboard-v2 .dashboard-intro{color:var(--color-ink-700);font-size:var(--type-body);line-height:var(--leading-body);max-width:480px;margin:12px 0 0}.dashboard-v2 .header-actions{gap:10px}.dashboard-v2 .header-actions .btn-create-new{min-height:46px;font-size:var(--type-control);padding:12px 18px}.dashboard-v2 .header-actions .btn-secondary{border:1px solid var(--color-border-strong);color:var(--color-text);background:0 0}.dashboard-v2 .dashboard-tools{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.dashboard-v2 .dashboard-tools[hidden]{display:none}.dashboard-v2 .dashboard-filter{gap:6px;display:grid}.dashboard-v2 .dashboard-filter:first-child{flex:1;min-width:min(220px,100%)}.dashboard-v2 .dashboard-filter label{font-size:var(--type-secondary);color:var(--color-ink-700);font-weight:600}.dashboard-v2 .dashboard-filter :is(input,select){border:1px solid var(--color-border-strong);background:var(--color-surface);min-height:44px;color:var(--color-text);font:inherit;border-radius:10px;width:100%;min-width:0;padding:10px 12px;font-size:16px}.dashboard-v2 .dashboard-filter-status{color:var(--color-ink-700);font-size:var(--type-secondary);margin:0;padding:12px 0}.dashboard-v2 #no-filter-results{border:1px dashed var(--color-border-strong);text-align:center;color:var(--color-ink-700);border-radius:16px;padding:40px 20px}.dashboard-v2 #no-filter-results[hidden]{display:none}.dashboard-v2 .invitations-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));align-items:start;gap:28px}.dashboard-v2 .invitation-card{box-shadow:none;border-radius:16px;transition:none}.dashboard-v2 .invitation-card:hover{box-shadow:none;transform:none}.dashboard-v2 .invitation-card[hidden]{display:none}.dashboard-v2 .card-thumbnail{background:var(--color-warm-cream);isolation:isolate;height:264px;position:relative}.dashboard-v2 .card-thumbnail:after{display:none}.dashboard-v2 .card-cover-photo{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.dashboard-v2 .has-photo .card-cover-photo{opacity:1}.dashboard-v2 .has-photo .card-cover-fallback{visibility:hidden}.dashboard-v2 .card-cover-fallback{border:1px solid var(--color-warm-champagne);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:calc(100% - 48px);height:calc(100% - 40px);padding:28px 18px;display:flex}.dashboard-v2 .card-cover-kicker{font-size:var(--type-secondary);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-700);line-height:1.5}.dashboard-v2 .card-cover-title{font-family:var(--font-ui);-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:28px;line-height:1.18;display:-webkit-box;overflow:hidden}.dashboard-v2 .card-cover-signature{color:var(--color-brand);font-size:var(--type-secondary);font-weight:700}.dashboard-v2 .card-thumb-badge{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);box-shadow:none;backdrop-filter:none;font-size:var(--type-secondary);top:14px;left:14px;right:auto}.dashboard-v2 .badge-published:before{content:"";background:var(--color-brand);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.dashboard-v2 .card-content{padding:22px}.dashboard-v2 .card-header{gap:12px;margin-bottom:8px}.dashboard-v2 .card-title{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;font-size:18px;line-height:1.45;overflow:visible}.dashboard-v2 .card-plan{color:var(--color-brand);background:var(--color-brand-subtle);font-size:var(--type-secondary);border-radius:6px;flex-shrink:0;margin-top:3px;padding:3px 7px;font-weight:600}.dashboard-v2 .card-event-date{color:var(--color-ink-700);font-size:var(--type-secondary);margin:0 0 6px}.dashboard-v2 .card-meta{color:var(--color-ink-700);font-size:var(--type-secondary);margin:0 0 18px;display:block}.dashboard-v2 .invitations-grid .card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dashboard-v2 .card-actions .action-btn{min-width:0;min-height:44px;font-size:var(--type-control);white-space:normal;overflow-wrap:anywhere;color:var(--color-text);padding:10px 12px;transition:background .15s}.dashboard-v2 .card-actions .action-btn:active{transform:none}.dashboard-v2 .card-actions .action-secondary:not(.action-rsvp),.dashboard-v2 .card-actions [hidden]{display:none!important}.dashboard-v2 .card-actions .action-primary{color:var(--color-text-on-brand)}.dashboard-v2 .card-actions .action-open{background:var(--vv-berry);border-color:var(--vv-berry);grid-column:1/-1;justify-content:center;align-items:center;text-decoration:none;display:flex}.dashboard-v2 .card-actions .action-open:hover{background:var(--vv-berry-dark)}.dashboard-v2 .card-actions .action-edit{background:var(--vv-surface);border:1px solid var(--vv-control-border);color:var(--vv-ink)}.dashboard-v2 .card-actions .action-publish{background:var(--color-surface);color:var(--color-brand);border-color:var(--color-brand)}.dashboard-v2 .card-actions .action-more{border:1px solid var(--color-border-strong);order:3;justify-content:center;align-items:center;display:inline-flex!important}.dashboard-v2 .card-actions .action-rsvp{color:var(--color-ink-700);background:0 0;order:4;justify-content:center;align-items:center;padding:10px;display:inline-flex!important}.dashboard-v2 .invitation-card,.dashboard-v2 .card-header,.dashboard-v2 .card-title{min-width:0}.dashboard-v2 .card-cover-fallback{gap:12px;min-height:0;padding:32px 14px 14px;overflow:hidden}.dashboard-v2 .card-cover-kicker{letter-spacing:.08em;font-size:12px;line-height:1.45}.dashboard-v2 .card-cover-title{-webkit-line-clamp:2;flex-shrink:0;font-size:24px;line-height:1.2}.dashboard-v2 .card-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dashboard-v2 .card-actions:not(:has(.action-rsvp)) .action-more{grid-column:1/-1}.dashboard-v2 .rsvp-summary-badge:empty{display:none}.dashboard-v2 :is(button,a,input,select):focus-visible,.dashboard-actions-dialog :is(button,a):focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}.dashboard-actions-dialog{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);overscroll-behavior:contain;border-radius:20px;width:min(480px,100vw - 24px);max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow:auto}.dashboard-actions-dialog::backdrop{background:#1c19178c}body:has(.dashboard-actions-dialog[open]){overflow:hidden}.dashboard-actions-surface{padding:24px}.dashboard-actions-dialog h2{font-family:var(--font-ui);font-size:var(--type-panel);line-height:var(--leading-heading);overflow-wrap:anywhere;letter-spacing:var(--tracking-heading);margin:0 0 8px;font-weight:600}.dashboard-actions-description{font-size:var(--type-secondary);color:var(--color-ink-700);margin:0 0 20px}.dashboard-actions-dialog .card-actions-list .action-btn{color:var(--color-text);background:var(--color-bg);font-size:var(--type-control);border:1px solid var(--color-border);min-height:46px;padding:12px 14px}.dashboard-actions-dialog .card-actions-list .action-delete{color:var(--color-error);background:0 0;margin-top:12px}.dashboard-actions-dialog .card-actions-list .action-btn:active{transform:none}.dashboard-actions-dialog .card-actions-close{min-height:46px;font-size:14px}.dashboard-v2 #user-menu-toggle{min-height:44px;color:var(--color-ink-700)!important}.dashboard-v2 #user-email{overflow-wrap:anywhere;color:var(--color-ink-700)!important}.dashboard-v2 #btn-logout{min-height:44px;color:var(--color-error)!important}.dashboard-v2 #link-admin-panel{min-height:44px}.dashboard-v2 .btn-delete-all{font-size:var(--type-control);width:100%;min-height:44px;margin-top:8px}@media (width<=640px){.dashboard-v2 .dashboard-main{padding:32px 16px 48px}.dashboard-v2 .dashboard-main-header{align-items:stretch;gap:22px}.dashboard-v2 .header-actions{flex-direction:row;align-items:stretch}.dashboard-v2 .header-actions .btn-create-new{width:auto;font-size:var(--type-control);flex:1;padding:10px}.dashboard-v2 .dashboard-tools{gap:12px}.dashboard-v2 .dashboard-filter:first-child{flex:1 0 100%}.dashboard-v2 .dashboard-filter-status{margin-left:auto}.dashboard-v2 .card-content{padding:18px}.dashboard-v2 .card-thumbnail{height:240px}}.community-owned{margin-block:2.5rem}.community-owned-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:1rem;padding:0;list-style:none;display:grid}.community-owned-card{border:1px solid #cbd5e1;border-radius:12px;padding:1rem}.community-owned-card iframe{border:1px solid #cbd5e1;width:100%;height:240px;display:block}.community-owned-button{color:#603323;cursor:pointer;min-height:44px;font:inherit;background:#fff;border:1px solid #7a4632;border-radius:8px;margin-top:.75rem;padding:.6rem 1rem}.community-owned-button:focus-visible{outline-offset:3px;outline:3px solid #7a4632}.community-owned-button:disabled{opacity:.6;cursor:wait}
