@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Newsreader:opsz,wght@6..72,500&display=swap";.headerActions{display:flex;align-items:center;gap:18px}.refreshButton{display:inline-flex;align-items:center;gap:6px}.refreshButton:disabled{opacity:.55;cursor:default}.settingsButton{display:inline-flex;gap:7px;align-items:center}.calendarChoice>i{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--calendar-color, #839089)}.dashboardHero{padding:54px 0 38px}.dashboardHero h1{margin-bottom:0;font-size:clamp(3rem,9vw,5.4rem)}.dashboardCard{overflow:hidden;background:#fffdf8;border-radius:24px;box-shadow:0 18px 60px #1c332a14}.dashboardCard[aria-busy=true]{opacity:.72}.dashboardSection{padding:28px 26px}.dashboardSection+.dashboardSection{border-top:1px solid #e6e2d9}.dashboardSectionHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dashboardSectionHeader h2{margin:0;color:#bd6d34;font-size:.78rem;letter-spacing:.14em}.dashboardSectionHeader p{margin:5px 0 0;color:#77817c;font-size:.84rem;text-transform:capitalize}.dashboardSectionHeader>span{color:#78817d;font-size:.82rem;white-space:nowrap}.namedayLine{margin:18px 0 9px;color:#45574f;font-size:.92rem}.dashboardEvents{margin-top:4px}.dashboardEvent{display:grid;grid-template-columns:62px 10px minmax(0,1fr);align-items:start;gap:10px;padding:11px 0;border-bottom:1px solid #eeeae2}.dashboardEvent:last-child{border-bottom:0}.dashboardEvent time{color:#bd6d34;font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums}.calendarDot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--calendar-color, #839089)}.dashboardEvent strong{display:block;font-size:.96rem;font-weight:600}.dashboardEvent small{display:block;margin-top:3px;color:#7a847f;font-size:.78rem}.dashboardEmpty{margin:18px 0 0;color:#78817d}.dashboardBirthdays{margin-top:14px}.dashboardBirthdays li{display:grid;grid-template-columns:72px minmax(0,1fr) 30px;gap:12px;padding:7px 0;line-height:1.35}.dashboardBirthdays time{color:#bd6d34;font-size:.9rem}.dashboardBirthdays strong{min-width:0;font-size:.94rem;font-weight:500}.dashboardBirthdays span{text-align:right;font-size:.9rem;font-variant-numeric:tabular-nums}.dashboardError{margin:0 0 16px;padding:12px 15px;border-radius:11px;background:#f9e9e3;color:#8b3d2d}.dashboardInitialState{min-height:65vh;display:grid;place-content:center;justify-items:center;text-align:center;color:#68746e}.dashboardInitialState button{margin-top:8px;padding:13px 18px;border-radius:10px;background:#19362c;color:#fff}.settingsBackdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;background:#0f201a75;padding-top:env(safe-area-inset-top)}.settingsPanel{width:100%;max-width:620px;max-height:min(86vh,760px);overflow:auto;background:#fffdf8;border-radius:26px 26px 0 0;padding:27px 24px max(24px,env(safe-area-inset-bottom));box-shadow:0 -20px 70px #11261e33}.settingsHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.settingsHeader .eyebrow{margin:0 0 5px}.settingsHeader h2{margin:0;font:500 2.35rem Newsreader,serif}.closeButton{width:42px;height:42px;border-radius:50%;background:#f0ece3;color:#173128;font-size:1.65rem;line-height:1}.settingsNav{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:24px;padding:5px;border-radius:13px;background:#eeeae2}.settingsNav button{padding:10px 8px;border-radius:9px;background:transparent;color:#68746e;font-weight:600}.settingsNav button.active{background:#fffdf8;color:#19362c;box-shadow:0 2px 9px #18332a14}.settingsGroup{padding-top:25px}.settingsGroup+.settingsGroup{margin-top:26px;border-top:1px solid #e6e2d9}.settingsGroup h3{margin:0;font:500 1.55rem Newsreader,serif}.settingsIntro{color:#68746e;line-height:1.5;margin:10px 0 20px}.calendarChoices{border-top:1px solid #e6e2d9}.calendarChoice{display:grid;grid-template-columns:22px 12px 1fr;align-items:center;gap:12px;min-height:58px;border-bottom:1px solid #ece8df;cursor:pointer}.calendarChoice input{width:18px;height:18px;accent-color:#19362c}.calendarChoice span{display:flex;justify-content:space-between;align-items:baseline;gap:15px;font-weight:500}.calendarChoice small{color:#7c8580;font-weight:400}.settingsState{color:#6f7974;padding:20px 0}.settingsError{border-radius:12px;padding:13px 15px;margin:15px 0;background:#f9e9e3;color:#8b3d2d;line-height:1.45}.settingsSuccess{border-radius:12px;padding:13px 15px;margin:15px 0;background:#e8f2eb;color:#285e3e;line-height:1.45}.namedayStatus{margin:15px 0 18px}.namedayStatus div{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:6px 0}.namedayStatus dt{color:#748079}.namedayStatus dd{margin:0;font-weight:500}.settingsHint{color:#748079;font-size:.88rem;line-height:1.45;margin:-3px 0 15px}.birthdayPreview{margin:18px 0;padding-top:17px;border-top:1px solid #ece8df}.birthdayPreview h4{margin:0 0 10px;font-size:.95rem;font-weight:650}.birthdayPreview .settingsState{margin:0;padding:7px 0;font-size:.9rem}.birthdayPreview .settingsError{margin:10px 0 0}.birthdayPreview ul{list-style:none;margin:0;padding:0}.birthdayPreview li{display:grid;grid-template-columns:66px minmax(0,1fr);gap:10px;padding:4px 0;line-height:1.35}.birthdayPreview time{color:#748079;font-variant-numeric:tabular-nums}.hiddenFileInput{display:none}.settingsUpdateButton{width:100%;padding:13px 16px;border-radius:11px;background:#eeeae2;color:#33463e;font-weight:600}.settingsUpdateButton:disabled{opacity:.55;cursor:default}.settingsActions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.settingsActions button{padding:14px;border-radius:11px;font-weight:600}.settingsCloseAction{grid-column:1 / -1}.secondaryButton{background:#eeeae2;color:#425049}.saveButton{background:#19362c;color:#fff}.saveButton:disabled{opacity:.5;cursor:default}.birthdayManagementPanel{max-width:1120px;max-height:min(92vh,920px)}.birthdayManagement{padding-top:27px}.birthdayManagementHeader,.birthdayEditorHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.birthdayManagementHeader h3{margin:0;font:500 1.75rem Newsreader,serif}.birthdayManagementHeader p{margin:7px 0 0;color:#748079}.addBirthdayButton,.birthdaySaveButton{padding:12px 17px;border-radius:10px;font-weight:600}.birthdayEditor{margin:22px 0;padding:20px;border-radius:16px;background:#f1ede5}.birthdayEditorHeading .eyebrow{margin:0 0 4px}.birthdayEditorHeading h4{margin:0;font:500 1.35rem Newsreader,serif}.birthdayFormGrid{display:grid;grid-template-columns:2fr 90px 150px 120px 130px;gap:14px;margin-top:18px}.birthdayFormGrid label,.birthdayTools label{display:grid;gap:6px;color:#68746e;font-size:.78rem;font-weight:600}.birthdayFormGrid input,.birthdayFormGrid select,.birthdayTools input,.birthdayTools select{width:100%;min-height:42px;border:1px solid #dcd7cd;border-radius:9px;padding:9px 11px;background:#fffdf8;color:#19362c;font:inherit}.birthdayUrlField{grid-column:1 / -1}.birthdaySaveButton{margin-top:16px}.birthdayTools{display:grid;grid-template-columns:minmax(220px,1fr) 190px;gap:14px;margin:22px 0 14px}.birthdayPeopleTable{border-top:1px solid #ddd8ce}.birthdayPeopleHead,.birthdayPersonRow{display:grid;grid-template-columns:minmax(180px,2fr) 92px 55px 58px 82px 126px minmax(140px,1fr);gap:12px;align-items:center}.birthdayPeopleHead{min-height:42px;color:#78817d;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.birthdayPersonRow{min-height:66px;border-top:1px solid #ece8df;font-size:.84rem}.birthdayPersonName{min-width:0}.birthdayPersonName strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.birthdayPersonName a{display:inline-block;margin-top:3px;color:#8a603d;font-size:.72rem}.birthdayRowActions{display:flex;justify-content:flex-end;gap:12px}.birthdayRowActions .textButton{font-size:.8rem}.dangerText{color:#a34c3d}.deleteConfirmation{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;width:100%}.deleteConfirmation>span{color:#803c31;font-size:.76rem}.deleteButton{padding:7px 9px;border-radius:7px;background:#a34c3d;color:#fff;font-size:.78rem}.birthdayNoResults{margin:0;padding:26px 0;color:#748079;text-align:center}.birthdayManagementColumns{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px;padding-top:4px;border-top:1px solid #e6e2d9}.managementPreview{margin:0;padding-top:22px;border-top:0}.birthdayImport{padding-top:22px}.birthdayImport h4{margin:0 0 10px;font-size:.95rem}.birthdayImport .namedayStatus{margin-top:8px}.birthdayAutomation{margin-top:26px;padding-top:24px;border-top:1px solid #e6e2d9}.birthdayAutomationHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.birthdayAutomationHeading h4{margin:0;font-size:1rem}.birthdayAutomationHeading .settingsHint{margin:5px 0 0}.birthdaySyncStatus{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin:16px 0}.birthdaySyncStatus dd{overflow-wrap:anywhere;text-align:right}.birthdaySyncToken{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 14px;margin:16px 0;padding:14px;border:1px solid #d7c9aa;border-radius:12px;background:#fff8e8}.birthdaySyncToken strong{grid-column:1 / -1;color:#72522f;font-size:.84rem}.birthdaySyncToken code{min-width:0;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;color:#19362c}@media(min-width:620px){.settingsBackdrop{align-items:center;padding:30px}.settingsPanel{border-radius:26px}}@media(min-width:900px){.dashboardCard{display:grid;grid-template-columns:1fr 1fr}.dashboardSection+.dashboardSection{border-top:0;border-left:1px solid #e6e2d9}.birthdayDashboard{grid-column:1 / -1;border-top:1px solid #e6e2d9!important;border-left:0!important}}@media(max-width:560px){.refreshButton span,.settingsButton span{display:none}.headerActions{gap:12px}.dashboardSection{padding:24px 19px}.dashboardEvent{grid-template-columns:55px 8px minmax(0,1fr);gap:8px}.dashboardBirthdays li{grid-template-columns:68px minmax(0,1fr) 26px;gap:8px}.settingsNav{grid-template-columns:1fr}.birthdayManagementHeader{display:grid}.addBirthdayButton{width:100%}.birthdayFormGrid,.birthdayTools,.birthdayManagementColumns{grid-template-columns:1fr}.birthdayUrlField{grid-column:auto}.birthdayPeopleHead{display:none}.birthdayPersonRow{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:12px;padding:16px;border:1px solid #e5e0d7;border-radius:13px}.birthdayPersonName,.birthdayRowActions{grid-column:1 / -1}.birthdayPersonName strong{white-space:normal;font-size:1rem}.birthdayPersonRow>span{display:grid;grid-template-columns:88px 1fr}.birthdayPersonRow>span:before{content:attr(data-label);color:#7a847f}.birthdayRowActions{justify-content:flex-start;border-top:1px solid #ece8df;padding-top:8px}.deleteConfirmation{grid-template-columns:1fr auto auto}.birthdayAutomationHeading{display:grid}.birthdayAutomationHeading .settingsUpdateButton{width:100%}.birthdaySyncStatus,.birthdaySyncToken{grid-template-columns:1fr}}@media(min-width:561px)and (max-width:900px){.birthdayFormGrid{grid-template-columns:2fr 80px 140px}.birthdayUrlField{grid-column:1 / -1}.birthdayPeopleHead,.birthdayPersonRow{grid-template-columns:minmax(150px,2fr) 85px 48px 52px 75px}.birthdayPeopleHead span:nth-child(6),.birthdayPeopleHead span:nth-child(7),.birthdayPersonRow>span:nth-child(6){display:none}.birthdayRowActions{grid-column:1 / -1;justify-content:flex-start}}:root{font-family:DM Sans,sans-serif;color:#173128;background:#f3efe7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,.google{font:inherit}button{border:0;cursor:pointer}.login,.home,.center{min-height:100vh;padding:max(28px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom))}.login{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:#19362c;color:#f5f0e6}.login section{position:relative;z-index:1;max-width:440px;margin:auto 0}.sun{position:absolute;width:340px;height:340px;right:-145px;top:-110px;border-radius:50%;background:#e8aa5b;opacity:.95}.mark{display:grid;place-items:center;width:58px;height:58px;border:1px solid currentColor;border-radius:50%;font:500 18px Newsreader,serif;letter-spacing:-.04em}.mark.small{width:42px;height:42px;font-size:14px}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.14em;font-weight:600;opacity:.7}.login .eyebrow{margin-top:50px}h1{font:500 clamp(3rem,13vw,5.4rem)/.94 "Newsreader",serif;letter-spacing:-.045em;margin:12px 0 22px}.lede{font-size:1.05rem;line-height:1.6;color:#d6ddd7;max-width:330px}.google{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:36px;padding:16px 22px;background:#f5f0e6;color:#173128;border-radius:12px;text-decoration:none;font-weight:600}.google span{font-size:1.25rem;color:#4285f4}.login small{opacity:.55;letter-spacing:.04em}.home{max-width:1060px;margin:auto}header{display:flex;justify-content:space-between;align-items:center}.textButton{background:transparent;color:#64716b;padding:10px 0}.hero{padding:68px 0 54px}.hero h1{font-size:clamp(3.2rem,14vw,6rem);max-width:600px}.agenda{background:#fffdf8;border-radius:24px;padding:24px 20px;box-shadow:0 18px 60px #1c332a14}.sectionTitle{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid #e6e2d9;padding-bottom:16px}.sectionTitle h2{margin:0;font:500 2rem Newsreader,serif}.sectionTitle span{color:#78817d;font-size:.85rem}ul{list-style:none;margin:0;padding:0}.event{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid #eeeae2}.event:last-child{border-bottom:0}.event time{color:#c16f35;font-weight:600}.event strong,.event span{display:block}.event span{margin-top:5px;color:#77817c;font-size:.9rem}.empty{text-align:center;padding:44px 20px 32px;color:#78817d}.empty span{display:block;color:#e4a051;font-size:2rem}.empty h3{color:#173128;margin:14px 0 4px}.empty p{margin:0}.center{display:grid;place-content:center;justify-items:center;text-align:center}.center h1{font-size:3rem}.center button{background:#19362c;color:#fff;padding:14px 22px;border-radius:10px}.pulse{animation:pulse 1.4s infinite alternate}@keyframes pulse{to{opacity:.35;transform:scale(.95)}}@media(min-width:700px){.home{padding-inline:40px}.agenda{padding:32px}}
