:root{--bg-cream:#fbf7f0;--bg-cream-deep:#f3eadc;--bg-card:#fff;--burgundy:#6b1d2f;--burgundy-dark:#4c1120;--burgundy-soft:#f8ecef;--gold:#c9923b;--gold-light:#e7c683;--gold-soft:#fcf5e6;--ink:#271a1c;--ink-muted:#6b585b;--border:#e7dccb;--whatsapp:#128c4a;--whatsapp-hover:#0e723c;--whatsapp-soft:#eaf8f0;--danger:#b42318;--danger-soft:#fef3f2;--shadow-card:0 14px 36px -14px #4c112024, 0 2px 8px #4c11200d;--radius-lg:22px;--radius-md:14px;--radius-sm:10px}*,:before,:after{box-sizing:border-box}html,body{background-color:var(--bg-cream);min-height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 15% 10%,#d4a35324 0%,#0000 45%),radial-gradient(circle at 85% 90%,#6b1d2f14 0%,#0000 50%);margin:0;padding:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1,h2,h3,.font-display{letter-spacing:-.02em;font-family:Fraunces,Georgia,serif}button,input,select,textarea{font-family:inherit}.app-shell{flex-direction:column;align-items:center;min-height:100dvh;padding:24px 16px 48px;display:flex}.app-container{width:100%;max-width:600px}.hero-header{text-align:center;margin-bottom:22px}.hero-badge{background:var(--gold-soft);color:#825918;border:1px solid #c9923b59;border-radius:999px;align-items:center;gap:6px;margin-bottom:12px;padding:6px 13px;font-size:.78rem;font-weight:600;display:inline-flex}.hero-title{color:var(--burgundy-dark);margin:0;font-size:clamp(2rem,6vw,2.65rem);font-weight:700;line-height:1.08}.hero-subtitle{max-width:46ch;color:var(--ink-muted);margin:10px auto 0;font-size:.96rem;line-height:1.5}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:22px 18px}@media (width>=520px){.card{padding:26px 24px}}.section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-title{color:var(--burgundy-dark);align-items:center;gap:8px;margin:0;font-size:1.15rem;font-weight:600;display:flex}.count-pill{background:var(--burgundy-soft);color:var(--burgundy);border-radius:999px;padding:3px 10px;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:600}.participant-list{flex-direction:column;gap:10px;display:flex}.participant-row{background:var(--bg-cream);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:28px 1fr;align-items:start;gap:10px;padding:12px;transition:border-color .15s,box-shadow .15s;display:grid}.participant-row:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #c9923b24}.participant-row--error{background:#fff9f8;border-color:#b4231873}.row-index{background:var(--burgundy-soft);width:28px;height:38px;color:var(--burgundy);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.row-fields{grid-template-columns:1fr;gap:8px;min-width:0;display:grid}@media (width>=520px){.row-fields{grid-template-columns:1fr 1.25fr auto;align-items:center}}.phone-group{align-items:center;gap:6px;min-width:0;display:flex}.input,.select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:40px;color:var(--ink);background:#fff;outline:none;padding:0 12px;font-size:.94rem;transition:border-color .15s}.input:focus,.select:focus{border-color:var(--burgundy)}.input::placeholder{color:#a69598}.select-prefix{flex-shrink:0;width:96px;padding:0 6px 0 8px;font-size:.85rem}.row-actions-mobile{justify-content:space-between;align-items:center;gap:8px;display:flex}@media (width>=520px){.row-actions-mobile{justify-content:flex-end}}.icon-btn{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--ink-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.row-error-text{color:var(--danger);grid-column:1/-1;margin:2px 0 0;font-size:.8rem}.add-participant-btn{border-radius:var(--radius-sm);width:100%;height:42px;color:var(--burgundy);cursor:pointer;background:0 0;border:1.5px dashed #6b1d2f47;justify-content:center;align-items:center;gap:7px;margin-top:12px;font-size:.92rem;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.add-participant-btn:hover{background:var(--burgundy-soft);border-color:var(--burgundy)}.extras-section{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.extras-toggle{width:100%;color:var(--burgundy-dark);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:6px 2px;font-size:.93rem;font-weight:600;display:flex}.extras-toggle-left{align-items:center;gap:8px;display:inline-flex}.extras-body{flex-direction:column;gap:14px;margin-top:14px;display:flex}.details-grid{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=520px){.details-grid{grid-template-columns:1fr 1fr}}.field-label{color:var(--ink-muted);margin-bottom:5px;font-size:.8rem;font-weight:600;display:block}.full-span{grid-column:1/-1}.exclusions-box{background:var(--bg-cream);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px}.exclusions-title{color:var(--burgundy-dark);margin:0 0 4px;font-size:.92rem;font-weight:700}.exclusions-hint{color:var(--ink-muted);margin:0 0 12px;font-size:.82rem}.exclusion-builder{grid-template-columns:1fr 1fr;gap:8px;display:grid}.exclusion-options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.checkbox-label{color:var(--ink);cursor:pointer;align-items:center;gap:7px;font-size:.84rem;display:inline-flex}.small-btn{border-radius:var(--radius-sm);border:1px solid var(--burgundy);background:var(--burgundy-soft);height:36px;color:var(--burgundy);cursor:pointer;align-items:center;gap:6px;padding:0 14px;font-size:.85rem;font-weight:600;display:inline-flex}.small-btn:disabled{opacity:.45;cursor:not-allowed}.exclusion-chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.exclusion-chip{border:1px solid var(--border);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.82rem;font-weight:500;display:inline-flex}.exclusion-chip button{cursor:pointer;color:var(--ink-muted);background:0 0;border:none;align-items:center;padding:2px;display:inline-flex}.exclusion-chip button:hover{color:var(--danger)}.alert{border-radius:var(--radius-sm);align-items:flex-start;gap:9px;margin-top:14px;padding:12px 14px;font-size:.88rem;line-height:1.45;display:flex}.alert--error{background:var(--danger-soft);color:var(--danger);border:1px solid #b4231840}.alert--info{background:var(--gold-soft);color:#6b4810;border:1px solid #c9923b59}.primary-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--burgundy) 0%, var(--burgundy-dark) 100%);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;margin-top:18px;padding:12px 20px;font-size:1.02rem;font-weight:700;transition:transform .12s,box-shadow .15s,opacity .15s;display:inline-flex;box-shadow:0 10px 22px -10px #4c1120a6}.primary-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 26px -10px #4c1120b3}.primary-btn:active:not(:disabled){transform:translateY(0)}.primary-btn:disabled{opacity:.55;cursor:not-allowed}.progress-wrap{margin:14px 0 18px}.progress-label{color:var(--ink-muted);justify-content:space-between;margin-bottom:6px;font-size:.84rem;font-weight:600;display:flex}.progress-track{background:var(--bg-cream-deep);border-radius:999px;height:9px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--gold) 0%, var(--whatsapp) 100%);border-radius:999px;height:100%;transition:width .3s}.share-list{flex-direction:column;gap:10px;display:flex}.share-item{background:var(--bg-cream);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:13px 14px;display:flex}@media (width>=500px){.share-item{flex-direction:row;justify-content:space-between;align-items:center}}.share-item--sent{background:#f6fbf8;border-color:#128c4a40}.share-person{min-width:0}.share-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share-name{color:var(--ink);font-size:1rem;font-weight:700}.status-badge{border-radius:999px;padding:2px 8px;font-size:.74rem;font-weight:700}.status-badge--pending{background:var(--gold-soft);color:#825918}.status-badge--sent{background:var(--whatsapp-soft);color:var(--whatsapp)}.share-phone{color:var(--ink-muted);margin-top:2px;font-size:.82rem}.share-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.whatsapp-btn{border-radius:var(--radius-sm);background:var(--whatsapp);color:#fff;cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:7px;height:42px;padding:0 15px;font-size:.88rem;font-weight:700;text-decoration:none;transition:background-color .15s;display:inline-flex}.whatsapp-btn:hover{background:var(--whatsapp-hover)}.whatsapp-btn--sent{color:var(--whatsapp);background:#fff;border:1.5px solid #128c4a66}.whatsapp-btn--sent:hover{background:var(--whatsapp-soft)}.copy-btn{border-radius:var(--radius-sm);border:1px solid var(--border);height:42px;color:var(--ink-muted);cursor:pointer;background:#fff;align-items:center;gap:5px;padding:0 11px;font-size:.82rem;font-weight:600;display:inline-flex}.copy-btn:hover{border-color:var(--burgundy);color:var(--burgundy)}.dashboard-footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:16px;display:flex}.secondary-btn{border-radius:var(--radius-sm);border:1px solid var(--border);min-width:140px;height:42px;color:var(--ink);cursor:pointer;background:#fff;flex:1;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:.88rem;font-weight:600;display:inline-flex}.secondary-btn:hover{background:var(--bg-cream);border-color:var(--burgundy);color:var(--burgundy)}.reveal-card{text-align:center;padding:30px 20px}.envelope-illustration{background:linear-gradient(145deg, var(--burgundy) 0%, var(--burgundy-dark) 100%);width:94px;height:94px;color:var(--gold-light);border:2px solid #e7c68373;border-radius:26px;justify-content:center;align-items:center;margin:0 auto 18px;display:flex;position:relative;box-shadow:0 14px 28px -12px #4c11208c}.envelope-seal{background:var(--gold);color:#fff;border:3px solid var(--bg-card);border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:absolute;bottom:-6px;right:-6px}.reveal-greeting{color:var(--burgundy-dark);margin:0;font-size:clamp(1.75rem,5vw,2.2rem)}.reveal-event-tag{background:var(--gold-soft);color:#7a5214;border-radius:999px;margin-top:8px;padding:4px 12px;font-size:.84rem;font-weight:600;display:inline-block}.reveal-copy{max-width:36ch;color:var(--ink-muted);margin:14px auto 0;font-size:.95rem;line-height:1.5}.reveal-result-box{border-radius:var(--radius-lg);background:linear-gradient(160deg, var(--burgundy) 0%, var(--burgundy-dark) 100%);color:#fff;border:2px solid var(--gold-light);margin:22px auto 0;padding:24px 18px;animation:.42s cubic-bezier(.22,1,.36,1) popReveal;box-shadow:0 18px 34px -14px #4c1120a6}@keyframes popReveal{0%{opacity:0;transform:scale(.92)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.reveal-label{text-transform:uppercase;letter-spacing:.08em;color:var(--gold-light);font-size:.86rem;font-weight:700}.reveal-target-name{color:#fff;margin:8px 0 0;font-size:clamp(2rem,7vw,2.75rem);line-height:1.1}.reveal-meta-list{color:#ffffffeb;border-top:1px solid #ffffff2e;flex-direction:column;gap:8px;margin-top:18px;padding-top:16px;font-size:.9rem;display:flex}.reveal-meta-item{justify-content:center;align-items:center;gap:7px;display:inline-flex}.reveal-note{border-radius:var(--radius-sm);background:#ffffff1a;margin-top:4px;padding:10px 12px;font-style:italic}.ghost-link-btn{color:var(--ink-muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin-top:22px;font-size:.84rem;text-decoration:underline}.ghost-link-btn:hover{color:var(--burgundy)}.app-footer{text-align:center;color:var(--ink-muted);margin-top:24px;font-size:.8rem}
