@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--pink:#ff3f87;--pink-soft:#ff7eb2;--yellow:#ffd03a;--orange:#ff8a3d;--sky:#4ec3ff;--ink:#24133f;--muted:#6f5d86;--panel:#ffffffc7;--line:#ff3f8724;--shadow:0 28px 70px #461c6e24;--theme-glow:#ff3f8738;color:var(--ink);background:radial-gradient(circle at 8% 0%, #ffd03a80, transparent 26%), radial-gradient(circle at 92% 4%, #4ec3ff6b, transparent 24%), radial-gradient(circle at 80% 90%, var(--theme-glow), transparent 32%), linear-gradient(165deg, #fff7fc 0%, #eef7ff 45%, #f7ecff 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Manrope,sans-serif;font-weight:500;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:var(--pink);font-weight:700;text-decoration:none}h1,h2,h3,.brand{letter-spacing:-.02em;font-family:Fredoka,sans-serif}.brand-lockup{align-items:center;gap:.95rem;display:flex}.brand-icon{object-fit:cover;border-radius:20px;width:68px;height:68px;box-shadow:0 14px 30px #ff3f8747}.brand{letter-spacing:.08em;text-transform:uppercase;color:var(--pink);margin:0;font-size:.74rem}.auth-shell,.app-shell{max-width:1180px;min-height:100vh;margin:0 auto;padding:2rem}.auth-shell{place-items:center;max-width:none;display:grid}.maintenance-shell{background:radial-gradient(ellipse 80% 50% at 50% -10%, color-mix(in srgb, var(--pink) 18%, transparent), transparent), linear-gradient(180deg, #fff8fb 0%, #f7f4ff 45%, #eef6ff 100%);place-items:center;min-height:100vh;padding:2rem;display:grid}.maintenance-card{text-align:center;justify-items:center;gap:.65rem;width:min(100%,440px);padding:2rem 1.5rem;display:grid}.maintenance-icon{object-fit:cover;width:88px;height:88px;box-shadow:0 12px 32px color-mix(in srgb, var(--pink) 22%, transparent);border-radius:22px}.maintenance-card h1{margin:.35rem 0 0;font-size:clamp(1.75rem,4vw,2.2rem)}.maintenance-message{color:var(--ink);max-width:34ch;margin:0;line-height:1.55}.auth-stage{flex-direction:column;gap:1.25rem;min-height:100vh;padding:1.25rem 2rem 2rem;display:flex;position:relative;overflow:hidden}.auth-topbar{z-index:2;justify-content:space-between;align-items:center;gap:.85rem;width:min(100%,1080px);margin:0 auto;display:flex;position:relative}.auth-home-link{color:var(--ink);font-family:Fredoka,sans-serif;font-size:1rem;font-weight:700}.auth-glow{filter:blur(40px);pointer-events:none;border-radius:999px;animation:8s ease-in-out infinite floatGlow;position:absolute}.auth-glow-a{background:#ff3f8747;width:340px;height:340px;top:-80px;left:-60px}.auth-glow-b{background:#4ec3ff3d;width:420px;height:420px;animation-delay:-3s;bottom:-100px;right:-120px}.auth-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.auth-confetti span{opacity:.7;border-radius:3px;width:10px;height:10px;animation:10s linear infinite drift;position:absolute}.auth-confetti span:first-child{background:#ff3f87;animation-delay:0s;top:18%;left:12%}.auth-confetti span:nth-child(2){background:#ffd03a;width:8px;height:8px;animation-delay:-2s;top:72%;left:28%}.auth-confetti span:nth-child(3){background:#4ec3ff;border-radius:999px;animation-delay:-4s;top:22%;left:70%}.auth-confetti span:nth-child(4){background:#ff8a3d;width:12px;height:6px;animation-delay:-1s;top:58%;left:84%}.auth-confetti span:nth-child(5){background:#ff7eb2;animation-delay:-5s;top:12%;left:48%;transform:rotate(25deg)}.auth-confetti span:nth-child(6){background:#5b7cff;border-radius:999px;animation-delay:-6s;top:80%;left:58%}.auth-layout{z-index:1;flex:1;grid-template-columns:1.05fr .95fr;align-items:center;gap:1.5rem;width:min(100%,1080px);margin:0 auto;display:grid;position:relative}.auth-hero{text-align:center;padding:1rem 1.25rem;animation:.7s both riseIn}.auth-hero-icon{object-fit:cover;border-radius:42px;width:min(42vw,220px);height:min(42vw,220px);margin:0 auto 1.1rem;animation:.9s cubic-bezier(.2,.9,.2,1) both iconPop;display:block;box-shadow:0 30px 60px #ff3f8747}.auth-brand{letter-spacing:.08em;text-transform:uppercase;color:var(--pink);text-align:center;margin:0 0 .9rem;font-family:Fredoka,sans-serif;font-size:clamp(1.15rem,2.2vw,1.55rem);font-weight:700}.auth-headline{max-width:18ch;margin:0 auto .7rem;font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:700;line-height:1.25}.auth-lead{color:var(--muted);max-width:34ch;margin:0 auto;font-size:.98rem}.auth-panel{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd6;border-radius:32px;padding:1.8rem;animation:.75s 80ms both riseIn}.auth-panel-head{margin-bottom:1.2rem}.auth-panel-head h2{margin:0 0 .35rem;font-size:1.8rem}.auth-panel-head p{color:var(--muted);margin:0}.auth-panel-top{display:none}.auth-locale-toggle{flex-shrink:0}.auth-form{gap:.95rem;display:grid}.password-strength{background:color-mix(in srgb, #fff 88%, var(--pink,#ff3f87) 6%);border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:14px;gap:.35rem;margin:0;padding:.7rem .85rem;list-style:none;display:grid}.password-strength-item{color:var(--muted);align-items:center;gap:.55rem;margin:0;font-size:.86rem;font-weight:650;display:flex}.password-strength-mark{min-width:1.2rem;font-size:.95rem;font-weight:800;line-height:1}.password-strength-item.is-met,.password-strength-item.is-met .password-strength-mark{color:#1f9d57}.password-strength-item.is-unmet{color:var(--ink)}.password-strength-item.is-unmet .password-strength-mark{color:#d62828}.password-field{position:relative}.password-field input{width:100%;padding-right:3rem}.password-toggle{width:2.4rem;height:2.4rem;color:var(--muted);box-shadow:none;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--pink);background:#ff3f8714}.auth-submit{min-height:52px;margin-top:.25rem}.auth-footer{text-align:center;color:var(--muted);margin:1.15rem 0 0}.auth-error,.auth-locale{margin:0}.auth-card,.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:30px;padding:1.6rem}.auth-card{width:min(100%,460px)}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes iconPop{0%{opacity:0;transform:scale(.86)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes floatGlow{0%,to{transform:translateY(0)}50%{transform:translateY(18px)}}@keyframes drift{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-28px)rotate(18deg)}}@media (width<=900px){.auth-layout{grid-template-columns:1fr;align-content:start;gap:1.1rem}.auth-hero{text-align:center;padding:0}.auth-hero-icon{border-radius:34px;width:148px;height:148px;margin-left:auto;margin-right:auto}.auth-headline,.auth-lead{max-width:none}.auth-stage{padding:1rem}}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.topbar-left{align-items:center;gap:.85rem;min-width:0;display:flex}.inbox-bell{border:1px solid var(--line);width:2.6rem;height:2.6rem;color:var(--ink);background:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.inbox-bell-svg{display:block}.inbox-bell-badge{background:var(--pink);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.15rem;height:1.15rem;padding:0 .28rem;font-size:.68rem;font-weight:800;display:inline-flex;position:absolute;top:-.35rem;right:-.35rem}.inbox-toolbar{border-bottom:1px solid color-mix(in srgb, var(--line) 85%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.inbox-page{align-content:start;gap:1.1rem;display:grid}.inbox-hero{border:1px solid color-mix(in srgb, var(--pink) 22%, var(--line));background:radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--pink) 18%, transparent), transparent 55%), linear-gradient(135deg, #fff 0%, color-mix(in srgb, var(--pink) 5%, #fff) 100%);box-shadow:0 10px 28px color-mix(in srgb, var(--pink) 8%, transparent);border-radius:22px;align-items:center;gap:1rem;padding:1.15rem 1.25rem;display:flex}.inbox-hero-icon{width:3.1rem;height:3.1rem;color:var(--pink);background:color-mix(in srgb, var(--pink) 12%, #fff);border-radius:16px;flex-shrink:0;place-items:center;display:grid}.inbox-glyph{width:1.35rem;height:1.35rem}.inbox-hero-copy{flex:1;min-width:0}.inbox-hero-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem;font-weight:800}.inbox-hero-count{color:var(--ink);margin:.2rem 0 0;font-size:1.05rem}.inbox-hero-count strong{color:var(--pink);font-family:Fredoka,sans-serif;font-size:1.35rem}.inbox-unread-pill{background:var(--pink);color:#fff;min-width:2rem;height:2rem;box-shadow:0 8px 18px color-mix(in srgb, var(--pink) 35%, transparent);border-radius:999px;justify-content:center;align-items:center;padding:0 .65rem;font-size:.9rem;font-weight:800;display:inline-flex}.inbox-panel{overflow:hidden}.inbox-select-all{color:var(--ink);cursor:pointer;align-items:center;gap:.55rem;font-weight:700;display:inline-flex}.inbox-select-all em{color:var(--pink);background:color-mix(in srgb, var(--pink) 12%, #fff);border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-style:normal;font-weight:800}.inbox-toolbar-actions,.inbox-pager,.inbox-detail-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.inbox-action{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:.45rem .95rem;font-size:.86rem;font-weight:700;text-decoration:none;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.inbox-action:hover:not(:disabled){border-color:color-mix(in srgb, var(--pink) 40%, var(--line));background:color-mix(in srgb, var(--pink) 8%, #fff);color:var(--pink)}.inbox-action:disabled{opacity:.45;cursor:not-allowed}.inbox-action.is-danger:hover:not(:disabled){border-color:color-mix(in srgb, #e11d48 40%, var(--line));color:#be123c;background:#fdedf0}.inbox-list{gap:.7rem;display:grid}.inbox-item{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.85rem .95rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;position:relative;overflow:hidden}.inbox-item:before{content:"";background:0 0;width:3px;position:absolute;top:0;bottom:0;left:0}.inbox-item:hover{border-color:color-mix(in srgb, var(--pink) 28%, var(--line));box-shadow:0 8px 22px color-mix(in srgb, var(--pink) 8%, transparent)}.inbox-item.is-unread{border-color:color-mix(in srgb, var(--pink) 35%, var(--line));background:linear-gradient(90deg, color-mix(in srgb, var(--pink) 8%, #fff), #fff 42%)}.inbox-item.is-unread:before{background:var(--pink)}.inbox-item.is-selected{border-color:color-mix(in srgb, var(--pink) 55%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--pink) 12%, transparent)}.inbox-item-main{text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;grid-template-columns:auto 1fr;align-items:start;gap:.85rem;width:100%;min-width:0;padding:0;display:grid}.inbox-avatar{width:2.55rem;height:2.55rem;color:var(--pink);background:color-mix(in srgb, var(--pink) 12%, #fff);border:1px solid color-mix(in srgb, var(--pink) 18%, transparent);border-radius:14px;flex-shrink:0;place-items:center;font-family:Fredoka,sans-serif;font-size:1.05rem;font-weight:700;display:grid}.inbox-avatar.lg{border-radius:18px;width:3.4rem;height:3.4rem;font-size:1.35rem}.inbox-item-body{gap:.28rem;min-width:0;display:grid}.inbox-item-top{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.inbox-item-top strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1.3;overflow:hidden}.inbox-item.is-unread .inbox-item-top strong{font-weight:800}.inbox-item-top time{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:.78rem;font-weight:600}.inbox-item-preview{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.92rem;line-height:1.45;display:-webkit-box;overflow:hidden}.inbox-status{letter-spacing:.02em;width:fit-content;color:var(--muted);background:#f3f4f8;border-radius:999px;margin-top:.15rem;padding:.14rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.inbox-status.is-unread{background:color-mix(in srgb, var(--pink) 14%, #fff);color:var(--pink)}.inbox-check{place-items:center;padding:.15rem;display:grid}.inbox-check input{width:1.05rem;height:1.05rem;accent-color:var(--pink)}.inbox-delete{width:2.35rem;height:2.35rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-self:center;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.inbox-delete svg{width:1.05rem;height:1.05rem}.inbox-delete:hover:not(:disabled){color:#be123c;border-color:color-mix(in srgb, #e11d48 22%, var(--line));background:#fdedf0}.inbox-delete:disabled{opacity:.4;cursor:not-allowed}.inbox-empty{text-align:center;justify-items:center;gap:.45rem;padding:2.5rem 1rem;display:grid}.inbox-empty-icon{width:4rem;height:4rem;color:var(--pink);background:color-mix(in srgb, var(--pink) 10%, #fff);border-radius:20px;place-items:center;margin-bottom:.4rem;display:grid}.inbox-empty-icon .inbox-glyph{width:1.7rem;height:1.7rem}.inbox-empty h2{margin:0;font-size:1.25rem}.inbox-loading{justify-content:center;padding:1.5rem 0}.inbox-pager{border-top:1px solid color-mix(in srgb, var(--line) 85%, transparent);justify-content:center;margin-top:1rem;padding-top:1rem}.inbox-detail-card{border:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--pink) 5%, #fff), #fff 28%);box-shadow:0 14px 36px color-mix(in srgb, var(--pink) 8%, transparent);border-radius:24px;gap:1.15rem;padding:1.4rem 1.35rem 1.25rem;display:grid}.inbox-detail-card.is-unread{border-color:color-mix(in srgb, var(--pink) 35%, var(--line))}.inbox-detail-head{grid-template-columns:auto 1fr;align-items:start;gap:1rem;display:grid}.inbox-detail-head h2{margin:0 0 .35rem;font-size:clamp(1.35rem,3vw,1.75rem);line-height:1.2}.inbox-detail-meta{color:var(--muted);flex-wrap:wrap;gap:.4rem;margin:0 0 .55rem;font-size:.9rem;font-weight:600;display:flex}.inbox-detail-body{gap:.9rem;display:grid}.inbox-detail-lead{color:var(--ink);margin:0;font-size:1.05rem;line-height:1.6}.inbox-detail-extra{white-space:pre-wrap;border:1px solid var(--line);background:color-mix(in srgb, var(--line) 14%, #fff);color:var(--ink);border-radius:16px;padding:1.05rem 1.1rem;line-height:1.55}@media (width<=720px){.inbox-toolbar{flex-direction:column;align-items:stretch}.inbox-toolbar-actions{width:100%}.inbox-action{flex:1}.inbox-item{grid-template-columns:auto 1fr}.inbox-delete{grid-column:2;justify-self:end}.inbox-item-top{flex-direction:column;align-items:flex-start;gap:.2rem}}.top-actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.locale-mini{grid-template-columns:1fr 1fr;gap:.35rem;display:grid}.profile-locale{max-width:220px}.locale-mini button.segment{min-width:48px;padding:.55rem .7rem;font-size:.82rem}.grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;margin-top:1.25rem;display:grid}.hero-panel{margin-bottom:.25rem}.panel-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.panel-head h2{margin:0}.pill,.badge{border-radius:999px;justify-content:center;align-items:center;font-size:.78rem;font-weight:800;display:inline-flex}.pill{color:#1f5f9a;background:#4ec3ff2e;padding:.35rem .75rem}.badge{min-width:64px;color:var(--ink);background:linear-gradient(135deg,#ff3f8724,#ffd03a3d);padding:.45rem .8rem}.card-list{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.soft-card{background:#ffffffb8;border:1px solid #5b7cff1a;border-radius:20px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.profile-shell{flex-direction:column;display:flex}.profile-panel{flex:1;align-content:start;gap:1.35rem;width:100%;display:grid}.profile-admin-link{border:1px solid var(--line);color:inherit;background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.profile-admin-link:hover{border-color:color-mix(in srgb, var(--pink) 45%, var(--line));box-shadow:0 8px 24px #0000000a}.profile-admin-link span:first-child{gap:.2rem;display:grid}.profile-admin-link strong{font-size:1rem;font-weight:800}.profile-admin-link small{color:var(--muted);font-size:.85rem;font-weight:600}.profile-admin-chevron{color:var(--pink);font-size:1.6rem;font-weight:300;line-height:1}.profile-section{gap:.9rem;display:grid}.profile-section+.profile-section{border-top:1px solid color-mix(in srgb, var(--line) 88%, transparent);padding-top:1.15rem}.profile-section-head{gap:.2rem;display:grid}.profile-section-head h2{margin:0;font-size:1.05rem;font-weight:800}.profile-section-head p{color:var(--muted);margin:0;font-size:.9rem}.profile-prefs{gap:.75rem;display:grid}.profile-form{gap:.95rem;display:grid}.timezone-field{gap:.35rem;display:grid}.timezone-select{background:linear-gradient(#fff 0%,#fff8fb 100%);border:1.5px solid #ff6b9d2e;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;min-height:3.25rem;padding:.15rem .85rem .15rem .7rem;transition:border-color .15s,box-shadow .15s;display:grid;position:relative;box-shadow:0 6px 14px #ff6b9d0d}.timezone-select:focus-within{border-color:#ff3f8773;box-shadow:0 0 0 4px #ff3f871f}.timezone-select-icon{width:2.15rem;height:2.15rem;color:var(--pink);background:#ff6b9d1f;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.timezone-select select{appearance:none;width:100%;min-width:0;box-shadow:none;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:0;padding:.75rem 0;font-weight:800}.timezone-select select:focus{box-shadow:none;border:0;outline:none}.timezone-select-chevron{color:var(--pink);pointer-events:none;opacity:.85;font-size:.95rem;line-height:1}.profile-form-actions{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:.15rem;display:flex}.profile-form-actions .btn-action{min-width:8.5rem}.profile-security-actions{border-top:0;flex-wrap:wrap;gap:.75rem;margin-top:0;padding-top:0;display:flex}.profile-security-actions .btn-action{min-width:10rem}.verify-banner{background:#4ec3ff1f;border:1px solid #4ec3ff40;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:0;padding:.85rem 1rem;display:flex}.verify-banner.is-ok{background:#e6f9ee;border-color:#2ecc7147}.verify-banner.is-warn{background:color-mix(in srgb, var(--orange) 14%, #fff);border-color:color-mix(in srgb, var(--orange) 30%, transparent)}.verify-banner p{color:#24133f;margin:0;font-weight:700}.password-section{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.25rem}.password-section h3{margin:0 0 .35rem;font-size:1.05rem}.setting-block{background:linear-gradient(145deg,#ffffffeb,#fff0f8e0);border:1px solid #ff3f871f;border-radius:18px;gap:.55rem;padding:.85rem .95rem;display:grid}.setting-label{margin:0;font-size:.92rem;font-weight:800}.locale-select-compact{background:#ffffffb8;border:1px solid #ff6b9d2e;border-radius:999px;gap:.35rem;padding:.22rem;display:inline-flex}.locale-field{margin-bottom:.15rem}.pref-trigger{text-align:left;width:100%;color:var(--ink);background:linear-gradient(#fff 0%,#fff8fb 100%);border:1.5px solid #ff6b9d29;border-radius:14px;align-items:center;gap:.75rem;margin:0;padding:.7rem .85rem;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 6px 14px #ff6b9d0d}.pref-trigger:hover:not(:disabled){border-color:#ff6b9d66}.pref-trigger:disabled{opacity:.65;cursor:wait}.pref-trigger-meta{flex:1;gap:.1rem;min-width:0;display:grid}.pref-trigger-meta strong{font-size:.95rem;font-weight:800}.pref-trigger-meta em{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:600}.pref-trigger-chevron{color:var(--muted);flex-shrink:0;font-size:.85rem}.locale-options{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.locale-options.modal-options{grid-template-columns:1fr;gap:.55rem}.locale-option{text-align:left;width:100%;color:var(--ink);background:linear-gradient(#fff 0%,#fff8fb 100%);border:1.5px solid #ff6b9d29;border-radius:16px;align-items:center;gap:.75rem;margin:0;padding:.9rem 1rem;transition:border-color .15s,transform .15s,box-shadow .15s,background .15s;display:flex;box-shadow:0 8px 18px #ff6b9d0d}.locale-option.compact-pill{width:auto;min-width:2.6rem;box-shadow:none;background:0 0;border:0;border-radius:999px;justify-content:center;gap:0;padding:.42rem .72rem}.locale-option:hover:not(:disabled){border-color:#ff6b9d73;transform:translateY(-1px)}.locale-option.compact-pill:hover:not(:disabled){background:#ff6b9d14;transform:none}.locale-option.active{background:linear-gradient(135deg,#ff6b9d29,#ffb84d24);border-color:#ff6b9d8c;box-shadow:0 10px 22px #ff6b9d24}.locale-option.compact-pill.active{background:linear-gradient(135deg, var(--pink), #ff8fb3);color:#fff;box-shadow:0 8px 16px #ff6b9d47}.locale-option:disabled{opacity:.65;cursor:wait}.locale-code{width:2.5rem;height:2.5rem;color:var(--pink);letter-spacing:.04em;background:#ff6b9d1f;border-radius:12px;flex-shrink:0;place-items:center;font-size:.92rem;font-weight:800;display:grid}.locale-option.compact-pill .locale-code{width:auto;height:auto;color:inherit;background:0 0;font-size:.82rem}.locale-option.active .locale-code{color:#d94880;background:#ff6b9d33}.locale-option.compact-pill.active .locale-code{color:#fff;background:0 0}.pref-trigger .locale-code{border-radius:10px;width:2.2rem;height:2.2rem;font-size:.82rem}.theme-swatch{border:2px solid #ffffffe6;border-radius:999px;flex-shrink:0;width:1.55rem;height:1.55rem;box-shadow:0 0 0 1px #24133f1f}.theme-color-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.65rem;display:grid}.theme-color-option{text-align:left;border:1px solid var(--line);cursor:pointer;background:#ffffffb8;border-radius:16px;align-items:center;gap:.7rem;padding:.75rem .85rem;display:flex}.theme-color-option:hover:not(:disabled){border-color:color-mix(in srgb, var(--pink) 45%, transparent)}.theme-color-option.active{border-color:var(--pink);box-shadow:0 0 0 2px color-mix(in srgb, var(--pink) 28%, transparent)}.theme-color-option-swatch{border-radius:999px;flex-shrink:0;width:2rem;height:2rem;box-shadow:inset 0 0 0 1px #ffffff73}.theme-color-option-meta{gap:.1rem;min-width:0;display:grid}.theme-color-option-meta strong{font-size:.92rem}.theme-color-option-meta em{color:var(--muted);font-size:.78rem;font-style:normal}.locale-meta{gap:.12rem;min-width:0;display:grid}.locale-meta strong{font-size:.95rem;font-weight:800}.locale-meta em{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:600}.segmented{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}button.segment{color:var(--ink);box-shadow:none;cursor:pointer;background:#fff;border:1px solid #5b7cff29;border-radius:16px;padding:.85rem .9rem;font-weight:700}button.segment.active{background:linear-gradient(135deg, var(--pink), var(--orange));color:#fff;border-color:#0000;box-shadow:0 12px 24px #ff3f873d}button.segment:disabled{opacity:.6;cursor:wait}.preview-chip{background:#4ec3ff1f;border-radius:16px;flex-wrap:wrap;align-items:center;gap:.65rem;padding:.75rem .9rem;display:flex}.preview-chip strong{font-size:1.05rem}.preview-chip em{color:var(--muted);font-size:.86rem;font-style:normal}form{gap:.85rem;display:grid}.row{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}label{gap:.35rem;font-size:.92rem;font-weight:700;display:grid}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;color:var(--ink);background:#ffffffeb;border:1px solid #5b7cff2e;border-radius:16px;padding:.85rem .95rem;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:#ff3f8773;outline:none;box-shadow:0 0 0 4px #ff3f871f}textarea{resize:vertical;min-height:90px}button,.btn-ghost{cursor:pointer;border:0;border-radius:18px;padding:.9rem 1.15rem;font-weight:800}button:not(.segment):not(.ghost):not(.btn-action):not(.btn-chip):not(.modal-close):not(.modal-backdrop):not(.password-toggle):not(.home-calendar-cell):not(.pref-trigger):not(.locale-option):not(.theme-color-option):not(.landing-cta-secondary):not(.landing-login-btn):not(.contact-reminder-add):not(.days-before-chip):not(.tpl-pick){background:linear-gradient(135deg, var(--pink), var(--orange));color:#fff;box-shadow:0 14px 28px #ff3f8742}button.ghost,.btn-ghost{color:var(--ink);border:1px solid var(--line);box-shadow:none;background:#ffffffc7;align-items:center;display:inline-flex}button:disabled{opacity:.7;cursor:wait}.muted{color:var(--muted)}.tight{margin:.15rem 0 0}.error{color:#d62828;font-weight:700}.flash{background:#ffd03a47;border:1px solid #ff8a3d4d;border-radius:16px;margin-bottom:1rem;padding:.8rem 1rem;font-weight:700}.list{gap:.65rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.list li{border-bottom:1px solid #5b7cff1a;justify-content:space-between;gap:1rem;padding:.9rem 0;display:flex}.list-row{align-items:center}.list-row>div:first-child{gap:.2rem;display:grid}.list-row .list-person{align-items:center;gap:.75rem;display:flex}.list-row .list-person>div{gap:.2rem;display:grid}.list-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.45rem;display:flex}.btn-action{color:var(--ink);box-shadow:none;cursor:pointer;background:#fff;border:1px solid #5b7cff2e;border-radius:12px;padding:.5rem .85rem;font-size:.82rem;font-weight:700}.btn-action.danger{color:#d62828;border-color:#d6282840}.btn-action:hover{border-color:var(--pink);color:var(--pink)}.btn-action.danger:hover{color:#d62828;background:#d628280f}.modal-root{z-index:80;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-backdrop{cursor:pointer;background:#24133f73;border:0;position:absolute;inset:0}.modal-card{z-index:1;border:1px solid var(--line);background:#fffffff5;border-radius:28px;width:min(100%,560px);max-height:min(90vh,820px);padding:1.25rem 1.35rem 1.5rem;position:relative;overflow:auto;box-shadow:0 30px 80px #24133f47}.modal-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.modal-head h2{margin:0;font-size:1.35rem}.modal-close{width:36px;height:36px;color:var(--ink);box-shadow:none;cursor:pointer;background:#fff;border:1px solid #5b7cff29;border-radius:12px;flex-shrink:0;place-items:center;padding:0;font-size:1.4rem;line-height:1;display:grid}.modal-form{gap:.9rem;display:grid}.modal-actions{flex-wrap:wrap;gap:.55rem;margin-top:.35rem;display:flex}.confirm-root{z-index:90}.tpl-pick{font:inherit;cursor:pointer;box-shadow:none}.tpl-field{gap:.4rem;display:grid}.tpl-field-label{font-weight:700}.tpl-trigger{text-align:left;width:100%;color:var(--ink);background:linear-gradient(135deg,#ff3f870f,#4ec3ff0f);border:1.5px dashed #ff3f8759;border-radius:18px;gap:.2rem;padding:.95rem 1.1rem;transition:border-color .15s,background .15s,transform .15s;display:grid}.tpl-trigger:hover{border-color:var(--pink);border-style:solid;transform:translateY(-1px)}.tpl-trigger strong{font-size:1rem}.tpl-trigger-group{color:var(--pink);letter-spacing:.02em;font-size:.75rem;font-weight:800}.tpl-trigger-sub{color:var(--muted);font-size:.88rem}.tpl-trigger-cta{color:var(--pink);margin-top:.35rem;font-size:.85rem;font-weight:800}.modal-card.tpl-modal{width:min(100%,860px);padding-top:1.1rem}.tpl-toolbar{z-index:2;border-bottom:1px solid var(--line);background:#fffffff7;gap:.7rem;margin:-.25rem -1.35rem 1rem;padding:.5rem 1.35rem .85rem;display:grid;position:sticky;top:-1.1rem}.tpl-search{width:100%;font:inherit;border:1px solid #5b7cff2e;border-radius:14px;padding:.75rem 1rem}.tpl-search:focus{border-color:var(--pink);box-shadow:0 0 0 3px var(--theme-glow);outline:none}.tpl-chips{flex-wrap:wrap;gap:.45rem;display:flex}.tpl-chip{color:var(--ink);background:#fff;border:1px solid #5b7cff2e;border-radius:999px;padding:.4rem .85rem;font-size:.85rem;font-weight:700}.tpl-chip span{color:var(--muted);margin-left:.25rem;font-weight:800}.tpl-chip:hover{border-color:var(--pink)}.tpl-chip.is-active{background:var(--pink);border-color:var(--pink);color:#fff}.tpl-chip.is-active span{color:#ffffffd9}.tpl-section{margin-top:1.1rem}.tpl-section h3{color:var(--muted);margin:0 0 .6rem;font-size:.95rem}.tpl-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.7rem;display:grid}.tpl-card{text-align:left;color:var(--ink);background:#fff;border:1px solid #5b7cff24;border-radius:18px;flex-direction:column;gap:.3rem;padding:.9rem 1rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.tpl-card:hover{border-color:var(--pink);transform:translateY(-2px);box-shadow:0 12px 26px #ff3f8724}.tpl-card.is-selected{border-color:var(--pink);box-shadow:0 0 0 3px var(--theme-glow)}.tpl-card small{text-transform:uppercase;letter-spacing:.04em;color:var(--pink);font-size:.72rem;font-weight:800}.tpl-card strong{font-size:.98rem;line-height:1.3}.tpl-card span{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.4;display:-webkit-box;overflow:hidden}.tpl-card-blank{background:#ffffffb3;border-style:dashed;width:100%}.tpl-empty{text-align:center;padding:1.5rem 0}.confirm-card{width:min(100%,420px)}.confirm-card h2{margin:0 0 .5rem;font-size:1.25rem}.confirm-card p{margin:0 0 1rem}.contact-search{gap:.4rem;display:grid;position:relative}.contact-search-label{color:#24133f;font-weight:700}.contact-search-trigger{text-align:left;color:#24133f;width:100%;box-shadow:none;cursor:pointer;background:#fff;border:1.5px solid #5b7cff29;border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;font-weight:700;display:flex}.contact-search-trigger:hover{border-color:#ff3f8759}.contact-search-required{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.contact-search-panel{z-index:30;background:#fff;border:1px solid #ff3f8724;border-radius:16px;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:hidden;box-shadow:0 16px 36px #24133f24}.contact-search-input{border:0;border-bottom:1px solid #5b7cff1f;border-radius:0;width:100%;padding:.85rem 1rem}.contact-search-list{max-height:240px;overflow:auto}.contact-search-list button{text-align:left;width:100%;box-shadow:none;cursor:pointer;color:#24133f;background:0 0;border:0;border-bottom:1px solid #5b7cff14;border-radius:0;gap:.15rem;padding:.8rem 1rem;display:grid}.contact-search-list button:hover,.contact-search-list button.active{background:#ff3f8714}.contact-search-list strong{font-size:.95rem}.contact-search-list small{color:#6f5d86}.contact-search-empty{color:#6f5d86;margin:0;padding:.9rem 1rem;font-weight:600}.channel-toggles{border:0;margin:0;padding:0}.channel-toggles legend{color:#24133f;margin-bottom:.45rem;font-weight:700}.channel-toggles-row{flex-wrap:wrap;gap:.55rem;display:flex}.channel-toggles-row label{cursor:pointer;color:#24133f;background:#fff;border:1.5px solid #5b7cff29;border-radius:999px;align-items:center;gap:.45rem;margin:0;padding:.55rem .85rem;font-weight:700;display:inline-flex}.channel-toggles-row label.active{color:#ff3f87;background:#ff3f871a;border-color:#ff3f8759}.channel-toggles-row input{accent-color:#ff3f87;width:auto;margin:0}.notify-hint{margin:0 0 .55rem}.logs-filters{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.75rem;margin-bottom:1rem;display:grid}.logs-list .log-status{font-style:normal;font-weight:800}.logs-list .log-status.sent{color:#1f9d63}.logs-list .log-status.failed{color:var(--danger,#d62828)}.logs-list .log-status.pending{color:#c27b00}.logs-list .error.tight{margin-top:.25rem;font-size:.86rem;display:block}.pager{border:1px solid var(--line);background:#ffffffb8;border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin:.85rem 0 .35rem;padding:.75rem .9rem;display:flex}.pager-meta{color:var(--muted);text-align:center;min-width:7rem;font-size:.92rem;font-weight:700}.group-editor{border:1px solid var(--line);background:#ffffff8c;border-radius:20px;gap:.9rem;margin-bottom:1.25rem;padding:1rem;display:grid}.group-editor h3{margin:0}.group-visual-picker{gap:.85rem;display:grid}.group-list-row{border-left:4px solid color-mix(in srgb, var(--pink) 55%, transparent);align-items:center;gap:.75rem;padding-left:.65rem}.group-list-icon{border-radius:14px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:1.2rem;display:grid}.group-visual-preview{background:linear-gradient(135deg, color-mix(in srgb, var(--group-accent,#ff3f87) 18%, white), #fffc);border:1px solid color-mix(in srgb, var(--group-accent,#ff3f87) 28%, transparent);border-radius:18px;align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex}.group-visual-preview-icon,.group-card-icon{background:color-mix(in srgb, var(--group-accent,#ff3f87) 16%, white);width:52px;height:52px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--group-accent,#ff3f87) 22%, transparent);border-radius:16px;place-items:center;font-size:1.45rem;display:grid}.group-visual-field{gap:.45rem;display:grid}.group-visual-field-label{font-size:.92rem;font-weight:700}.group-icon-grid,.group-color-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:.45rem;display:grid}.group-icon-grid button{aspect-ratio:1;border:1px solid var(--line);cursor:pointer;background:#ffffffe6;border-radius:14px;min-height:44px;padding:0;font-size:1.2rem}.group-icon-grid button.active,.group-color-grid button.active{outline:2px solid var(--ink);outline-offset:2px}.group-color-grid button{aspect-ratio:1;cursor:pointer;border:2px solid #ffffffd9;border-radius:999px;min-height:36px;padding:0;box-shadow:0 4px 12px #24133f1f}.group-card-grid{gap:.75rem;display:grid}.group-card{border:1px solid color-mix(in srgb, var(--group-accent,#ff3f87) 22%, var(--line));background:linear-gradient(120deg, color-mix(in srgb, var(--group-accent,#ff3f87) 12%, white), #ffffffb8);border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.85rem 1rem;display:grid}.group-card-body{gap:.15rem;display:grid}.group-card-actions{flex-wrap:wrap;gap:.4rem;display:flex}@media (width<=720px){.group-card{grid-template-columns:auto 1fr}.group-card-actions{grid-column:1/-1}.logs-filters{grid-template-columns:1fr}}.birth-date-picker{gap:.4rem;display:grid;position:relative}.birth-date-label{color:#24133f;font-weight:700}.birth-date-trigger{text-align:left;color:#24133f;width:100%;box-shadow:none;cursor:pointer;background:#fff;border:1.5px solid #5b7cff29;border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;font-weight:700;display:flex}.birth-date-trigger:hover{border-color:#ff3f8759}.birth-date-icon{color:#ff3f87}.birth-date-required{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.birth-calendar-layer{z-index:120;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.birth-calendar-backdrop{box-shadow:none;cursor:pointer;background:#24133f73;border:0;position:absolute;inset:0}.birth-calendar{z-index:1;background:linear-gradient(#fff 0%,#fff7fc 100%);border:1px solid #ff3f8724;border-radius:18px;width:min(100%,360px);padding:.9rem;animation:.18s ease-out birth-pop;position:relative;box-shadow:0 18px 40px #24133f2e}@keyframes birth-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.birth-calendar-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.birth-nav{color:#24133f;width:2.4rem;height:2.4rem;box-shadow:none;cursor:pointer;background:#ff3f870f;border:1px solid #5b7cff29;border-radius:12px;font-size:1.35rem;line-height:1}.birth-month-btn{box-shadow:none;cursor:pointer;color:#24133f;text-transform:capitalize;background:0 0;border:0;gap:.1rem;display:grid}.birth-month-btn strong{font-size:1rem}.birth-month-btn small{color:#ff3f87;font-weight:700}.birth-weekdays,.birth-days{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.birth-weekdays span{text-align:center;color:#6f5d86;padding:.25rem 0;font-size:.75rem;font-weight:800}.birth-days button,.birth-days .empty{aspect-ratio:1;color:#24133f;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:12px;font-weight:700}.birth-days button.today{outline:1.5px solid #4ec3ff}.birth-days button.selected{color:#fff;background:#ff3f87}.birth-days button:disabled{opacity:.35;cursor:not-allowed}.birth-year-grid{grid-template-columns:repeat(4,1fr);gap:.45rem;max-height:240px;padding-right:.15rem;display:grid;overflow:auto}.birth-year-grid button{color:#24133f;box-shadow:none;cursor:pointer;background:#fff;border:1px solid #5b7cff29;border-radius:12px;padding:.65rem .35rem;font-weight:700}.birth-year-grid button.active{color:#fff;background:#ff3f87;border-color:#ff3f87}.list-actions .btn-ghost,.list-actions .ghost{box-shadow:none;padding:.45rem .75rem;font-size:.82rem}.soft-card-main{align-items:center;gap:.8rem;display:flex}.list-person{align-items:center;gap:.75rem;display:flex}.contact-name-line{flex-wrap:wrap;align-items:center;gap:.4rem;font-weight:800;display:inline-flex}.contact-name{font-family:Fredoka,sans-serif}.contact-reminder-badge{letter-spacing:0;color:var(--pink);background:color-mix(in srgb, var(--pink) 12%, #fff);border:1px solid color-mix(in srgb, var(--pink) 22%, transparent);box-shadow:none;cursor:pointer;border-radius:999px;align-items:center;padding:.18rem .55rem;font-family:Manrope,sans-serif;font-size:.72rem;font-weight:800;line-height:1.2;display:inline-flex}.list-person-main{cursor:pointer;border-radius:12px;flex:1;min-width:0}.list-person-main:focus-visible{outline:2px solid color-mix(in srgb, var(--pink) 55%, transparent);outline-offset:2px}.contact-reminder-pick-list{margin:0}.contact-reminder-badge.is-empty{color:var(--muted);background:color-mix(in srgb, var(--muted) 10%, #fff);border-color:color-mix(in srgb, var(--muted) 18%, transparent)}.contact-reminder-add{letter-spacing:0;color:var(--pink);border:1px dashed color-mix(in srgb, var(--pink) 45%, transparent);box-shadow:none;cursor:pointer;background:#fff;border-radius:999px;align-items:center;padding:.18rem .55rem;font-family:Manrope,sans-serif;font-size:.72rem;font-weight:800;line-height:1.2;display:inline-flex}.contact-reminder-add:hover:not(:disabled){background:color-mix(in srgb, var(--pink) 10%, #fff);border-style:solid}.contact-reminder-add:disabled{opacity:.55;cursor:not-allowed}.days-before-field{gap:.35rem;display:grid}.days-before-label{color:var(--ink);font-weight:700}.days-before-chips{flex-wrap:wrap;gap:.45rem;display:flex}.days-before-chip{min-width:2.6rem;color:var(--ink);box-shadow:none;cursor:pointer;background:#fff;border:1px solid #5b7cff2e;border-radius:999px;justify-content:center;align-items:center;gap:.28rem;padding:.45rem .7rem;font-size:.86rem;font-weight:800;display:inline-flex}.days-before-chip.is-active{background:color-mix(in srgb, var(--pink) 14%, #fff);border-color:color-mix(in srgb, var(--pink) 45%, transparent);color:var(--pink)}.days-before-chip.is-locked{opacity:.72;cursor:not-allowed;color:var(--muted);background:#f5f5f5}.days-before-lock,.lock-icon{vertical-align:-.12em;flex-shrink:0;display:inline-block}.days-before-premium-hint{align-items:center;gap:.35rem;margin:0;display:inline-flex}.locked-label{align-items:center;gap:.4rem;display:inline-flex}.avatar{object-fit:cover;border-radius:14px;width:44px;height:44px}.avatar.sm{border-radius:12px;width:36px;height:36px}.avatar-fallback{border:1px solid var(--line);background:#ffffffb3;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:inline-flex}.avatar-fallback.sm{font-size:1.05rem}.avatar-fallback.gender-male{background:#4ec3ff2e}.avatar-fallback.gender-female{background:#ff3f8729}.gender-toggle{flex-wrap:wrap;gap:.5rem;display:flex}.gender-toggle button{min-width:7rem}.gender-toggle button.active{outline:2px solid var(--pink);outline-offset:1px}.contact-filters{gap:.65rem;margin-bottom:.85rem;display:grid}.contact-filters-search label{gap:.35rem;display:grid}.contact-filters-bar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.contact-toolbar{flex-wrap:wrap;align-items:center;gap:.35rem;margin:.35rem 0 .75rem;display:flex}.contact-toolbar-group{align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.contact-toolbar-group select{border-radius:10px;min-width:9.5rem;padding:.35rem .55rem;font-size:.82rem}.btn-chip{border:1px solid var(--line);color:var(--ink);box-shadow:none;cursor:pointer;background:#fffc;border-radius:999px;padding:.28rem .7rem;font-size:.78rem;font-weight:700;line-height:1.2}.btn-chip:disabled{opacity:.45;cursor:not-allowed}.btn-chip.is-active{border-color:color-mix(in srgb, var(--pink) 45%, var(--line));background:color-mix(in srgb, var(--pink) 12%, white);color:var(--pink)}.btn-chip.danger{color:#d62828;background:#d628280f;border-color:#d6282859}.contact-select-check{align-items:center;margin-right:.15rem;display:inline-flex}.contact-select-check input{width:1.05rem;height:1.05rem;accent-color:var(--pink)}.contact-filters-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, var(--badge));border-radius:16px;gap:.75rem;padding:.85rem;display:grid}.contact-filters-row{margin:0}.contact-filters-checks{flex-wrap:wrap;gap:.75rem 1.1rem;display:flex}.contact-filters-checks .check{align-items:center;gap:.4rem;font-size:.9rem;font-weight:700;display:inline-flex}.age-chip{color:var(--ink);align-items:center;gap:.15rem;font-size:.82rem;font-weight:800;display:inline-flex}.age-from{color:#d62828;font-weight:800}.age-to{color:#059669;font-weight:800}.age-arrow{color:var(--muted);margin:0 .1rem;font-weight:800}.age-sep,.age-days{color:var(--muted);font-weight:700}.photo-preview{object-fit:cover;border-radius:20px;width:96px;height:96px;box-shadow:0 12px 24px #ff3f8733}.empty-state{color:var(--muted);background:#ffffff8c;border:1px dashed #5b7cff33;border-radius:16px;margin:.8rem 0 0;padding:1rem}.loading-row{align-items:center;gap:.65rem;display:inline-flex}.spinner{border:2px solid #ff3f8733;border-top-color:var(--pink);border-radius:999px;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-layout-single{grid-template-columns:minmax(280px,480px);justify-content:center}.token-value{word-break:break-all;font-size:.85rem}@media (width<=720px){.auth-shell,.app-shell{padding:1rem}.row,.segmented{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:start}.brand-icon{width:56px;height:56px}.soft-card{flex-direction:column;align-items:flex-start}.list-actions{flex-wrap:wrap;justify-content:flex-end}}.birthday-calendar-nav{align-items:center;gap:.55rem;display:flex}.birthday-calendar-nav strong{text-align:center;text-transform:capitalize;min-width:10rem}.home-calendar{gap:.65rem;display:grid}.home-calendar-weekdays,.home-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.home-calendar-weekdays span{text-align:center;color:var(--muted);font-size:.75rem;font-weight:800}.home-calendar-cell{aspect-ratio:1;cursor:pointer;box-shadow:none;color:var(--ink);background:#ffffff8c;border:1px solid #0000;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.25rem;font-weight:700;display:flex;position:relative}.home-calendar-cell.empty{cursor:default;box-shadow:none;background:0 0;border:0}.home-calendar-cell.has-birthday{background:color-mix(in srgb, var(--pink) 14%, white);border-color:color-mix(in srgb, var(--pink) 28%, transparent)}.home-calendar-cell.is-today{border-color:var(--pink)}.home-calendar-cell.is-selected{background:var(--pink);color:#fff;border-color:var(--pink)}.home-calendar-day{font-size:.92rem;line-height:1}.home-calendar-dot{background:var(--pink);border-radius:999px;flex-shrink:0;width:7px;height:7px;display:block}.home-calendar-cell.is-selected .home-calendar-dot{background:#fff}.home-calendar-count{opacity:.85;font-size:.65rem;font-weight:800;position:absolute;top:4px;right:5px}.home-calendar-day-panel{border-top:1px solid var(--line);margin-top:.85rem;padding-top:.85rem}.home-calendar-people{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.home-calendar-people li{align-items:center;gap:.65rem;display:flex}.home-calendar-person-meta{flex:1;gap:.1rem;min-width:0;display:grid}.landing-stage{--landing-ink:#1f1433;--landing-muted:#6a5a7d;--landing-accent:#ff3f87;--landing-sky:#3db7f2;--landing-sun:#ffc53d;min-height:100vh;color:var(--landing-ink);background:linear-gradient(#fff7fceb 0%,#eef7fff5 48%,#fff 100%),radial-gradient(80% 50% at 50% -10%,#ff3f872e,#0000 55%);position:relative;overflow:hidden}.landing-glow{filter:blur(48px);pointer-events:none;border-radius:50%;animation:10s ease-in-out infinite landingFloat;position:absolute}.landing-glow-a{background:#ffc53d59;width:28rem;height:28rem;top:-8rem;right:-6rem}.landing-glow-b{background:#3db7f247;width:22rem;height:22rem;animation-delay:-4s;bottom:12%;left:-5rem}@keyframes landingFloat{0%,to{transform:translateY(0)}50%{transform:translateY(18px)}}.landing-topbar{z-index:2;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem clamp(1.25rem,4vw,3rem);display:flex;position:relative}.landing-brand-mark{color:var(--landing-ink);align-items:center;gap:.65rem;font-family:Fredoka,sans-serif;font-size:1.05rem;font-weight:700;display:inline-flex}.landing-brand-mark img{object-fit:cover;border-radius:12px;width:40px;height:40px}.landing-top-actions{align-items:center;gap:.75rem;display:flex}.landing-login-btn{background:var(--landing-accent);color:#fff;border-radius:14px;justify-content:center;align-items:center;padding:.55rem 1.1rem;font-weight:800;transition:transform .25s,box-shadow .25s;display:inline-flex;box-shadow:0 10px 22px #ff3f8747}.landing-login-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px #ff3f8757}.landing-hero{z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(1.5rem,4vw,3rem);min-height:calc(100vh - 5.5rem);padding:0 clamp(1.25rem,4vw,3rem) 3rem;display:grid;position:relative}.landing-hero-copy{max-width:34rem;animation:.8s both landingRise}.landing-brand{letter-spacing:-.03em;color:var(--landing-accent);margin:0 0 .85rem;font-family:Fredoka,sans-serif;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;line-height:1.1}.landing-hero-copy h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.55rem,3.4vw,2.35rem);line-height:1.15}.landing-lead{color:var(--landing-muted);max-width:32rem;margin:1rem 0 0;font-size:1.05rem}.landing-mobile-hint,.landing-footer-note{color:var(--landing-ink);max-width:28rem;margin:1.1rem 0 0;font-size:1rem;font-weight:700}.landing-footer-note{color:var(--landing-muted);margin:0;font-weight:600}.landing-cta{flex-wrap:wrap;gap:.75rem;margin-top:1.6rem;display:flex}.landing-cta-primary,.landing-cta-secondary{border-radius:16px;justify-content:center;align-items:center;min-height:3rem;padding:.75rem 1.35rem;font-weight:800;transition:transform .25s,background .25s;display:inline-flex}.landing-cta-primary{background:linear-gradient(135deg, var(--landing-accent), #ff8a3d);color:#fff;box-shadow:0 14px 28px #ff3f8747}.landing-cta-secondary{color:var(--landing-ink);background:#ffffffb8;border:1px solid #ff3f872e}.landing-cta-primary:hover,.landing-cta-secondary:hover{transform:translateY(-2px)}.landing-hero-visual{place-items:center;min-height:min(68vh,560px);animation:.9s .12s both landingRise;display:grid;position:relative}.landing-hero-visual:before{content:"";background:radial-gradient(circle at 30% 30%,#ffc53d8c,#0000 45%),radial-gradient(circle at 70% 60%,#3db7f273,#0000 50%),linear-gradient(145deg,#ff3f8759,#ff8a3d40);border-radius:40% 60% 55% 45%/45% 40% 60% 55%;animation:12s ease-in-out infinite landingMorph;position:absolute;inset:8% 4%}.landing-hero-visual img{filter:drop-shadow(0 28px 48px #24133f40);border-radius:28%;width:min(72%,340px);height:auto;animation:5.5s ease-in-out infinite landingBob;position:relative}@keyframes landingRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes landingBob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes landingMorph{0%,to{border-radius:40% 60% 55% 45%/45% 40% 60% 55%;transform:scale(1)}50%{border-radius:55% 45% 40% 60%/50% 55% 45% 50%;transform:scale(1.04)}}.landing-section{z-index:1;text-align:center;max-width:920px;margin:0 auto;padding:3.5rem clamp(1.25rem,4vw,3rem) 2rem;position:relative}.landing-section h2,.landing-footer-cta h2{margin:0;font-size:clamp(1.4rem,2.6vw,1.9rem)}.landing-section-lead{color:var(--landing-muted);max-width:34rem;margin:.65rem auto 0}.landing-steps{text-align:left;gap:1.25rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.landing-steps li{border-top:1px solid #ff3f8724;gap:.25rem;padding:.35rem 0;display:grid}.landing-steps strong{font-family:Fredoka,sans-serif;font-size:1.1rem}.landing-steps span{color:var(--landing-muted)}.landing-features{max-width:980px}.landing-feature-list{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem 2rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.landing-feature-list li{border-top:1px solid #ff3f8724;gap:.3rem;padding-top:.85rem;display:grid}.landing-feature-list strong{font-family:Fredoka,sans-serif;font-size:1.05rem}.landing-feature-list span{color:var(--landing-muted);font-size:.95rem}.landing-footer-cta{z-index:1;text-align:center;justify-items:center;gap:1.1rem;padding:2.5rem clamp(1.25rem,4vw,3rem) 4rem;display:grid;position:relative}.landing-legal-links,.auth-legal-links{flex-wrap:wrap;justify-content:center;gap:.75rem 1.25rem;margin-top:.5rem;display:flex}.landing-legal-links a,.auth-legal-links a{color:var(--landing-muted,#6b5a66);text-underline-offset:3px;font-size:.88rem;text-decoration:underline}.legal-agree{border:1px solid color-mix(in srgb, var(--pink,#e91e8c) 18%, #e8dce3);background:color-mix(in srgb, #fff 88%, var(--pink,#e91e8c) 6%);border-radius:14px;gap:.55rem;padding:.85rem .95rem;display:grid}.legal-agree-intro{color:#6b5a66;margin:0;font-size:.88rem}.legal-agree-list{gap:.55rem;display:grid}.legal-agree-row{cursor:pointer;align-items:flex-start;gap:.65rem;font-size:.9rem;line-height:1.45;display:flex}.legal-agree-row input{width:auto;margin-top:.2rem}.legal-agree-row a{color:var(--pink,#e91e8c);text-underline-offset:2px;font-weight:700;text-decoration:underline}.legal-agree-hint{color:#c62828;margin:0;font-size:.82rem;font-weight:600}.legal-page{background:radial-gradient(circle at 12% 8%,#ffb6d659,#0000 42%),radial-gradient(circle at 88% 0,#ffd6aa4d,#0000 40%),linear-gradient(#fff7fc 0%,#fff 55%);min-height:100vh;padding:1.5rem clamp(1rem,4vw,2.5rem) 3rem}.legal-page-inner{width:min(760px,100%);margin-inline:auto}.legal-page-back{color:#6b5a66;margin-bottom:1.25rem;font-weight:600;text-decoration:none;display:inline-block}.legal-page-back:hover{color:var(--pink,#e91e8c)}.legal-page-status{color:#6b5a66}.legal-page-status-error{color:#c62828;font-weight:600}.legal-page-article{background:#ffffffeb;border:1px solid #eddfe8;border-radius:20px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 18px 40px #7828500f}.legal-page-header h1{margin:0 0 .4rem;font-size:clamp(1.6rem,3vw,2rem)}.legal-page-updated{color:#6b5a66;margin:0 0 1.25rem;font-size:.9rem}.legal-page-content h1{display:none}.legal-page-content h2{margin:1.4rem 0 .55rem;font-size:1.15rem}.legal-page-content h3{margin:1rem 0 .4rem;font-size:1.02rem}.legal-page-content p,.legal-page-content li{color:#3d3340;line-height:1.65}.legal-page-content ul{margin:.4rem 0 .8rem;padding-left:1.2rem}.legal-page-content .card{box-shadow:none;background:0 0;border:0;margin:0 0 1rem;padding:0}.legal-page-content .highlight{background:color-mix(in srgb, var(--pink) 8%, #fff);border-left:4px solid var(--pink);border-radius:10px;margin:.85rem 0;padding:.9rem 1rem;line-height:1.6}.legal-page-content .footer-note{border-top:1px solid var(--line);color:var(--muted);text-align:center;margin-top:1.75rem;padding-top:1rem;font-size:.88rem}.legal-page-content table{border-collapse:collapse;width:100%;margin:.85rem 0 1rem;font-size:.9rem}.legal-page-content th,.legal-page-content td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:.55rem .65rem}.legal-page-content th{background:color-mix(in srgb, var(--line) 35%, #fff);font-weight:700}.legal-page-content .cookie-toggle{background:color-mix(in srgb, var(--line) 22%, #fff);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:.75rem;margin:.75rem 0 .4rem;padding:.75rem .85rem;display:flex}.legal-page-content .toggle-label{color:var(--ink);font-weight:700}.legal-page-content .toggle-desc{color:var(--muted);margin-top:.2rem;font-size:.85rem}.legal-page-content .badge{vertical-align:middle;border-radius:999px;margin-left:.35rem;padding:.15rem .5rem;font-size:.72rem;font-weight:800;display:inline-flex}.legal-page-content .badge.required{color:#991b1b;background:#fee2e2}.legal-page-content .badge.optional{color:#065f46;background:#d1fae5}.legal-page-content .law-ref{color:var(--muted);font-size:.85rem;font-style:italic}@media (width<=900px){.landing-hero{grid-template-columns:1fr;min-height:auto;padding-top:1rem}.landing-hero-visual{order:-1;min-height:280px}.landing-hero-visual img{width:min(58%,220px)}.landing-brand{font-size:clamp(1.55rem,7vw,2.1rem)}.landing-feature-list{grid-template-columns:1fr}}.admin-table-wrap{overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.92rem}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #5b7cff1f;padding:.7rem .65rem}.admin-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.admin-role-badge{color:var(--ink);background:#f3f4f8;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.admin-role-badge.is-admin{background:color-mix(in srgb,var(--pink) 16%,#fff);color:var(--pink)}.admin-tabs{gap:.5rem;margin:.25rem 0 1rem;display:flex}.admin-tabs button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:.45rem 1rem;font-weight:700}.admin-tabs button.is-active{border-color:color-mix(in srgb,var(--pink) 45%,var(--line));background:color-mix(in srgb,var(--pink) 12%,#fff);color:var(--pink)}.admin-settings-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-settings-actions{flex-wrap:wrap;gap:.6rem;display:flex}.admin-settings-group{border-top:1px solid color-mix(in srgb,var(--line) 88%,transparent);gap:1rem;padding-top:1.1rem;display:grid}.admin-settings-group:first-of-type{border-top:0;padding-top:0}.admin-settings-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.admin-setting-field{border:1px solid var(--line);background:#fff;border-radius:16px;align-content:start;gap:.35rem;padding:.9rem 1rem;display:grid}.admin-setting-label{flex-wrap:wrap;align-items:center;gap:.45rem;font-weight:800;display:flex}.admin-setting-key{color:var(--muted);word-break:break-all;font-size:.72rem}.admin-public-badge{color:#1e8a4c;background:#e2f8eb;border-radius:999px;padding:.12rem .45rem;font-size:.72rem;font-weight:700;display:inline-flex}.admin-notif-panel{gap:1rem;display:grid}.admin-subtabs{margin-top:0}.admin-notif-compose{grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);gap:1.25rem;display:grid}@media (width<=960px){.admin-notif-compose{grid-template-columns:1fr}}.admin-notif-main,.admin-notif-side{align-content:start;gap:.85rem;display:grid}.admin-notif-details{border:1px solid var(--line);background:#fff;border-radius:14px;padding:.75rem 1rem}.admin-notif-localized{gap:.75rem;margin-top:.75rem;display:grid}.admin-notif-checks{gap:.45rem;display:grid}.check-row{align-items:center;gap:.55rem;font-weight:700;display:flex}.admin-notif-audience-list{gap:.45rem;display:grid}.admin-audience-option{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:.55rem;padding:.65rem .8rem;display:flex}.admin-audience-option.is-active{border-color:color-mix(in srgb,var(--pink) 45%,var(--line));background:color-mix(in srgb,var(--pink) 10%,#fff)}.admin-notif-preview-card,.admin-notif-live-preview article{border:1px solid var(--line);background:#fff;border-radius:16px;padding:1rem}.admin-notif-preview-card ul{margin:.55rem 0 0;padding-left:1.1rem}.admin-notif-live-preview article h3{margin:0 0 .4rem}.admin-notif-live-preview article p{margin:0 0 .45rem}.admin-user-chips{flex-wrap:wrap;gap:.4rem;display:flex}.admin-user-chip{border:1px solid color-mix(in srgb,var(--pink) 35%,var(--line));background:color-mix(in srgb,var(--pink) 10%,#fff);color:var(--pink);cursor:pointer;border-radius:999px;padding:.25rem .7rem;font-size:.82rem;font-weight:700}.admin-user-results{gap:.35rem;display:grid}.admin-notif-history-list{gap:.75rem;display:grid}.admin-notif-history-item{border:1px solid var(--line);background:#fff;border-radius:16px;gap:.4rem;padding:1rem;display:grid}.admin-notif-history-item header{flex-wrap:wrap;justify-content:space-between;gap:.75rem;display:flex}
