:root{--ink:#172033;--muted:#737b8f;--line:#e8eaf1;--canvas:#f4f5f8;--surface:#fff;--primary:#4f46e5;--primary-dark:#3730a3;--primary-soft:#eeedff;--birthday:#ff6b6b;--birthday-soft:#fff0f0;--anniversary:#d39b2a;--anniversary-soft:#fff7df;--success:#249b74;--danger:#d9415a;--shadow:0 22px 60px #191f341f}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}a{color:inherit}.brand-logo{object-fit:contain;filter:drop-shadow(0 4px 10px #4f46e52e);border-radius:10px;flex-shrink:0;width:38px;height:38px;display:block}.auth-page{background:radial-gradient(circle at 15% 12%,#4f46e51f,#0000 26%),radial-gradient(circle at 86% 88%,#ff6b6b1a,#0000 23%),#f6f6fb;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.auth-brand{align-items:center;gap:11px;display:flex;position:absolute;top:26px;left:28px}.auth-brand span:last-child{display:grid}.auth-brand strong{font-size:14px}.auth-brand small{color:var(--muted);margin-top:2px;font-size:9px}.auth-brand small a,.auth-page>footer a{color:var(--primary);font-weight:800;text-decoration:none}.auth-brand small a:hover,.auth-page>footer a:hover{text-decoration:underline}.auth-panel{text-align:center;width:min(100%,440px)}.auth-panel.compact{padding-top:50px}.auth-illustration{background:#ffffffe0;border:1px solid #fff;border-radius:34px;place-items:center;width:110px;height:110px;margin:0 auto 25px;display:grid;position:relative;box-shadow:0 22px 50px #4f46e526}.auth-illustration:before,.auth-illustration:after{content:"";border-radius:7px;width:18px;height:18px;position:absolute}.auth-illustration:before{border:4px solid var(--birthday);background:var(--birthday-soft);top:16px;left:-11px}.auth-illustration:after{border:4px solid var(--anniversary);background:var(--anniversary-soft);bottom:14px;right:-9px}.auth-logo{filter:drop-shadow(0 8px 18px #4f46e538);border-radius:16px;width:68px;height:68px}.auth-copy h1{letter-spacing:-.05em;margin:0;font-size:clamp(30px,6vw,39px);line-height:1.08}.auth-copy p{max-width:340px;color:var(--muted);margin:11px auto 25px;font-size:14px;line-height:1.6}.auth-form{text-align:left;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffde;border:1px solid #ffffffe6;border-radius:24px;padding:22px;box-shadow:0 20px 50px #262c4414}.auth-form label,.event-form label{margin-bottom:14px;display:block}.auth-form label>span,.event-form label>span{color:#596176;letter-spacing:.06em;text-transform:uppercase;margin:0 0 7px 2px;font-size:10px;font-weight:800;display:block}.input-with-icon{border:1px solid var(--line);color:#a0a5b3;background:#fbfbfd;border-radius:14px;align-items:center;gap:10px;padding:0 13px;transition:border-color .2s,box-shadow .2s;display:flex}.input-with-icon:focus-within{box-shadow:0 0 0 4px var(--primary-soft);border-color:#a9a5ff}.input-with-icon input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:13px 0;font-size:13px}.forgot-link{color:var(--primary);text-align:right;margin:-3px 1px 14px;font-size:11px;font-weight:750;text-decoration:none;display:block}.primary-button{color:#fff;background:linear-gradient(145deg, var(--primary), #635bdc);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:45px;font-size:12px;font-weight:800;display:inline-flex;box-shadow:0 11px 24px #4f46e53b}.secure-note{color:#8c92a1;justify-content:center;align-items:center;gap:6px;margin:14px 0 0;font-size:10px;display:flex}.auth-switch{color:var(--muted);font-size:12px}.auth-switch a{color:var(--primary);font-weight:750;text-decoration:none}.auth-page>footer{color:#9297a6;margin-top:24px;font-size:9px}.form-alert{border-radius:11px;padding:10px 12px;font-size:11px;line-height:1.45}.form-alert.error{color:#b4233a;background:#fff0f2}.form-alert.success{color:#187958;background:#eaf9f3}.login-method-tabs{background:#e9eaf1;border-radius:13px;grid-template-columns:1fr 1fr;gap:5px;margin:18px 0 10px;padding:4px;display:grid}.login-method-tabs button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;font-size:10px;font-weight:800;display:flex}.login-method-tabs button.active{color:var(--primary);background:#fff;box-shadow:0 5px 14px #1f243914}.otp-sent-to{color:var(--primary);text-align:left;background:#f7f6ff;border:1px solid #dcd9ff;border-radius:13px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:14px;padding:11px;display:grid}.otp-sent-to>span{gap:3px;min-width:0;display:grid}.otp-sent-to small{color:var(--muted);letter-spacing:.1em;font-size:7px;font-weight:850}.otp-sent-to strong{color:var(--ink);text-overflow:ellipsis;font-size:10px;overflow:hidden}.otp-sent-to button,.resend-otp{color:var(--primary);background:0 0;border:0;font-size:9px;font-weight:800}.otp-input input{letter-spacing:.25em;font-size:17px;font-weight:800}.resend-otp{margin-top:10px}.app-background{background:radial-gradient(circle at 8% 4%, #4f46e51a, transparent 24%), radial-gradient(circle at 94% 92%, #ff6b6b14, transparent 22%), var(--canvas);min-height:100dvh;padding:20px}.app-shell{width:min(100%,1260px);min-height:calc(100dvh - 40px);box-shadow:var(--shadow);background:#fafafe;border:1px solid #ffffffe6;border-radius:30px;margin:0 auto;position:relative;overflow:hidden}.app-topbar{z-index:40;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffed;justify-content:space-between;align-items:center;height:74px;padding:0 24px;display:flex;position:sticky;top:0}.app-brand{align-items:center;gap:11px;display:flex}.app-brand>span:last-child{display:grid}.app-brand strong{letter-spacing:-.02em;font-size:14px}.app-brand small{color:var(--muted);margin-top:2px;font-size:9px}.app-brand small a{color:var(--primary);font-weight:800;text-decoration:none}.app-brand small a:hover{text-decoration:underline}.profile-wrap{position:relative}.topbar-actions{align-items:center;gap:9px;display:flex}.notification-wrap{position:relative}.notification-button{border:1px solid var(--line);width:41px;height:41px;color:var(--muted);background:#fff;border-radius:50%;place-items:center;display:grid;position:relative}.notification-button>span{color:#fff;background:var(--birthday);border:2px solid #fff;border-radius:99px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:8px;font-weight:850;display:grid;position:absolute;top:-3px;right:-3px}.notification-panel{z-index:30;border:1px solid var(--line);background:#fff;border-radius:18px;width:min(370px,100vw - 32px);position:absolute;top:51px;right:0;overflow:hidden;box-shadow:0 22px 55px #191f342e}.notification-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 16px;display:flex}.notification-panel>header>div{gap:3px;display:grid}.notification-panel>header strong{font-size:13px}.notification-panel>header small{color:var(--muted);font-size:9px}.notification-panel>header button{color:var(--primary);background:0 0;border:0;font-size:9px;font-weight:800}.notification-list{max-height:390px;overflow-y:auto}.notification-list article{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr;gap:10px;padding:13px 16px;display:grid}.notification-list article.unread{background:#f8f7ff}.notification-list article>span{width:34px;height:34px;color:var(--primary);background:var(--primary-soft);border-radius:11px;place-items:center;display:grid}.notification-list article>div{min-width:0}.notification-list article strong{font-size:10px;display:block}.notification-list article p{color:var(--muted);margin:4px 0;font-size:9px;line-height:1.45}.notification-list article small{color:#a0a5b3;font-size:8px}.notification-empty{min-height:130px;color:var(--muted);align-content:center;place-items:center;gap:8px;font-size:10px;display:grid}.profile-button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:99px;align-items:center;gap:8px;padding:5px 8px 5px 5px;display:flex}.profile-button>span{color:#fff;background:linear-gradient(145deg,#172033,#3d4861);border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:grid}.profile-menu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:16px;width:220px;padding:10px;position:absolute;top:50px;right:0;box-shadow:0 18px 45px #191f3429}.profile-menu>div{border-bottom:1px solid var(--line);gap:3px;padding:7px 8px 12px;display:grid}.profile-menu strong{font-size:12px}.profile-menu span{color:var(--muted);text-overflow:ellipsis;font-size:10px;overflow:hidden}.profile-menu button{width:100%;color:var(--danger);background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;margin-top:7px;padding:9px;font-size:11px;font-weight:700;display:flex}.profile-menu button:hover{background:#fff1f3}.admin-shortcut{min-height:38px;color:var(--primary);background:var(--primary-soft);border:1px solid #d5d2ff;border-radius:11px;align-items:center;gap:6px;padding:0 11px;font-size:9px;font-weight:850;text-decoration:none;display:inline-flex}.desktop-layout{grid-template-columns:220px 1fr;min-height:calc(100dvh - 116px);display:grid}.desktop-sidebar{border-right:1px solid var(--line);background:#fff;padding:24px 14px}.sidebar-intro{gap:5px;padding:0 10px 17px;display:grid}.sidebar-intro small,.subpage-header small{color:var(--primary);letter-spacing:.14em;font-size:9px;font-weight:850}.sidebar-intro strong{font-size:12px}.desktop-sidebar>button{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:11px;margin-bottom:5px;padding:11px 12px;font-size:11px;font-weight:750;display:flex}.desktop-sidebar>button:hover{color:var(--ink);background:#f6f6fa}.desktop-sidebar>button.active{color:var(--primary);background:var(--primary-soft)}.sidebar-security{color:#217d62;background:#ecf9f5;border-radius:13px;gap:9px;margin:30px 6px 0;padding:12px;display:flex}.sidebar-security span{gap:3px;display:grid}.sidebar-security strong{font-size:10px}.sidebar-security small{color:#5b8c7d;font-size:8px;line-height:1.4}.app-content{min-width:0}.hero-section{background:linear-gradient(145deg,#fbfbff,#f0efff);border-bottom-right-radius:29px;border-bottom-left-radius:29px;padding:34px 34px 27px}.greeting p{color:var(--muted);margin:0 0 6px;font-size:11px;font-weight:650}.greeting h1{letter-spacing:-.05em;margin:0 0 22px;font-size:clamp(27px,4vw,37px)}.main-search{color:#a0a5b3;background:#fff;border:1px solid #4f46e514;border-radius:15px;align-items:center;gap:10px;width:100%;min-height:47px;padding:0 14px;display:flex;box-shadow:0 9px 24px #2a2f490f}.main-search:focus-within{border-color:#aaa7ff;box-shadow:0 0 0 4px #4f46e514}.main-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.main-search button{color:var(--primary);background:0 0;border:0;place-items:center;display:grid}.page-content{max-width:940px;margin:0 auto;padding:26px 30px 110px}.summary-grid{grid-template-columns:1fr 1fr;gap:13px;margin-bottom:28px;display:grid}.summary-grid article{border:1px solid var(--line);background:#fff;border-radius:17px;align-items:center;gap:12px;padding:16px;display:flex;box-shadow:0 8px 24px #1f24390a}.summary-icon{border-radius:13px;place-items:center;width:40px;height:40px;display:grid}.summary-icon.birthday{color:var(--birthday);background:var(--birthday-soft)}.summary-icon.anniversary{color:var(--anniversary);background:var(--anniversary-soft)}.summary-grid strong{font-size:20px;line-height:1.1;display:block}.summary-grid small{color:var(--muted);font-size:10px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.section-heading h2{letter-spacing:-.025em;margin:0;font-size:15px}.section-heading button,.section-heading>span{color:var(--primary);background:0 0;border:0;font-size:10px;font-weight:800}.calendar-title{margin-top:28px}.event-list{gap:10px;display:grid}.event-row{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid;box-shadow:0 7px 22px #1f243909}.event-date{border-radius:14px;align-content:center;place-items:center;width:48px;height:50px;display:grid}.event-date small{letter-spacing:.08em;font-size:8px;font-weight:850}.event-date strong{margin-top:2px;font-size:19px;line-height:1}.event-row.birthday .event-date{color:var(--birthday);background:var(--birthday-soft)}.event-row.anniversary .event-date{color:#a66e07;background:var(--anniversary-soft)}.event-details{min-width:0}.event-details strong{text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:12px;display:block;overflow:hidden}.event-details span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;display:block;overflow:hidden}.event-pill{white-space:nowrap;border-radius:99px;padding:6px 9px;font-size:8px;font-weight:800}.event-row.birthday .event-pill{color:#d94848;background:var(--birthday-soft)}.event-row.anniversary .event-pill{color:#956206;background:var(--anniversary-soft)}.row-actions{gap:5px;display:flex}.row-actions button{border:1px solid var(--line);width:31px;height:31px;color:var(--muted);background:#fff;border-radius:9px;place-items:center;display:grid}.row-actions button:hover{color:var(--primary);background:var(--primary-soft);border-color:#c8c6ff}.row-actions button.danger:hover{color:var(--danger);background:#fff1f3;border-color:#ffcbd3}.calendar-card{border:1px solid var(--line);background:#fff;border-radius:21px;padding:18px;box-shadow:0 10px 30px #1f24390a}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.calendar-header strong{font-size:13px}.calendar-header div{gap:6px;display:flex}.calendar-header button{border:1px solid var(--line);width:30px;height:30px;color:var(--ink);background:#fff;border-radius:9px;place-items:center;display:grid}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:6px 3px;display:grid}.weekday{color:#a4a9b5;padding-bottom:4px;font-size:8px;font-weight:850}.calendar-day{height:37px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:10px;align-content:center;place-items:center;padding:0;font-size:10px;transition:border-color .18s,background .18s,color .18s,transform .18s;display:grid;position:relative}.calendar-day:hover{background:var(--primary-soft);border-color:#d8d6ff}.calendar-day.muted{color:#cbced6}.calendar-day.today{color:#fff;background:var(--primary);box-shadow:0 7px 15px #4f46e540}.calendar-day.selected{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 2px #4f46e51a}.calendar-day.today.selected{color:#fff;background:var(--primary);border-color:#312e81;box-shadow:0 0 0 3px #4f46e52e,0 7px 15px #4f46e540}.date-dots{gap:2px;display:flex;position:absolute;bottom:3px}.date-dots i,.calendar-key i{border-radius:50%;width:4px;height:4px;display:block}.date-dots i.birthday,.calendar-key i.birthday{background:var(--birthday)}.date-dots i.anniversary,.calendar-key i.anniversary{background:var(--anniversary)}.calendar-day.today .date-dots i{border:1px solid #fff}.calendar-key{color:var(--muted);gap:16px;margin-top:16px;font-size:9px;display:flex}.calendar-key span{align-items:center;gap:6px;display:flex}.selected-date-events{border-top:1px solid var(--line);margin-top:17px;padding-top:16px}.selected-date-events>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.selected-date-events>header>div{gap:3px;display:grid}.selected-date-events>header small{color:var(--primary);letter-spacing:.13em;font-size:7px;font-weight:850}.selected-date-events>header strong{font-size:12px}.selected-date-events>header>span{color:var(--primary);background:var(--primary-soft);white-space:nowrap;border-radius:99px;padding:5px 8px;font-size:8px;font-weight:800}.selected-date-events .event-row{box-shadow:none}.selected-date-empty{color:#969cac;background:#fbfbfd;border:1px dashed #d9dbe4;border-radius:14px;align-content:center;place-items:center;gap:6px;min-height:72px;font-size:9px;display:grid}.email-status-card{color:#fff;text-align:left;background:linear-gradient(135deg,#172033,#343e57);border:0;border-radius:18px;justify-content:space-between;align-items:center;width:100%;margin-top:15px;padding:16px 17px;display:flex}.email-status-card>span{align-items:center;gap:12px;display:flex}.email-status-card>span>span{gap:4px;display:grid}.email-status-card strong{font-size:12px}.email-status-card small{color:#ffffff9e;font-size:9px}.loading-card{border:1px solid var(--line);color:var(--muted);text-align:center;background:#fff;border-radius:17px;padding:28px;font-size:11px}.subpage{max-width:1000px;margin:0 auto;padding:38px 34px 115px}.subpage-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px;display:flex}.subpage-header h1{letter-spacing:-.045em;margin:5px 0 6px;font-size:29px}.subpage-header p{color:var(--muted);margin:0;font-size:11px}.secondary-button{min-height:41px;color:var(--primary);background:var(--primary-soft);white-space:nowrap;border:1px solid #c8c6ff;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:10px;font-weight:800;display:inline-flex}.expanded-calendar{padding:23px}.expanded-calendar .calendar-day{height:52px;font-size:12px}.month-events{margin-top:26px}.people-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:13px;display:grid}.filter-chips{gap:6px;display:flex}.filter-chips button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:99px;padding:0 12px;font-size:9px;font-weight:750}.filter-chips button.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.people-count{color:var(--muted);margin:18px 2px 10px;font-size:10px}.editable-list .event-row{padding-right:10px}.empty-state{text-align:center;background:#ffffffad;border:1px dashed #d6d8e1;border-radius:20px;padding:40px 20px}.empty-state.compact{padding:28px 20px}.empty-state>span{width:46px;height:46px;color:var(--birthday);background:var(--birthday-soft);border-radius:15px;place-items:center;margin:0 auto 10px;display:grid}.empty-state strong{font-size:13px;display:block}.empty-state p{color:var(--muted);margin:6px 0 14px;font-size:10px}.empty-state button{color:var(--primary);background:var(--primary-soft);border:0;border-radius:10px;align-items:center;gap:6px;padding:9px 11px;font-size:9px;font-weight:800;display:inline-flex}.reminder-toggle-card{color:#fff;background:linear-gradient(145deg,#4f46e5,#6c63e9);border-radius:20px;justify-content:space-between;align-items:center;padding:20px;display:flex;box-shadow:0 14px 30px #4f46e533}.reminder-toggle-card>div{align-items:center;gap:12px;display:flex}.notice-icon{background:#ffffff29;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.reminder-toggle-card strong{margin-bottom:4px;font-size:13px;display:block}.reminder-toggle-card small{color:#ffffffb3;font-size:9px}.toggle{background:#ffffff47;border:0;border-radius:99px;width:44px;height:26px;padding:0;position:relative}.toggle span{background:#fff;border-radius:50%;width:18px;height:18px;transition:left .2s;position:absolute;top:4px;left:4px;box-shadow:0 2px 7px #0003}.toggle.on{background:#ffffff7a}.toggle.on span{left:22px}.settings-grid{grid-template-columns:1.15fr .85fr;gap:14px;margin-top:17px;display:grid}.continuous-summary{color:var(--primary);background:#f7f6ff;border:1px solid #dcd9ff;border-radius:14px;align-items:flex-start;gap:10px;margin-top:14px;padding:13px 15px;display:flex}.continuous-summary p{color:#5f6680;margin:0;font-size:10px;line-height:1.55}.continuous-summary strong{color:var(--primary-dark)}.reminder-settings-grid{grid-template-columns:1fr 1fr}.settings-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:18px}.recipient-list{gap:8px;display:grid}.recipient-list article{border:1px solid var(--line);border-radius:14px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;display:grid}.recipient-avatar{width:38px;height:38px;color:var(--primary);background:var(--primary-soft);border-radius:12px;place-items:center;font-size:9px;font-weight:850;display:grid}.recipient-list article>span:nth-child(2){gap:3px;min-width:0;display:grid}.recipient-list strong,.setting-row strong{text-overflow:ellipsis;font-size:10px;overflow:hidden}.recipient-list small,.setting-row small{color:var(--muted);text-overflow:ellipsis;font-size:8px;overflow:hidden}.recipient-list article>button{color:#a0a5b3;background:0 0;border:0;border-radius:8px;place-items:center;width:29px;height:29px;display:grid}.recipient-list article>button:hover{color:var(--danger);background:#fff1f3}.add-recipient{border:1px solid var(--line);color:#a0a5b3;border-radius:13px;align-items:center;gap:8px;margin-top:10px;padding:7px 7px 7px 11px;display:flex}.add-recipient input{border:0;outline:0;flex:1;min-width:0;font-size:10px}.add-recipient button{color:var(--primary);background:var(--primary-soft);border:0;border-radius:9px;padding:8px 10px;font-size:9px;font-weight:800}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:13px 0;display:flex}.setting-row:last-child{border-bottom:0}.setting-row>span{min-width:0;color:var(--primary);align-items:center;gap:9px;display:flex}.setting-row>span>span{min-width:0;color:var(--ink);gap:3px;display:grid}.setting-row input[type=time],.setting-row select{border:1px solid var(--line);max-width:102px;color:var(--primary);background:#fafafe;border-radius:9px;padding:7px;font-size:9px;font-weight:750}.setting-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--primary)}.time-setting{border-bottom:1px solid var(--line);padding:13px 0}.time-setting>div:first-child{color:var(--primary);align-items:center;gap:9px;display:flex}.time-setting>div:first-child>span{color:var(--ink);gap:3px;display:grid}.time-setting strong{font-size:10px}.time-setting small{color:var(--muted);font-size:8px}.time-chips{flex-wrap:wrap;gap:6px;margin:11px 0;display:flex}.time-chips>span{color:var(--primary);background:var(--primary-soft);border-radius:99px;align-items:center;gap:5px;padding:6px 7px 6px 9px;font-size:9px;font-weight:800;display:flex}.time-chips button{width:17px;height:17px;color:var(--primary);background:#4f46e51a;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.add-time{gap:7px;display:flex}.add-time input{border:1px solid var(--line);color:var(--ink);background:#fafafe;border-radius:10px;flex:1;padding:8px 9px;font-size:10px}.add-time button{color:var(--primary);background:var(--primary-soft);border:0;border-radius:10px;align-items:center;gap:5px;padding:0 10px;font-size:9px;font-weight:800;display:inline-flex}.channels-card,.install-card{grid-column:1/-1}.channel-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.channel-grid>label{border:1px solid var(--line);background:#fbfbfd;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:13px;display:flex}.channel-grid>label.active{background:var(--primary-soft);border-color:#c8c6ff}.channel-grid label>span{color:var(--primary);align-items:center;gap:9px;display:flex}.channel-grid label>span>span{color:var(--ink);gap:3px;display:grid}.channel-grid strong{font-size:10px}.channel-grid small{color:var(--muted);font-size:8px}.channel-grid input{width:17px;height:17px;accent-color:var(--primary)}.push-status{background:#f7f8fb;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:13px;display:flex}.push-status>div{color:var(--primary);align-items:center;gap:9px;display:flex}.push-status>div>span{color:var(--ink);gap:3px;display:grid}.push-status strong{font-size:10px}.push-status small{color:var(--muted);font-size:8px}.danger-outline{min-height:35px;color:var(--danger);background:#fff3f5;border:1px solid #ffc7cf;border-radius:10px;padding:0 12px;font-size:9px;font-weight:800}.install-card{grid-template-columns:42px 1fr auto;align-items:center;gap:12px;display:grid}.install-icon{width:42px;height:42px;color:var(--success);background:#e9f8f3;border-radius:13px;place-items:center;display:grid}.install-card>div{gap:4px;display:grid}.install-card strong{font-size:11px}.install-card small{color:var(--muted);font-size:9px;line-height:1.4}.save-settings{width:auto;min-width:190px;margin-top:16px;padding:0 18px}.admin-page{min-height:100dvh;color:var(--ink);background:radial-gradient(circle at 8% 0,#4f46e51f,#0000 25%),radial-gradient(circle at 95% 85%,#ff6b6b14,#0000 22%),#f5f6fa}.admin-topbar{z-index:40;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border-bottom:1px solid #e2e4ede6;justify-content:space-between;align-items:center;height:72px;padding:0 max(24px,50vw - 620px);display:flex;position:sticky;top:0}.admin-brand{align-items:center;gap:10px;display:flex}.admin-brand img{object-fit:contain;border-radius:10px;width:38px;height:38px}.admin-brand>span{gap:2px;display:grid}.admin-brand strong{font-size:13px}.admin-brand small{color:var(--muted);font-size:8px}.admin-top-actions{align-items:center;gap:8px;display:flex}.admin-top-actions a,.admin-top-actions button{border:1px solid var(--line);min-height:38px;color:var(--muted);background:#fff;border-radius:11px;align-items:center;gap:6px;padding:0 11px;font-size:9px;font-weight:800;text-decoration:none;display:inline-flex}.admin-top-actions a{color:var(--primary);background:var(--primary-soft);border-color:#d5d2ff}.admin-container{width:min(100% - 36px,1200px);margin:0 auto;padding:42px 0 80px}.admin-hero{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.eyebrow{color:var(--primary);letter-spacing:.14em;align-items:center;gap:6px;font-size:8px;font-weight:900;display:flex}.admin-hero h1{letter-spacing:-.055em;margin:8px 0 7px;font-size:clamp(30px,5vw,44px)}.admin-hero p{color:var(--muted);margin:0;font-size:11px}.admin-identity{background:#ffffffb3;border:1px solid #fffc;border-radius:16px;align-items:center;gap:10px;padding:10px 13px;display:flex}.admin-identity>span{color:#fff;background:linear-gradient(145deg,#172033,#49546d);border-radius:12px;place-items:center;width:38px;height:38px;font-size:10px;font-weight:850;display:grid}.admin-identity>div{gap:3px;display:grid}.admin-identity strong{font-size:10px}.admin-identity small{color:var(--muted);font-size:8px}.admin-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0 18px;display:grid}.admin-stats article{border:1px solid var(--line);background:#ffffffe6;border-radius:18px;align-items:center;gap:12px;padding:17px;display:flex;box-shadow:0 8px 24px #1f24390a}.admin-stats article>span{width:40px;height:40px;color:var(--primary);background:var(--primary-soft);border-radius:13px;place-items:center;display:grid}.admin-stats article.pending>span{color:#a66e07;background:var(--anniversary-soft)}.admin-stats article.active>span{color:var(--success);background:#e9f8f3}.admin-stats article.suspended>span{color:var(--danger);background:#fff1f3}.admin-stats strong{font-size:20px;display:block}.admin-stats small{color:var(--muted);font-size:9px}.user-management-card{border:1px solid var(--line);background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 18px 45px #1f24390f}.user-management-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.user-management-card>header>div{align-items:baseline;gap:8px;display:flex}.user-management-card h2{margin:0;font-size:15px}.user-management-card>header span{color:var(--muted);font-size:9px}.user-management-card>header button{border:1px solid var(--line);width:34px;height:34px;color:var(--primary);background:#fff;border-radius:10px;place-items:center;display:grid}.admin-toolbar{border-bottom:1px solid var(--line);background:#fbfbfd;grid-template-columns:minmax(240px,1fr) auto;gap:13px;padding:15px 20px;display:grid}.admin-toolbar label{border:1px solid var(--line);color:#a0a5b3;background:#fff;border-radius:11px;align-items:center;gap:9px;min-height:40px;padding:0 12px;display:flex}.admin-toolbar input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:10px}.admin-toolbar>div{gap:5px;display:flex}.admin-toolbar>div button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:99px;padding:0 10px;font-size:8px;font-weight:800}.admin-toolbar>div button.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.users-table-wrap{overflow-x:auto}.users-table{border-collapse:collapse;width:100%;min-width:900px}.users-table th{color:#9298a8;text-align:left;letter-spacing:.1em;text-transform:uppercase;background:#fafafe;padding:11px 16px;font-size:7px;font-weight:900}.users-table td{border-top:1px solid var(--line);color:#596176;white-space:nowrap;padding:13px 16px;font-size:9px}.admin-user-cell{align-items:center;gap:10px;display:flex}.admin-user-cell>span{width:37px;height:37px;color:var(--primary);background:var(--primary-soft);border-radius:12px;place-items:center;font-size:9px;font-weight:850;display:grid}.admin-user-cell>div{gap:4px;min-width:0;display:grid}.admin-user-cell strong{color:var(--ink);align-items:center;gap:7px;font-size:10px;display:flex}.admin-user-cell em{color:var(--primary);background:var(--primary-soft);letter-spacing:.08em;border-radius:5px;padding:3px 5px;font-size:6px;font-style:normal}.admin-user-cell small{max-width:280px;color:var(--muted);text-overflow:ellipsis;font-size:8px;overflow:hidden}.user-status{text-transform:uppercase;border-radius:99px;padding:5px 8px;font-size:7px;font-weight:900;display:inline-flex}.user-status.pending{color:#946105;background:var(--anniversary-soft)}.user-status.active{color:#187958;background:#e9f8f3}.user-status.suspended{color:#b4233a;background:#fff0f2}.admin-actions{gap:5px;display:flex}.admin-actions button{border:1px solid var(--line);min-height:30px;color:var(--muted);background:#fff;border-radius:8px;align-items:center;gap:5px;padding:0 8px;font-size:7px;font-weight:800;display:inline-flex}.admin-actions button.approve{color:var(--success);background:#f1fbf7;border-color:#bce9da}.admin-actions button.delete{width:30px;color:var(--danger);background:#fff5f6;border-color:#ffd2d8;justify-content:center;padding:0}.admin-empty{color:#9aa0af;align-content:center;place-items:center;gap:7px;min-height:180px;display:grid}.admin-empty strong{color:var(--ink);font-size:11px}.admin-empty span{font-size:9px}.spin{animation:1s linear infinite admin-spin}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f142375;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.admin-password-modal{background:#fff;border-radius:24px;width:min(100%,610px);max-height:90dvh;overflow:auto;box-shadow:0 30px 80px #10152540}.admin-password-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.admin-password-modal>header>div{align-items:center;gap:10px;min-width:0;display:flex}.admin-password-modal>header>div>span{width:39px;height:39px;color:var(--primary);background:var(--primary-soft);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.admin-password-modal>header>div>div{gap:3px;min-width:0;display:grid}.admin-password-modal>header strong{font-size:13px}.admin-password-modal>header small{color:var(--muted);text-overflow:ellipsis;font-size:8px;overflow:hidden}.admin-password-modal>header>button{background:#f1f2f6;border:0;border-radius:10px;place-items:center;width:33px;height:33px;display:grid}.password-options{gap:9px;padding:18px 20px;display:grid}.password-options article{border:1px solid var(--line);border-radius:14px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.password-options article>span{width:38px;height:38px;color:var(--primary);background:var(--primary-soft);border-radius:11px;place-items:center;display:grid}.password-options article>div{gap:3px;display:grid}.password-options strong{font-size:10px}.password-options small{color:var(--muted);font-size:8px;line-height:1.35}.password-options article>button,.manual-password label button{min-height:34px;color:var(--primary);background:var(--primary-soft);border:0;border-radius:9px;padding:0 10px;font-size:8px;font-weight:850}.password-options article.manual-password{grid-template-columns:1fr}.manual-password label{grid-template-columns:1fr auto;gap:7px;margin-top:5px;display:grid}.manual-password input{border:1px solid var(--line);border-radius:10px;outline:0;min-width:0;padding:10px 11px;font-size:10px}.temporary-password-result{background:#f6f5ff;border:1px solid #c9c5ff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:0 20px 12px;padding:13px;display:flex}.temporary-password-result>div{gap:5px;display:grid}.temporary-password-result small{color:var(--primary);letter-spacing:.1em;font-size:7px;font-weight:900}.temporary-password-result strong{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px}.temporary-password-result button{color:#fff;background:var(--primary);border:0;border-radius:9px;align-items:center;gap:5px;padding:8px 10px;font-size:8px;font-weight:800;display:flex}.admin-password-message{color:#4f5670;background:#f2f3f7;border-radius:10px;margin:0 20px 18px;padding:10px 12px;font-size:9px;line-height:1.45}.offline-page{background:radial-gradient(circle at 20% 10%, #4f46e51f, transparent 30%), var(--canvas);text-align:center;align-content:center;place-items:center;min-height:100dvh;padding:24px;display:grid}.offline-page>span{width:68px;height:68px;color:var(--primary);background:var(--primary-soft);border-radius:22px;place-items:center;display:grid}.offline-page h1{letter-spacing:-.04em;margin:18px 0 7px;font-size:29px}.offline-page p{color:var(--muted);margin:0 0 18px;font-size:12px}.offline-page a{color:#fff;background:var(--primary);border-radius:11px;padding:10px 15px;font-size:10px;font-weight:800;text-decoration:none}.mobile-nav{display:none}.floating-add{z-index:15;color:#fff;background:linear-gradient(145deg,var(--primary),#6f67ed);border:0;border-radius:18px;place-items:center;width:56px;height:56px;display:grid;position:absolute;bottom:28px;right:28px;box-shadow:0 14px 30px #4f46e557}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f142373;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.bottom-sheet{background:#fff;border-radius:27px;width:min(100%,560px);max-height:90dvh;padding:15px 21px 24px;animation:.2s ease-out sheet-in;overflow:auto;box-shadow:0 30px 80px #10152542}@keyframes sheet-in{0%{opacity:0;transform:translateY(18px)scale(.98)}}.sheet-grabber{background:#d8dbe3;border-radius:99px;width:40px;height:4px;margin:0 auto 16px}.bottom-sheet>header{justify-content:space-between;align-items:center;margin-bottom:19px;display:flex}.bottom-sheet>header>div{align-items:center;gap:8px;display:flex}.bottom-sheet h2{letter-spacing:-.035em;margin:0;font-size:19px}.icon-button{width:32px;height:32px;color:var(--ink);background:#f2f3f7;border:0;border-radius:10px;place-items:center;display:grid}.add-choice-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.add-choice-grid>button{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:18px;padding:18px}.add-choice-grid>button:hover{border-color:#c9c6ff;box-shadow:0 10px 25px #1f24390f}.choice-icon{border-radius:13px;place-items:center;width:42px;height:42px;margin-bottom:13px;display:grid}.choice-icon.manual{color:var(--primary);background:var(--primary-soft)}.choice-icon.import{color:var(--success);background:#e9f8f3}.add-choice-grid strong{margin-bottom:5px;font-size:12px;display:block}.add-choice-grid small{color:var(--muted);font-size:9px;line-height:1.45;display:block}.event-form input,.event-form select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfbfd;border-radius:13px;outline:0;padding:12px 13px;font-size:11px}.event-form input:focus,.event-form select:focus{box-shadow:0 0 0 4px var(--primary-soft);border-color:#aaa7ff}.form-columns{grid-template-columns:1fr 1fr;gap:11px;display:grid}.upload-zone{min-height:150px;color:var(--primary);text-align:center;cursor:pointer;background:#fafaff;border:1.5px dashed #cfd2dc;border-radius:18px;align-content:center;place-items:center;gap:7px;padding:20px;display:grid}.upload-zone.selected{border-color:var(--success);color:var(--success);background:#f2fbf8}.upload-zone input{display:none}.upload-zone strong{color:var(--ink);font-size:12px}.upload-zone small{color:var(--muted);font-size:9px}.required-columns{flex-wrap:wrap;gap:6px;margin:14px 0;display:flex}.required-columns span{color:#62697a;background:#f2f3f7;border-radius:99px;padding:6px 8px;font-size:8px;font-weight:750}.import-note{color:#8b640d;background:var(--anniversary-soft);border-radius:12px;gap:9px;margin-bottom:16px;padding:11px;display:flex}.import-note p{margin:0;font-size:9px;line-height:1.5}.toast{z-index:200;color:#fff;background:#172033;border-radius:12px;padding:12px 16px;font-size:11px;font-weight:700;animation:.2s ease-out toast-in;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 15px 35px #17203340}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}@media (max-width:800px){.app-background{background:#fafafe;padding:0}.app-shell{min-height:100dvh;box-shadow:none;border:0;border-radius:0}.app-topbar{height:66px;padding:0 17px}.desktop-layout{min-height:0;display:block}.desktop-sidebar{display:none}.hero-section{padding:28px 18px 21px}.greeting h1{margin-bottom:18px;font-size:27px}.page-content{padding:22px 17px 110px}.subpage{padding:29px 17px 110px}.subpage-header{align-items:flex-start}.subpage-header h1{font-size:25px}.subpage-header p{max-width:260px;line-height:1.5}.expanded-calendar{padding:16px}.expanded-calendar .calendar-day{height:41px}.people-toolbar{grid-template-columns:1fr}.filter-chips button{min-height:32px}.settings-grid{grid-template-columns:1fr}.channels-card,.install-card{grid-column:auto}.notification-panel{width:auto;position:fixed;top:70px;left:16px;right:16px}.floating-add{width:54px;height:54px;position:fixed;bottom:80px;right:18px}.mobile-nav{z-index:50;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;grid-template-columns:repeat(4,1fr);height:69px;padding:8px 10px 7px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#a0a5b3;background:0 0;border:0;align-content:center;justify-items:center;gap:3px;font-size:8px;font-weight:750;display:grid}.mobile-nav button.active{color:var(--primary)}.modal-backdrop{place-items:end center;padding:0}.bottom-sheet{border-radius:28px 28px 0 0;width:100%;max-height:90dvh}.toast{text-align:center;max-width:calc(100% - 32px);bottom:86px}.admin-topbar{padding:0 16px}.admin-container{width:min(100% - 28px,1200px);padding-top:28px}.admin-hero{align-items:flex-start}.admin-identity{display:none}.admin-stats{grid-template-columns:1fr 1fr}.admin-toolbar{grid-template-columns:1fr}.admin-toolbar>div{padding-bottom:2px;overflow-x:auto}.admin-toolbar>div button{white-space:nowrap;min-height:31px}}@media (max-width:520px){.auth-page{justify-content:flex-start;padding:98px 18px 28px}.auth-brand{top:18px;left:18px}.auth-illustration{width:96px;height:96px;margin-bottom:21px}.auth-logo{width:58px;height:58px}.auth-copy h1{font-size:29px}.auth-form{padding:18px}.app-brand small{max-width:150px;font-size:7.5px;line-height:1.2;display:block}.profile-button{border:0;padding-right:0}.profile-button>svg{display:none}.summary-grid{gap:9px}.summary-grid article{align-items:flex-start;padding:13px}.summary-icon{width:35px;height:35px}.summary-grid strong{font-size:18px}.summary-grid small{margin-top:2px;font-size:8px;line-height:1.25;display:block}.event-row{grid-template-columns:44px minmax(0,1fr) auto;gap:9px;padding:10px}.event-date{width:44px;height:47px}.event-pill{text-overflow:ellipsis;max-width:75px;overflow:hidden}.calendar-card{padding:14px}.calendar-day{height:34px}.subpage-header{display:grid}.subpage-header .secondary-button{width:max-content}.filter-chips{padding-bottom:2px;overflow-x:auto}.filter-chips button{white-space:nowrap}.reminder-toggle-card{padding:17px}.reminder-toggle-card small{max-width:190px;line-height:1.4;display:block}.channel-grid{grid-template-columns:1fr}.push-status{align-items:flex-start}.install-card{grid-template-columns:40px 1fr}.install-card>button{grid-column:1/-1}.add-choice-grid{grid-template-columns:1fr}.form-columns{grid-template-columns:1fr;gap:0}.admin-brand small{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.admin-top-actions a{justify-content:center;width:37px;padding:0;font-size:0}.admin-top-actions button span{display:none}.admin-top-actions button{justify-content:center;width:37px;padding:0}.admin-hero h1{font-size:31px}.admin-hero p{max-width:300px;line-height:1.5}.admin-stats{gap:8px}.admin-stats article{align-items:flex-start;padding:12px}.admin-stats article>span{width:34px;height:34px}.admin-stats strong{font-size:17px}.admin-stats small{margin-top:2px;font-size:7.5px;line-height:1.25;display:block}.user-management-card>header,.admin-toolbar{padding-left:13px;padding-right:13px}.password-options article{grid-template-columns:36px minmax(0,1fr)}.password-options article>button{grid-column:1/-1}.temporary-password-result{align-items:flex-start}.temporary-password-result strong{font-size:13px}.admin-shortcut span{display:none}.admin-shortcut{justify-content:center;width:37px;padding:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
