.bc-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#0f0c29,#302b63,#24243e);padding:24px 16px;font-family:Inter,system-ui,sans-serif}.bc-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:360px;text-align:center;overflow:hidden;padding:16px 0 40px}.bc-confetti{position:absolute;inset:0;pointer-events:none}.bc-star{position:absolute;color:#fbbf24;font-size:14px;opacity:0;animation:twinkle 3s infinite}.bc-star--0{top:8%;left:10%;animation-delay:0s}.bc-star--1{top:12%;left:80%;animation-delay:.4s}.bc-star--2{top:25%;left:5%;animation-delay:.8s}.bc-star--3{top:20%;left:90%;animation-delay:1.2s}.bc-star--4{top:55%;left:3%;animation-delay:.3s}.bc-star--5{top:60%;left:92%;animation-delay:.7s}.bc-star--6{top:78%;left:12%;animation-delay:1.5s}.bc-star--7{top:82%;left:82%;animation-delay:.9s}.bc-star--8{top:92%;left:35%;animation-delay:1.8s}.bc-star--9{top:90%;left:65%;animation-delay:.2s}@keyframes twinkle{0%{opacity:0;transform:scale(.8)}50%{opacity:.9;transform:scale(1.2)}to{opacity:0;transform:scale(.8)}}.bc-photo-wrap{margin-top:20px;width:160px;height:160px;border-radius:50%;padding:4px;background:linear-gradient(135deg,#f472b6,#fbbf24,#f472b6);box-shadow:0 0 40px #f472b666;animation:pulse-glow 3s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 30px #f472b64d}50%{box-shadow:0 0 60px #f472b699}}.bc-photo{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid #0f0c29}.bc-greeting{font-size:16px;font-weight:500;color:#f472b6;letter-spacing:.1em;text-transform:uppercase;margin:8px 0 0}.bc-name{font-size:36px;font-weight:800;color:#fff;margin:0;line-height:1.1}.bc-wish{font-size:15px;color:#a5b4fc;margin:4px 0 0}.bc-footer{margin-top:32px;font-size:12px;color:#ffffff40;letter-spacing:.05em}.bc-error{color:#f87171;font-size:16px}.bc-loader{color:#ffffff4d;font-size:24px;letter-spacing:4px;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:.3}50%{opacity:1}}.birthday-page{max-width:550px;margin:0 auto;padding:20px;font-family:Segoe UI,Roboto,sans-serif;background-color:#111827;min-height:100vh;color:#f3f4f6}.page-title{font-size:22px;font-weight:700;color:#fff;margin-bottom:24px;text-align:center}.timeline-label{font-size:.85rem;color:#9ca3af;text-transform:uppercase;letter-spacing:1px;margin:30px 0 12px;display:flex;align-items:center;gap:10px}.timeline-label:after{content:"";flex:1;height:1px;background:#ffffff1a}.timeline-label.today{color:#f472b6;font-weight:800}.timeline-label.today:after{background:#f472b64d}.today-hero-container{display:flex;flex-direction:column;gap:15px}.today-hero-card{background:#1f2937;border-radius:20px;padding:25px;text-align:center;box-shadow:0 10px 30px #00000080;border:1px solid rgba(244,114,182,.3);position:relative;transition:transform .3s ease}.today-hero-card:hover{transform:scale(1.02);border-color:#f472b6}.hero-decor{font-size:2.5rem;margin-bottom:10px;display:block;filter:drop-shadow(0 0 8px rgba(244,114,182,.5))}.hero-footer{margin-top:15px;font-weight:600;color:#f472b6;font-size:.95rem;text-transform:uppercase}.event-card-new{background:#1f2937;border-radius:12px;padding:12px 16px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px #0003;border:1px solid rgba(255,255,255,.05)}.event-card-new:hover{background:#374151}.event-main-content{display:flex;flex-direction:column;gap:2px}.event-date-text{font-size:.75rem;color:#9ca3af;text-transform:capitalize}.event-badge{font-size:1.2rem}.empty-msg{font-size:.85rem;color:#4b5563;font-style:italic;padding-left:10px}.birthday-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.birthday-page-header .page-title{margin-bottom:0}.wa-btn{display:inline-flex;align-items:center;gap:7px;background:#25d366;color:#fff;border:none;border-radius:8px;padding:7px 10px;cursor:pointer;font-size:13px;font-weight:600;transition:background .15s ease;flex-shrink:0}.wa-btn:hover{background:#1ebe5c}.wa-btn--week{padding:8px 14px;font-size:14px;border-radius:10px}.wa-btn--hero{width:100%;justify-content:center;margin-top:14px;padding:11px;font-size:15px;border-radius:12px}.event-card-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.member-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;margin-bottom:10px;transition:background .2s ease,transform .15s ease;background-color:#1e1e1e}.member-card.clickable{cursor:pointer}.member-card.selected{background:#6366f126;border-left:3px solid #6366f1}.member-card.clickable:hover{background-color:#262626;transform:translateY(-1px)}.member-card__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid #333}.member-card__info{display:flex;flex-direction:column}.member-card__name{font-size:15px;font-weight:600;color:#f1f1f1}.member-card__subtitle{font-size:13px;color:#a0a0a0;margin-top:2px}.families-page{display:flex;flex-direction:column;gap:20px}.families-search{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);font-size:15px;outline:none}.families-search:focus{border-color:var(--primary)}.families-count{font-size:13px;color:var(--text-muted);margin-top:-8px}.families-list{display:flex;flex-direction:column;gap:10px}.family-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:border-color .2s ease}.family-card--open{border-color:var(--primary)}.family-card__header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;cursor:pointer;-webkit-user-select:none;user-select:none;gap:12px}.family-card__header:active{background:var(--bg-hover)}.family-card__name{font-size:17px;font-weight:600;color:var(--text-main)}.family-card__meta{font-size:13px;color:var(--text-muted);margin-top:2px}.family-card__chevron{font-size:12px;color:var(--text-muted);transition:transform .25s ease;flex-shrink:0}.family-card--open .family-card__chevron{transform:rotate(180deg)}.family-card__body{padding:0 18px 20px;border-top:1px solid var(--border);animation:fadeIn .18s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.family-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:16px 0 10px}.family-members-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.family-member-item{display:flex;flex-direction:column;align-items:center;gap:6px;width:60px}.family-member-item img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.family-member-item--parent{width:80px}.family-member-item--parent img{width:72px;height:72px;border-color:var(--primary)}.family-member-item span{font-size:11px;color:var(--text-muted);text-align:center;line-height:1.3;word-break:break-word}.home{display:flex;flex-direction:column;gap:24px}.home-title{font-size:22px;font-weight:600}.home-grid{display:grid;grid-template-columns:1fr;gap:16px}.home-card{display:flex;gap:16px;align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:18px;cursor:pointer;transition:all .2s ease}.home-card:hover{background:var(--bg-hover);transform:translateY(-2px)}.home-icon{font-size:28px}.home-card h3{margin:0;font-size:18px}.home-card p{margin:4px 0 0;font-size:14px;color:var(--text-muted)}.home-card.disabled{opacity:.4;cursor:not-allowed}.home-card.disabled:hover{transform:none;background:var(--bg-card)}.home-badge{margin-left:auto;background:#f472b6;color:#fff;font-size:13px;font-weight:700;min-width:24px;height:24px;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:0 7px;flex-shrink:0}.ar-page{display:flex;flex-direction:column;gap:24px;padding-bottom:32px}.ar-header{display:flex;flex-direction:column;gap:12px}.ar-back{background:none;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:0;text-align:left;width:fit-content}.ar-back:hover{color:var(--text-main)}.ar-title{font-size:20px;font-weight:700;color:var(--text-main)}.ar-subject{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.ar-subject-photo{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--primary)}.ar-subject span{font-size:15px;font-weight:600;color:var(--text-main)}.ar-section{display:flex;flex-direction:column;gap:10px}.ar-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.ar-type-pills{display:flex;gap:8px}.ar-pill{flex:1;padding:10px 6px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:center}.ar-pill:hover{border-color:var(--primary);color:var(--text-main)}.ar-pill--active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.ar-search{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);font-size:15px;outline:none}.ar-search:focus{border-color:var(--primary)}.ar-list{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow-y:auto}.ar-person{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid transparent;background:var(--bg-card);cursor:pointer;transition:all .15s ease}.ar-person:hover{background:var(--bg-hover)}.ar-person--selected{border-color:var(--primary);background:#4f8cff14}.ar-person-photo{width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0}.ar-person-info{display:flex;flex-direction:column;flex:1;min-width:0}.ar-person-name{font-size:14px;font-weight:600;color:var(--text-main)}.ar-person-sub{font-size:12px;color:var(--text-muted);margin-top:1px}.ar-check{color:var(--primary);font-weight:700;font-size:16px;flex-shrink:0}.ar-error{background:#e056561f;border:1px solid var(--danger);color:#fca5a5;padding:10px 14px;border-radius:10px;font-size:13px}.ar-footer{display:flex;flex-direction:column;gap:10px}.ar-preview{font-size:13px;color:var(--text-muted);text-align:center;margin:0;font-style:italic}.ar-submit{width:100%;padding:14px;border-radius:12px;border:none;font-size:16px;font-weight:600;cursor:pointer;background:var(--border);color:var(--text-muted);transition:all .2s ease}.ar-submit--active{background:var(--primary);color:#fff}.ar-submit--active:hover{background:var(--primary-hover)}.ar-submit:disabled{cursor:default}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:28px 24px;max-width:420px;width:90%;display:flex;flex-direction:column;gap:24px}.modal-message{color:var(--text-main);font-size:.95rem;line-height:1.6;margin:0;white-space:pre-line}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-btn{padding:10px 18px;border-radius:8px;border:none;cursor:pointer;font-size:.9rem;font-weight:500}.modal-btn--cancel{background:var(--bg-hover);color:var(--text-muted)}.modal-btn--cancel:hover{color:var(--text-main)}.modal-btn--confirm{background:var(--primary);color:#fff}.modal-btn--confirm:hover{background:var(--primary-hover)}.family-view{margin-bottom:24px;color:#eee;font-family:Segoe UI,sans-serif}.family-section{margin-bottom:24px}.family-section h3{margin-bottom:8px;font-size:16px;font-weight:600;border-bottom:1px solid #444;padding-bottom:4px;color:#ccc}.family-member{display:flex;align-items:center;gap:12px;margin-bottom:8px;padding:6px 10px;border-radius:8px;transition:background .2s}.family-member button{margin-left:auto;border:none;color:#f55;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;transition:background .2s,color .2s}.family-member button:hover{background:#f55;color:#fff}.family-member.padre{background-color:#ffa5001a}.family-member.hijo{background-color:#007bff1a}.family-member.cónyuge{background-color:#ff14931a}.family-member.hermano{background-color:#00ff7f1a}.no-family{color:#888;font-style:italic}@media(max-width:480px){.family-member{flex-direction:column;align-items:flex-start}.family-member button{margin-left:0;margin-top:4px}}.member-detail{background-color:#1e1e2f;color:#e0e0e0;padding:16px;border-radius:12px;max-width:500px;margin:0 auto;box-shadow:0 4px 12px #0000004d;font-family:Inter,sans-serif}.member-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.member-photo{width:100px;height:100px;border-radius:50%;object-fit:cover;border:2px solid #555}.edit-btn{background-color:#4a90e2;color:#fff;border:none;border-radius:8px;padding:6px 12px;cursor:pointer;transition:background-color .2s ease}.edit-btn:hover{background-color:#357ab8}.member-name{font-size:1.5rem;margin-bottom:12px}.member-info p{margin:6px 0;font-size:.95rem}.loading{color:#999;text-align:center;margin-top:32px}.member-list{display:flex;flex-direction:column;gap:16px}.member-list__title{font-size:20px;font-weight:600;color:#f5f5f5;margin-bottom:4px}.member-list__filters{display:flex;flex-direction:column;gap:10px}.member-list__checkbox{display:flex;align-items:center;gap:8px;font-size:14px;color:#cfcfcf}.member-list__checkbox input{accent-color:#4f8cff}.member-list__search{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #333;background-color:#1e1e1e;color:#f1f1f1;font-size:14px}.member-list__search::placeholder{color:#888}.member-list__count{margin-top:6px;font-size:.9rem;color:#666}.member-list__search:focus{outline:none;border-color:#4f8cff}.member-list__results{margin-top:8px}.person-form{width:100%;display:flex;justify-content:center}.form-card{width:100%;max-width:600px;background:#18181b;border-radius:16px;padding:20px;box-shadow:0 10px 30px #00000080}.form-grid{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:640px){.form-grid{grid-template-columns:1fr 1fr}}.form-group{display:flex;flex-direction:column}.form-group.full{grid-column:1 / -1}.form-group label{font-size:12px;font-weight:500;margin-bottom:6px;color:#9ca3af}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;font-size:14px;color:#e5e7eb;background:#1f1f23;border:1px solid #2a2a2e;border-radius:10px;outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 1px #6366f166}.form-group.checkbox label{display:flex;align-items:center;gap:10px;font-size:14px;color:#e5e7eb}.form-group.checkbox input{width:18px;height:18px}.form-actions{margin-top:20px;display:flex;justify-content:flex-end}.form-actions button{padding:10px 22px;background:#6366f1;color:#fff;font-size:14px;border:none;border-radius:999px;cursor:pointer}.form-actions button:hover{background:#4f46e5}.photo-preview{margin-top:10px;display:flex;align-items:center;gap:12px}.photo-wrapper{position:relative;width:56px;height:56px}.photo-wrapper img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:1px solid #2a2a2e}.remove-photo{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:none;background:#ef4444;color:#fff;font-size:14px;cursor:pointer}.photo-name{font-size:12px;color:#9ca3af}.members-page{padding:16px;max-width:900px;margin:0 auto;font-family:Inter,sans-serif;color:#e0e0e0;background-color:#1e1e2f;border-radius:12px;box-shadow:0 4px 12px #0000004d}.primary-btn,.secondary-btn{border:none;border-radius:8px;padding:8px 14px;margin:4px 0;cursor:pointer;font-size:.95rem;transition:background-color .2s ease}.primary-btn{background-color:#4a90e2;color:#fff}.primary-btn:hover{background-color:#357ab8}.secondary-btn{background-color:#555;color:#fff}.secondary-btn:hover{background-color:#777}.detail-buttons{display:flex;gap:8px;margin-top:12px}.presentation-select{max-width:520px;margin:0 auto;padding:16px}.presentation-select h2{font-size:22px;margin-bottom:20px;text-align:center;color:#e0e7ff;font-weight:600}.presentation-select h3{margin-top:28px;margin-bottom:10px;font-size:16px;color:#c7d2fe;display:flex;align-items:center;justify-content:space-between}.toggle-btn{background:none;border:none;color:#a5b4fc;font-size:13px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .2s ease}.toggle-btn:hover{background:#ffffff14}.event-list{display:flex;flex-direction:column;gap:12px}.event-row{display:flex;align-items:center;gap:12px;background:#ffffff0d;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);transition:background .2s ease,transform .15s ease}.event-row:hover{background:#ffffff1f;transform:translateY(-2px)}.event-row input[type=checkbox]{width:22px;height:22px;accent-color:#6366f1}.event-info{font-size:13px;color:#9ca3af;margin-left:auto;text-align:right;min-width:110px}.present-btn{width:100%;margin-top:32px;padding:14px;background:#6366f1;color:#fff;border:none;border-radius:12px;font-size:17px;font-weight:600;text-align:center;cursor:pointer;transition:background .2s ease,transform .15s ease}.present-btn:hover{background:#4f46e5;transform:translateY(-2px)}.present-btn:active{transform:translateY(0)}.presentation-select p{font-size:13px;color:#9ca3af;margin-left:4px}.add-guest-form{display:flex;flex-direction:column;gap:10px;background:#ffffff0d;border:1px solid rgba(99,102,241,.4);border-radius:12px;padding:14px}.add-guest-form input{background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:10px 12px;color:#e0e7ff;font-size:14px;outline:none;transition:border .2s ease}.add-guest-form input:focus{border-color:#6366f1}.add-guest-form input::placeholder{color:#6b7280}.add-guest-form input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.add-guest-form .guest-actions{display:flex;gap:8px}.add-guest-form .guest-actions button{flex:1;padding:9px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease}.add-guest-form .guest-actions button:first-child{background:#6366f1;color:#fff}.add-guest-form .guest-actions button:first-child:hover{background:#4f46e5}.add-guest-form .guest-actions button:last-child{background:#ffffff14;color:#9ca3af}.add-guest-form .guest-actions button:last-child:hover{background:#ffffff21}.presentation-select .add-guest-form button:first-child{background:#6366f1;color:#fff}.presentation-select .add-guest-form button:last-child{background:#ffffff14;color:#9ca3af}.guest-error{font-size:12px;color:#f87171;margin:0}.add-guest-btn{background:none;border:1px dashed rgba(99,102,241,.5);color:#a5b4fc;border-radius:10px;padding:10px;width:100%;font-size:14px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.add-guest-btn:hover{background:#6366f11a;border-color:#6366f1}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:12px;margin-bottom:8px}.btn{padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);cursor:pointer}.btn:hover{background:var(--bg-hover)}.filter-container{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:.9rem;color:#ccc}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#555;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#4a90e2}input:checked+.slider:before{transform:translate(20px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.filter-label{font-size:.9rem;color:#e0e0e0}.mobile-check{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 0}.mobile-check input{display:none}.check-ui{width:42px;height:24px;background:#2a2a2e;border-radius:999px;position:relative;transition:background .2s}.check-ui:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#9ca3af;border-radius:50%;transition:transform .2s,background .2s}.mobile-check input:checked+.check-ui{background:#6366f1}.mobile-check input:checked+.check-ui:after{transform:translate(18px);background:#fff}.check-label{font-size:14px;color:#e5e7eb}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg-main);color:var(--text-main)}.app{min-height:100vh}.container{max-width:900px;margin:0 auto;padding:24px 16px}.header{padding:16px;border-bottom:1px solid var(--border)}.logo{margin:0;cursor:pointer}:root{--bg-main: #0f1115;--bg-card: #161a22;--bg-hover: #1f2530;--text-main: #e6e8eb;--text-muted: #9aa0aa;--primary: #4f8cff;--primary-hover: #6fa1ff;--danger: #e05656;--border: #262c36}*,*:before,*:after{box-sizing:border-box}
