.calendar-page{max-width:1180px;margin:0 auto;padding:26px clamp(16px,4vw,46px) 72px}.calendar-back{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 0 38px;color:#714e91}.calendar-back a{text-decoration:none;font-weight:700}.calendar-hero{padding:clamp(22px,4vw,42px);border:1px solid #e8dff0;border-radius:30px;background:radial-gradient(ellipse at 95% 0,#f2e9ff 0,transparent 48%),linear-gradient(135deg,#fff,#fcf8f4);box-shadow:0 16px 40px #3d20500b}.calendar-hero h1{font-size:clamp(30px,5vw,52px);margin:8px 0}.calendar-hero p{color:#736580;max-width:700px}.calendar-private{display:inline-flex;margin-top:18px;padding:8px 14px;border-radius:999px;background:#eee8f7;color:#68498a;font-size:13px;font-weight:700}.calendar-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:20px;margin-top:22px;align-items:start}.calendar-card{padding:clamp(18px,3vw,28px);border:1px solid #e9dff0;border-radius:27px;background:#fff;box-shadow:0 12px 32px #3d205009}.calendar-card-heading{display:flex;align-items:center;gap:13px;margin-bottom:22px}.calendar-card-heading>span{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:#f1e9fc;font-size:22px}.calendar-card-heading>div{flex:1;min-width:0}.calendar-card-heading h2{font-size:20px}.calendar-card-heading small{font-size:12px}.calendar-card form label{display:block;font-weight:700;margin:14px 0 0}.calendar-card form input,.calendar-card form select{width:100%;margin:8px 0 0;padding:12px 13px;border:1px solid #ddd0e9;border-radius:14px;background:#fcfaff;color:#332344;min-height:48px}.calendar-ai-note,.calendar-caution,.calendar-reminder-note{font-size:12px;line-height:1.65;padding:11px 13px;border-radius:15px;margin-top:12px}.calendar-caution{background:#fff2e4;color:#77542c}.calendar-reminder-note{background:#eef5f2;color:#4d6b5b}.calendar-ai-note{background:#f4eff9;color:#69547c}.calendar-save{width:100%;margin-top:16px;min-height:52px;border-radius:16px}.calendar-list ol{list-style:none;padding:0;margin:0}.calendar-list li{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid #f0eaf3}.calendar-date{width:51px;height:56px;flex:0 0 51px;display:grid;align-content:center;text-align:center;border-radius:15px;background:#f4eefb;color:#67428a}.calendar-date strong{font-size:22px;line-height:1.1}.calendar-date small{font-size:11px;text-transform:uppercase}.calendar-event-copy{display:grid;gap:4px;flex:1;min-width:0}.calendar-event-copy>strong{font-size:15px;overflow-wrap:anywhere}.calendar-event-copy small{font-size:11px}.calendar-delete{border:1px solid #eaddec;border-radius:12px;background:#fff8fa;color:#87516f;font-size:21px;width:40px;height:40px;flex:0 0 40px}.calendar-empty{text-align:center;min-height:180px;display:grid;align-content:center;justify-items:center;gap:13px;color:#82708f}.calendar-empty>span{font-size:36px}.calendar-empty .secondary{text-decoration:none}.calendar-status{margin-top:12px;padding:10px 12px;border-radius:13px;background:#f2edf7;font-size:12px;overflow-wrap:anywhere}.calendar-skeleton{display:grid;gap:12px}.calendar-skeleton i{display:block;height:64px;border-radius:15px;background:linear-gradient(90deg,#f5f0f7 25%,#fbf9fc 45%,#f5f0f7 65%);background-size:240% 100%;animation:calendar-shimmer 1.2s ease infinite}.calendar-footnote{text-align:center;color:#82778a;font-size:12px;margin:18px 0}.calendar-card-heading .quiet{white-space:nowrap}@keyframes calendar-shimmer{to{background-position-x:-240%}}@media(max-width:760px){.calendar-page{padding:14px 14px 64px}.calendar-back{margin:4px 2px 22px}.calendar-layout{grid-template-columns:1fr;gap:14px}.calendar-card{padding:18px;border-radius:22px}.calendar-hero{border-radius:23px}.calendar-list li{gap:9px}.calendar-event-copy>strong{font-size:14px}}@media(prefers-reduced-motion:reduce){.calendar-skeleton i{animation:none}}.calendar-device-active,.calendar-device-offer{padding:12px 14px;border:1px solid #e9d5b3;border-radius:15px;background:#fff7e8;color:#6b5437;font-size:12px;line-height:1.65}.calendar-device-active{display:inline-block;margin:14px 0 0}.calendar-device-offer{margin-top:14px}.calendar-device-offer p{margin:0 0 10px}.calendar-device-offer button{min-height:46px;width:100%;border-radius:13px}.calendar-filters{display:grid;gap:9px;margin:-4px 0 12px}.calendar-view-tabs{display:flex;gap:6px;overflow:auto;padding:2px 1px 5px}.calendar-month-picker button,.calendar-view-tabs button{flex:none;min-height:40px;padding:7px 11px;border:1px solid #e8ddec;border-radius:12px;background:#fff;color:#675578;font:inherit;font-size:12px;font-weight:750;white-space:nowrap}.calendar-view-tabs button[aria-pressed=true]{border-color:#b993d0;background:#f3eafa;color:#5c347e}.calendar-month-picker{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 8px;border-radius:13px;background:#f8f4fa}.calendar-month-picker strong{text-transform:capitalize}.calendar-month-picker button{min-width:40px;font-size:20px}.calendar-search{width:100%;min-height:44px;padding:9px 12px;border:1px solid #e2d6e9;border-radius:13px;background:#fdfbff;color:#352145;font:inherit}.calendar-month-picker button:focus-visible,.calendar-search:focus-visible,.calendar-view-tabs button:focus-visible{outline:3px solid #a47aca;outline-offset:2px}@media(max-width:760px){.calendar-view-tabs button{flex:1;padding-inline:8px;font-size:11px}.calendar-month-picker{position:sticky;top:6px;z-index:2;background:#f7f2faeF;backdrop-filter:blur(9px)}}.calendar-mode-tabs{display:flex;gap:10px;margin:18px 0 4px;padding:6px;border:1px solid #eadff1;border-radius:19px;background:#fbf8fd}.calendar-mode-tabs button{flex:1;min-height:50px;padding:10px 16px;border:1px solid transparent;border-radius:14px;background:transparent;color:#765f86;font:inherit;font-weight:750;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.calendar-mode-tabs button[aria-pressed=true]{border-color:#d7bce9;background:linear-gradient(120deg,#f4e9ff,#fff3f6);color:#593575;box-shadow:0 5px 14px #6b408f18}.calendar-mode-tabs button:active{transform:scale(.98)}.calendar-mode-tabs button:focus-visible,.cycle-log-card button:focus-visible,.cycle-log-card input:focus-visible{outline:3px solid #a47aca;outline-offset:2px}.calendar-cycle-layout{max-width:820px;margin:20px auto}.cycle-log-card{background:radial-gradient(ellipse at 100% 0,#fce9f4 0,transparent 42%),linear-gradient(140deg,#fff,#fcfaff)}.cycle-consent-panel{padding:clamp(17px,3vw,26px);border:1px solid #eed9ed;border-radius:21px;background:#fff9fd}.cycle-consent-panel h3,.cycle-history-title{margin:0 0 10px;color:#50345f}.cycle-consent-panel>p{color:#6d6073;font-size:14px;line-height:1.75}.cycle-scope-note{padding:12px 14px;border-radius:14px;background:#f7f0fb;color:#644779!important;font-weight:700}.cycle-agree{display:flex;align-items:flex-start;gap:11px;margin:17px 0;color:#4c3b57;font-size:14px;line-height:1.6}.cycle-agree input{width:22px;height:22px;flex:0 0 22px;accent-color:#a13bab}.cycle-privacy-pill{display:inline-flex;padding:9px 12px;border-radius:999px;background:#f6eafa;color:#65457a;font-size:12px;font-weight:750}.cycle-start-form{display:flex;align-items:end;gap:12px;padding:18px;border:1px solid #eedbed;border-radius:20px;background:#fff}.cycle-end-field,.cycle-start-form label{display:grid;gap:8px;flex:1;color:#574563;font-weight:700}.cycle-end-field input,.cycle-start-form input{width:100%;min-height:48px;padding:10px 12px;border:1px solid #ddcde7;border-radius:13px;background:#fdfaff;color:#3c2b47;font:inherit}.cycle-start-form .calendar-save{width:auto;min-width:180px;margin:0}.cycle-history-title{margin-top:25px}.cycle-record-list{list-style:none;padding:0;margin:0}.cycle-record-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.7fr) auto auto;align-items:center;gap:12px;padding:15px 0;border-top:1px solid #f0e6f0}.cycle-record-dates{display:grid;gap:5px;color:#574563}.cycle-record-dates>span,.cycle-record-dates>strong{font-size:13px}.cycle-ongoing{color:#a25182}.cycle-clear,.cycle-end-save,.cycle-remove{min-height:42px;padding:8px 12px;border:1px solid #e4d2eb;border-radius:12px;background:#fff;color:#63437b;font:inherit;font-size:13px;font-weight:750}.cycle-remove{width:42px;font-size:19px;color:#8b5167}.cycle-clear{margin-top:18px;background:#fff6f7;border-color:#f0d4dd;color:#8c485f}.cycle-empty{min-height:125px}.cycle-log-card .calendar-status{margin-top:14px}@media(max-width:640px){.calendar-mode-tabs{gap:6px;padding:5px;border-radius:16px}.calendar-mode-tabs button{min-height:48px;padding:8px 7px;font-size:13px}.calendar-cycle-layout{margin-top:14px}.cycle-start-form{display:grid}.cycle-start-form .calendar-save{width:100%}.cycle-record-list li{grid-template-columns:1fr auto;gap:10px}.cycle-record-dates{grid-column:1/-1}.cycle-end-field{grid-column:1}.cycle-remove{grid-column:2;grid-row:2}.cycle-end-save{grid-column:1/-1;width:100%}}@media(prefers-reduced-motion:reduce){.calendar-mode-tabs button{transition:none}}.planner-pet-card{grid-template-rows:auto auto minmax(92px,1fr) auto;min-height:232px}.planner-pet-comfort{position:relative;z-index:1;display:grid;gap:7px;margin-top:9px}.planner-pet-comfort p{margin:0;padding:9px 11px;border:1px solid #eadcf0;border-radius:15px;background:#ffffffdf;color:#594568;font-size:12px;font-weight:650;line-height:1.55}.planner-pet-comfort>div{display:flex;flex-wrap:wrap;gap:7px}.planner-device-reminders button,.planner-pet-comfort button{min-height:38px;padding:7px 11px;border:1px solid #e3d4ec;border-radius:12px;background:#fff;color:#62447a;font:inherit;font-size:11px;font-weight:750;cursor:pointer;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}.planner-device-reminders button:hover,.planner-pet-comfort button:hover{transform:translateY(-1px);background:#f8f0fc;box-shadow:0 4px 10px #4c2b6110}.planner-device-reminders button:focus-visible,.planner-pet-comfort button:focus-visible{outline:3px solid #b07ddb;outline-offset:2px}.planner-device-reminders button[aria-pressed=true],.planner-pet-comfort button[aria-pressed=true]{border-color:#c5a3d9;background:#f2e8f8}.planner-pet-is-paused .planner-pet-walker,.planner-pet-is-paused .planner-pet-walker svg{animation-play-state:paused;will-change:auto}.planner-pet-paused-note{position:relative;z-index:2;justify-self:start;padding:3px 8px;border-radius:999px;background:#f1e9f6;color:#725b80;font-size:10px;font-weight:700}.planner-device-reminders{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border:1px solid #e8dcef;border-radius:15px;background:#ffffffae}.planner-device-reminders button{flex:0 0 auto}.planner-device-reminders small{color:#756783;font-size:11px;line-height:1.55}.planner-device-reminders button:disabled{cursor:not-allowed;opacity:.55}@media(max-width:480px){.planner-pet-card{min-height:218px}.planner-pet-comfort p{font-size:12px}.planner-pet-comfort button{min-height:40px}.planner-device-reminders{align-items:flex-start;flex-direction:column;gap:7px}.planner-device-reminders button{min-height:42px}}@media(prefers-reduced-motion:reduce){.planner-device-reminders button,.planner-pet-comfort button{transition:none}.planner-pet-is-paused .planner-pet-walker{left:calc(50% - 41px)}}.planner-home-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 18px;padding:6px;border:1px solid #e8dcef;border-radius:22px;background:linear-gradient(110deg,#f4eef8,#faf6fd);box-shadow:0 8px 22px #4523650c}.planner-home-switch a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:10px 14px;border:1px solid transparent;border-radius:17px;color:#59456b;text-decoration:none;text-align:center;font-size:clamp(15px,2vw,21px);font-weight:780;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.planner-home-switch a:hover{background:#fff;transform:translateY(-1px)}.planner-home-switch a[aria-current=page]{border-color:#d7b9eb;background:linear-gradient(125deg,#8753bd,#6944a0);color:#fff;box-shadow:0 6px 0 #4d3472,0 10px 18px #7251a02c}.planner-hero{overflow:hidden;padding:clamp(18px,3vw,34px);background:radial-gradient(ellipse at 100% 5%,#efddff 0,transparent 45%),radial-gradient(ellipse at 0 100%,#fff0e6 0,transparent 44%),linear-gradient(135deg,#fff,#fcf8ff)}.planner-hero-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.planner-hero-heading h1{margin:5px 0 0;color:#30213f;font-size:clamp(28px,4vw,44px);letter-spacing:-.04em}.planner-hero .calendar-add{width:auto;min-width:154px;height:58px;padding:0 19px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #8d62bd;border-radius:19px;background:linear-gradient(135deg,#9c55b9,#6835a0);box-shadow:0 5px 0 #472568,0 12px 24px #6e39952a;color:white;font:inherit;font-size:16px;font-weight:800;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.planner-hero .calendar-add>span:first-child{font-size:29px;line-height:1}.planner-hero .calendar-add:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 7px 0 #472568,0 15px 27px #6e399532}.planner-hero .calendar-add:active{transform:translateY(3px);box-shadow:0 2px 0 #472568}.calendar-month-picker button:focus-visible,.calendar-view-tabs button:focus-visible,.planner-hero .calendar-add:focus-visible,.planner-home-switch a:focus-visible{outline:3px solid #b07ddb;outline-offset:3px}.planner-presence-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(230px,.82fr);gap:14px;margin-top:21px}.planner-clock-panel,.planner-pet-card{min-width:0;border:1px solid #e8dcef;border-radius:23px;background:#ffffffc9;box-shadow:0 9px 24px #3e23500a}.planner-clock-panel{display:grid;align-content:center;gap:8px;min-height:164px;padding:clamp(15px,2.7vw,26px)}.planner-date-label{color:#725782;font-size:clamp(13px,1.5vw,17px);font-weight:750;text-transform:capitalize}.planner-digital-clock{display:flex;align-items:baseline;white-space:nowrap;color:#342344;font-size:clamp(34px,6.4vw,74px);font-weight:780;letter-spacing:-.065em;line-height:1.08;font-variant-numeric:tabular-nums lining-nums}.planner-clock-separator{padding:0 .025em;color:#9b75b2;font-weight:500}.planner-digital-clock .planner-centiseconds{color:#9169a6;font-size:.56em;letter-spacing:-.045em}.planner-clock-panel>small{color:#887892;font-size:11px}.planner-pet-card{position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;min-height:164px;padding:13px 15px 11px;background:radial-gradient(ellipse at 80% 5%,#f6e8fd 0,transparent 62%),linear-gradient(145deg,#fff,#fff8f4)}.planner-pet-card-heading{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px;color:#573d6a;font-size:12px;font-weight:780}.planner-pet-card-heading small{padding:4px 7px;border-radius:999px;background:#f1e8f6;color:#816a8e;font-size:9px;font-weight:700}.planner-pet-track{position:relative;min-height:96px;overflow:hidden;isolation:isolate}.planner-pet-track:after{position:absolute;right:8px;bottom:8px;left:8px;height:15px;border-bottom:2px solid #e5d8eb;border-radius:50%;content:""}.planner-pet-trail{position:absolute;right:14%;bottom:21px;left:10%;overflow:hidden;color:#c2a5d2;font-size:13px;letter-spacing:5px;white-space:nowrap;opacity:.72}.planner-pet-walker{position:absolute;z-index:1;bottom:2px;left:2%;width:82px;height:88px;animation:planner-pet-stroll 7.2s ease-in-out infinite alternate;will-change:left}.planner-pet-walker svg{display:block;width:82px;height:82px;filter:drop-shadow(0 5px 4px #57376016);animation:planner-pet-bounce .32s ease-in-out infinite alternate}.planner-pet-paw{position:absolute;z-index:1;bottom:8px;left:8%;font-size:42px;opacity:.55}.planner-pet-help{align-self:end;color:#795b8d;font-size:10px;font-weight:700;text-decoration:none}.planner-privacy-line{display:flex;align-items:center;gap:7px;margin-top:12px;color:#705e7a;font-size:11px;line-height:1.6}.calendar-view-tabs button{min-height:46px;padding-inline:13px;border-radius:15px;box-shadow:0 2px 0 #3d20500a;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.calendar-view-tabs button:hover{transform:translateY(-1px);box-shadow:0 5px 12px #3d20500d}.calendar-view-tabs button:active{transform:translateY(1px)}@keyframes planner-pet-stroll{to{left:calc(98% - 82px)}}@keyframes planner-pet-bounce{to{transform:translateY(-4px) rotate(-3deg)}}@media(max-width:760px){.planner-presence-grid{grid-template-columns:1fr}.planner-clock-panel{min-height:146px}.planner-pet-card{min-height:155px}.planner-pet-track{min-height:92px}}@media(max-width:480px){.calendar-page{padding-inline:12px}.planner-home-switch{margin-bottom:13px;border-radius:19px}.planner-home-switch a{min-height:54px;padding:8px 7px;border-radius:14px;font-size:15px}.planner-hero{padding:16px;border-radius:24px}.planner-hero-heading{gap:8px}.planner-hero-heading h1{font-size:28px}.planner-hero .calendar-add{min-width:56px;width:56px;height:56px;padding:0;border-radius:18px}.planner-add-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.planner-presence-grid{gap:10px;margin-top:15px}.planner-clock-panel{min-height:128px;padding:15px 12px}.planner-date-label{font-size:13px}.planner-digital-clock{font-size:clamp(31px,9.3vw,40px);letter-spacing:-.06em}.planner-clock-panel>small{font-size:10px}.planner-pet-card{min-height:148px;padding:12px}.planner-pet-card-heading{font-size:11px}.planner-privacy-line{font-size:10px}}@media(prefers-reduced-motion:reduce){.calendar-view-tabs button,.planner-hero .calendar-add,.planner-home-switch a,.planner-pet-walker,.planner-pet-walker svg{transition:none;animation:none!important;will-change:auto}.planner-pet-walker{left:calc(50% - 41px)}}.calendar-quick-picks{min-width:0;margin:18px 0 4px;padding:10px 0 2px;border:0}.calendar-quick-picks legend{padding:0;color:#715b7e;font-size:14px;font-weight:750}.calendar-quick-picks>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.calendar-quick-picks button{min-height:42px;padding:8px 13px;border:1px solid #e7d9ee;border-radius:999px;background:#fcf9ff;color:#4c385d;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.calendar-quick-picks button:hover{transform:translateY(-1px);border-color:#a77ac4}.calendar-quick-picks button[aria-pressed=true]{border-color:#8651aa;background:#f0e3fa;color:#542d78;box-shadow:inset 0 0 0 1px #8651aa}.calendar-quick-picks button:focus-visible{outline:3px solid #bd91dc;outline-offset:2px}