:root{--ink:#293943;--muted:#6c7e87;--blue:#476f82;--blue-hover:#34596c;--background:#edf2f5;--line:#d7e0e5;--white:#fff;--soft:#afc6d0;--font:"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--background);font-size:15px;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible{outline:3px solid #779eaf;outline-offset:4px}input:focus{outline:3px solid #476f8220;border-color:var(--blue)}[hidden]{display:none!important}.icon{width:21px;height:21px;flex-shrink:0}.brand{display:inline-flex;align-items:center;gap:12px;font-size:22px;font-weight:700;letter-spacing:-.6px}.brand>.icon{width:38px;height:38px;padding:7px;border:1px solid #a9c0cb66;border-radius:11px}.brand-light{font-weight:400;margin-left:5px}.auth-layout{display:grid;grid-template-columns:47% 53%;min-height:100svh}.story{background:var(--ink);color:#f5f7f8;padding:44px 11% 28px;display:flex;flex-direction:column;overflow:hidden;position:relative}.story .brand{color:#f1f5f7}.story-content{margin:auto 0;padding:48px 0}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;display:flex;align-items:center;gap:10px}.story .eyebrow{color:var(--soft)}.little-line{width:24px;height:1px;background:#aec5cf}h1,h2,h3,p{margin-top:0}.story h1{font-size:clamp(42px,4.4vw,68px);letter-spacing:-2.5px;line-height:1.1;font-weight:600;margin:26px 0 22px}.story h1>span{color:var(--soft)}.story p{font-size:14px;line-height:1.9;color:#c4d1d7}.plan-illustration{margin:33px 16px 30px 0;max-width:370px;border:1px solid #72889255;background:#344650;border-radius:13px;padding:19px 21px 20px;transform:rotate(-2deg);position:relative;box-shadow:0 12px 32px #111d251f}.mini-top{font-size:9px;letter-spacing:1.4px;color:#b8cbd3;display:flex;justify-content:space-between}.mini-days,.mini-dates{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;align-items:center}.mini-days{font-size:9px;color:#9fb4c0;margin:20px 0 10px}.mini-dates{font-size:12px}.mini-dates span{width:28px;height:28px;display:grid;place-items:center;justify-self:center}.mini-dates .selected{background:#b7cdd5;color:var(--ink);border-radius:50%;font-weight:700}.mini-event{display:flex;gap:9px;align-items:center;padding:12px 10px;margin-top:17px;background:#405762;border-radius:5px;font-size:11px}.mini-event>span:last-child{margin-left:auto;color:#bfd1d8}.event-dot{width:5px;height:5px;background:#b9d7ca;border-radius:50%}.floating-note{position:absolute;right:-30px;bottom:-13px;display:flex;gap:8px;align-items:center;padding:11px 14px;border-radius:8px;color:#304c4a;background:#e0ece7;box-shadow:0 4px 16px #0002;font-size:11px;transform:rotate(4deg)}.floating-note .icon{width:16px;height:16px}.story-features{display:flex;gap:23px;color:#c5d3d9;margin-top:39px;font-size:11px}.story-features span{display:flex;align-items:center;gap:7px}.story-features .icon{width:17px;height:17px}.story-footer{display:flex;align-items:center;justify-content:space-between;color:#a9bec8;font-size:10px}.tiny-house{opacity:.6}.auth-panel{padding:45px 10% 26px;display:flex;flex-direction:column}.auth-box{width:100%;max-width:405px;margin:auto; padding:48px 0}.auth-kicker{color:#74848d;letter-spacing:1.6px;margin-bottom:27px;font-size:9px}.auth-kicker .icon{width:17px;height:17px}.auth-box h2{font-size:34px;font-weight:600;letter-spacing:-1.1px;margin-bottom:12px}.auth-subtitle{color:var(--muted);font-size:14px;margin-bottom:36px;line-height:1.7}.field{margin-bottom:22px}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.field input{border:1px solid #bdcbd4;background:#f5f8fa;width:100%;min-height:49px;padding:12px 15px;border-radius:7px;color:var(--ink);font-size:14px;transition:border-color .2s,box-shadow .2s}.field input::placeholder{color:#94a1aa}.password-wrap{position:relative}.password-wrap input{padding-right:50px}.reveal-password{position:absolute;right:3px;top:3px;bottom:3px;width:43px;background:none;border:0;color:#7a8b95;display:grid;place-items:center}.field small{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:8px}.primary-button{display:flex;align-items:center;justify-content:space-between;background:var(--blue);border:0;border-radius:7px;color:white;padding:15px 18px;min-height:51px;font-size:13px;font-weight:600;width:100%;margin-top:29px;transition:background .2s}.primary-button:hover{background:var(--blue-hover)}.switch-auth{text-align:center;font-size:12px;color:var(--muted);margin:23px 0 34px}.switch-auth button{background:none;border:0;padding:3px;color:var(--blue);font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.privacy-note{display:flex;justify-content:center;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:23px;font-size:11px;color:#7a8992}.privacy-note .icon{height:14px;width:14px}.auth-panel footer{display:flex;justify-content:space-between;gap:16px;font-size:10px;color:#82909a}.form-error{background:#f9e8e6;border:1px solid #e8bfbb;border-radius:7px;padding:12px;font-size:13px;line-height:1.5;color:#933b32;margin:15px 0}.app-header{height:90px;background:var(--ink);color:#e8eff3;display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,calc((100vw - 1280px)/2));gap:20px}.user-menu{display:flex;gap:12px;align-items:center}.avatar{width:37px;height:37px;border-radius:50%;background:#526b79;display:grid;place-items:center;font-weight:600}.user-name{font-size:13px;max-width:220px;overflow-wrap:anywhere}.user-name small{display:block;color:#b2c3cd;font-size:10px;margin-top:4px}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);background:transparent;border-radius:7px;font-size:24px;line-height:1}.user-menu .icon-button{margin-left:13px;color:#bacbd3;border-color:#52656f}.app-shell{max-width:1280px;margin:auto;padding:0 30px}.main-nav{display:flex;gap:32px;border-bottom:1px solid var(--line);padding-top:15px}.main-nav a{display:flex;align-items:center;gap:9px;padding:21px 3px 19px;font-size:13px;color:var(--muted);border-bottom:3px solid transparent}.main-nav a[aria-current]{color:var(--blue);border-color:var(--blue);font-weight:600}.main-nav a:hover{color:var(--ink)}.main-nav .icon{width:18px;height:18px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:37px 0 29px;gap:20px}.page-heading .eyebrow{font-size:9px;color:#84949c;letter-spacing:1.6px}.page-heading h1{font-weight:600;font-size:30px;letter-spacing:-.9px;margin:10px 0 9px}.page-heading p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.date-badge{border:1px solid var(--line);padding:11px 14px;border-radius:7px;font-size:12px;color:var(--muted);white-space:nowrap}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:23px;align-items:start}.calendar-card,.day-card{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;padding:24px;gap:10px}.calendar-toolbar h2{font-size:19px;margin:0;font-weight:600;text-transform:capitalize;letter-spacing:-.4px}.calendar-actions{display:flex;gap:7px}.text-button{border:1px solid var(--line);border-radius:6px;background:white;font-size:11px;padding:8px 12px;margin-right:7px}.calendar-actions button:hover{background:var(--background)}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{background:#f7f9fa;border-top:1px solid #e7edef;border-bottom:1px solid #e7edef}.weekdays span{padding:12px 0;font-size:10px;font-weight:600;text-align:center;color:var(--muted)}.calendar-day{height:80px;background:#fff;border:0;border-right:1px solid #e7edef;border-bottom:1px solid #e7edef;text-align:left;padding:10px;display:flex;align-items:flex-start;font-size:12px;position:relative}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-child(7n),.calendar-day:nth-child(7n - 1){background:#fafbfc}.calendar-day span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%}.calendar-day.outside{color:#aebac0}.calendar-day.is-today span{background:var(--blue);color:white;font-weight:600}.calendar-day.is-selected{box-shadow:inset 0 0 0 2px #99b2c0;background:#f3f7f9}.calendar-day:hover{background:#edf3f6}.calendar-day:focus-visible{outline-offset:-4px;z-index:1}.calendar-legend{display:flex;align-items:center;gap:7px;padding:16px 22px;font-size:10px;color:var(--muted)}.legend-dot{width:7px;height:7px;border-radius:50%;background:var(--blue)}.legend-outline{width:8px;height:8px;border:1px solid #99b2c0;margin-left:15px}.day-card{padding:25px 22px}.day-card .eyebrow{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.day-card h2{font-size:20px;line-height:1.4;font-weight:600;margin:13px 0 30px}.empty-icon{width:61px;height:61px;border-radius:18px;background:#edf3f6;display:grid;place-items:center;color:#658496;margin:0 0 21px}.empty-icon .icon{width:29px;height:29px}.day-card h3{font-size:16px;line-height:1.5;font-weight:600;margin-bottom:10px}.day-card p{font-size:12px;line-height:1.85;color:var(--muted)}.gentle-note{border-top:1px solid #e6ecef;padding-top:20px;margin-top:25px;font-size:11px;line-height:1.8;color:#8b999f}.app-footer{display:flex;justify-content:space-between;padding:28px 0;font-size:10px;color:#8c9aa2}.placeholder-card{background:white;border:1px solid var(--line);border-radius:11px;padding:64px 24px;text-align:center;min-height:400px}.placeholder-card .empty-icon{margin:0 auto 20px}.status-pill{display:inline-block;background:#edf2f5;color:#728995;padding:5px 9px;border-radius:20px;font-size:10px}.placeholder-card h2{font-size:25px;font-weight:600;letter-spacing:-.5px;margin:20px 0 13px}.placeholder-card p{max-width:430px;margin:0 auto;color:var(--muted);font-size:14px;line-height:1.9}.back-link{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font-size:13px;font-weight:600;margin-top:26px}.skip-link{position:fixed;top:-100px;left:10px;background:white;padding:14px;z-index:9}.skip-link:focus{top:10px}@media(min-width:1500px){.story{padding-left:15%;padding-right:13%}}@media(max-width:1050px){.story{padding-left:9%;padding-right:9%}.auth-panel{padding-left:9%;padding-right:9%}.story h1{font-size:48px}.story-features{gap:15px}.story-features span{font-size:10px}.calendar-layout{grid-template-columns:minmax(0,1fr) 235px}.day-card{padding:23px 18px}.auth-panel footer{flex-direction:column;gap:6px}.calendar-day{height:70px;padding:7px}}@media(max-width:760px){.auth-layout{grid-template-columns:1fr}.story{padding:25px 7%}.story-content{padding:35px 0 10px}.story-content>.eyebrow,.plan-illustration,.story-features,.story-footer{display:none}.story h1{font-size:38px;margin:0 0 13px;letter-spacing:-1.5px}.story h1 br:first-child{display:none}.story h1 br:first-child:after{content:' '}.story p{font-size:12px;margin:0}.story .brand{font-size:20px}.auth-panel{padding:0 7% 22px}.auth-box{max-width:440px;padding:36px 0}.auth-kicker{margin-bottom:20px}.auth-box h2{font-size:29px}.auth-subtitle{margin-bottom:26px}.auth-panel footer{flex-direction:row;font-size:9px}.app-header{height:76px;padding:0 20px}.app-header .brand{font-size:19px;gap:8px}.app-header .brand>.icon{width:33px;height:33px}.user-name{display:none}.user-menu{gap:6px}.user-menu .icon-button{margin-left:3px}.app-shell{padding:0 18px}.main-nav{gap:0;justify-content:space-around;padding-top:5px}.main-nav a{font-size:12px;padding:20px 6px 16px;gap:7px}.page-heading{margin:29px 0 23px}.page-heading h1{font-size:25px}.date-badge{display:none}.calendar-layout{grid-template-columns:1fr;gap:17px}.calendar-toolbar{padding:18px 12px}.calendar-toolbar h2{font-size:17px}.calendar-actions{gap:5px}.calendar-actions .icon-button{width:31px;height:33px}.text-button{margin:0;padding:7px 9px}.calendar-day{height:63px;padding:6px 4px}.calendar-day span{height:27px;width:27px}.weekdays span{font-size:9px}.calendar-legend{padding:15px 12px}.day-card h2{margin-bottom:20px}.day-card .empty-icon{display:none}.day-card p{margin-bottom:0}.gentle-note{margin-top:17px;padding-top:15px}.app-footer{font-size:9px;gap:20px}.placeholder-card{padding:45px 20px}.placeholder-card h2{font-size:23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Wider calendar workspace, with room for all six calendar rows on Full HD. */
.calendar-shell{max-width:none;padding-inline:60px}
.calendar-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0}
.calendar-page-toolbar .primary-button{width:auto;min-height:42px;margin:0;justify-content:center;gap:9px;padding:10px 16px}
.calendar-page-toolbar .date-badge{display:block}
.calendar-shell .calendar-layout{grid-template-columns:minmax(0,1fr) 310px}
.event-dialog{width:min(480px,calc(100% - 36px));padding:26px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:white;box-shadow:0 24px 80px #132a3b33}
.event-dialog::backdrop{background:#172c3b77}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.dialog-heading h2{font-size:22px;font-weight:600;letter-spacing:-.5px;margin:0}
.event-dialog p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
@media(min-width:1060px){.calendar-shell .calendar-day{height:clamp(64px,calc((100dvh - 530px)/6),105px)}}
@media(max-width:1050px){.calendar-shell{padding-inline:30px}.calendar-shell .calendar-layout{grid-template-columns:minmax(0,1fr) 235px}}
@media(max-width:760px){.calendar-shell{padding-inline:18px}.calendar-shell .calendar-layout{grid-template-columns:1fr}.calendar-page-toolbar{margin:18px 0;gap:10px}.calendar-page-toolbar .primary-button{font-size:12px;padding:10px}.calendar-page-toolbar .date-badge{font-size:10px;padding:10px 8px}}
