:root{--bg:#f6f1ea;--surface:#fffdf9;--text:#2b2520;--muted:#7a6e63;--border:#e8dfd3;--accent:#b5562f;--accent-hover:#9c4724;--accent-soft:#f4e4d9;--danger:#a63d32;--radius:12px;--shadow:0 1px 2px #3c28140a, 0 4px 16px #3c28140d;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-heading:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;font-family:var(--font-body);color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;margin:0;overflow-x:clip}h1,h2{font-family:var(--font-heading);letter-spacing:-.01em;margin:0 0 1rem;font-weight:600}h1{font-size:1.75rem}h2{font-size:1.25rem}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-hover)}.navbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1;background:#fffdf9d9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.9rem 1.5rem;display:flex;position:sticky;top:0}.brand{color:var(--text);font-family:var(--font-heading);align-items:center;gap:.55rem;font-size:1.25rem;font-weight:600;text-decoration:none;display:flex}.brand:before{content:"";background:var(--accent);border-radius:4px;width:14px;height:14px}.brand:hover{color:var(--text)}.navbar-left{flex-wrap:wrap;align-items:center;gap:1.75rem;display:flex}.nav-links{gap:.25rem;display:flex}.nav-links a{color:var(--muted);border-radius:8px;padding:.4rem .75rem;font-size:.95rem;font-weight:500;text-decoration:none}.nav-links a:hover{color:var(--text);background:var(--bg)}.nav-links a.active{color:var(--accent-hover);background:var(--accent-soft)}@media (width<=520px){.navbar{padding:.6rem 1rem .5rem}.navbar-left{display:contents}.brand{order:1}.navbar .button.secondary{order:2;padding:.4rem .8rem}.nav-links{flex-basis:100%;order:3;justify-content:space-between;gap:.15rem}.nav-links a{white-space:nowrap;flex:0 auto;padding:.4rem .55rem;font-size:.875rem}}@media (width<=360px){.nav-links{gap:0}.nav-links a{padding:.35rem .3rem;font-size:.78rem}}.page{gap:1.5rem;max-width:820px;margin:2.5rem auto;padding:0 1rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem}.auth-card{gap:1.1rem;max-width:400px;margin:5rem auto;display:grid}.auth-card h1{margin-bottom:.25rem}.auth-card p{margin:0}.centered{text-align:center;color:var(--muted);margin-top:4rem}label{color:var(--muted);align-content:start;gap:.35rem;font-size:.85rem;font-weight:500;display:grid}input,select,textarea{font:inherit;color:var(--text);border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;min-width:0;height:2.6rem;padding:0 .7rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}input[type=date]{appearance:none;line-height:2.5rem;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left}@media (pointer:coarse),(width<=600px){input,select,textarea{font-size:16px}}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.subscription-form{gap:.9rem;width:100%;display:grid}.form-row{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.checkbox{color:var(--text);align-items:center;gap:.5rem;display:flex}.checkbox input{accent-color:var(--accent);width:1rem;height:1rem}.form-actions,.item-actions{gap:.5rem;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-header h1{margin:0}.modal{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(560px,100% - 2rem);max-height:calc(100% - 2rem);color:var(--text);padding:0;box-shadow:0 20px 50px #3c28142e}.modal::backdrop{background:#2b252059}.modal-body{padding:1.5rem 1.75rem 1.75rem}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-header h2{margin:0}.modal .form-row{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.modal .form-actions{flex-direction:row-reverse;justify-content:flex-start;margin-top:.5rem}@media (width<=600px){.modal{overscroll-behavior:contain;width:calc(100% - 1rem);max-width:none;max-height:calc(100dvh - 1rem);margin:auto}.modal-body{padding:1.25rem 1.1rem}.modal .form-row{grid-template-columns:1fr}.modal .form-actions>.button{flex:1}.modal-header{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);margin:-1.25rem -1.1rem 1rem;padding:1.1rem 1.1rem .75rem;position:sticky;top:-1.25rem}}body:has(dialog[open]){overflow:hidden}.icon-button{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:1.4rem;line-height:1}.icon-button:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);outline:none}.icon-button:hover{background:var(--bg);color:var(--text)}.notice{background:var(--accent-soft);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.6rem .8rem;font-size:.9rem;display:flex}.notice .error{flex-basis:100%}.danger-zone{border-color:#ecd2cd}.danger-zone h2{color:var(--danger)}.profile-field{gap:.25rem;display:grid}.profile-field+.profile-field{margin-top:1rem}.profile-label{color:var(--muted);font-size:.85rem;font-weight:500}.section-intro{margin:-.5rem 0 1rem}.section-intro p{margin:0}.stack-form{gap:.75rem;display:grid}.inline-field{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.inline-field label{flex:220px;max-width:320px}.inline-field .button{height:2.6rem}.hint{color:var(--accent-hover);margin:0;font-size:.85rem}.button{font:inherit;background:var(--accent);color:#fff;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s}.button:hover{background:var(--accent-hover)}.button:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);outline:none}.button:disabled{opacity:.6;cursor:default}.button.secondary{color:var(--text);border-color:var(--border);background:0 0}.button.secondary:hover{background:var(--bg)}.button.danger{color:var(--danger);background:0 0;border-color:#0000}.button.danger:hover{background:#f7e6e3}.button.danger-solid{background:var(--danger)}.button.danger-solid:hover{background:#8c3229}a.button{text-align:center;text-decoration:none;display:inline-block}a.button:hover{color:#fff}.link-button{color:var(--accent);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;justify-self:start;padding:0;font-size:.9rem;text-decoration:underline}.link-button:hover{color:var(--accent-hover)}.link-button:disabled{opacity:.6;cursor:default}.subscription-list{margin:0;padding:0;list-style:none}.subscription-item{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 0;display:flex}.subscription-item:last-child{border-bottom:none}.subscription-item.cancelled,.subscription-item.archived{opacity:.7}.item-main{overflow-wrap:anywhere;min-width:0}.dot{margin:0 .4rem}.badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.1rem .55rem;font-size:.8rem;font-weight:500;display:inline-block}.avatar{background:var(--accent-soft);width:2.5rem;height:2.5rem;color:var(--accent);font-family:var(--font-heading);border-radius:10px;flex-shrink:0;place-items:center;font-size:1.1rem;font-weight:600;display:grid}.item-name{font-weight:600}.reminder{color:var(--muted);margin-top:.15rem;font-size:.8rem}.renewal{text-align:right;margin-left:auto;font-size:.95rem}.pill{background:var(--accent-soft);color:var(--accent-hover);border-radius:999px;margin-top:.2rem;padding:.1rem .55rem;font-size:.8rem;font-weight:500;display:inline-block}.nowrap{white-space:nowrap}.muted{color:var(--muted);font-size:.9rem}.success{color:#4f7a46;margin:0;font-size:.9rem}.error{color:var(--danger);margin:0;font-size:.9rem}textarea{resize:vertical;height:auto;padding:.5rem .7rem}.field-hint{color:var(--muted);font-size:.8rem;font-weight:400}label.narrow{max-width:260px}.more-details summary{cursor:pointer;color:var(--accent);font-size:.9rem;font-weight:500}.more-details[open] summary{margin-bottom:.9rem}.more-details>*+*{margin-top:.9rem}.small{font-size:.8rem}.empty-state{text-align:center;padding:1.5rem 0}.toolbar{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-bottom:.5rem;display:grid}.toolbar-search{grid-column:1/-1}@media (width<=720px){.toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}.pagination{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:1rem;padding-top:1rem;display:flex}.actions-menu{position:relative}.actions-menu summary{border:1px solid var(--border);width:2.4rem;height:2.4rem;color:var(--muted);cursor:pointer;border-radius:8px;place-items:center;font-size:1.1rem;list-style:none;display:grid}.actions-menu summary::-webkit-details-marker{display:none}.actions-menu summary:hover,.actions-menu[open] summary{background:var(--bg);color:var(--text)}.actions-menu-list{z-index:2;border:1px solid var(--border);background:var(--surface);min-width:11rem;box-shadow:var(--shadow);border-radius:10px;padding:.3rem;display:grid;position:absolute;top:calc(100% + .3rem);right:0}.actions-menu-list button{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem .7rem;font-size:.9rem}.actions-menu-list button:hover,.actions-menu-list button:focus-visible{background:var(--bg);outline:none}.actions-menu-list button.danger{color:var(--danger)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page.wide{max-width:980px}.overview{flex-wrap:wrap;justify-content:space-between;gap:1.5rem;display:flex}.hero{align-content:start;gap:.3rem;display:grid}.tile-label{color:var(--muted);font-size:.85rem;font-weight:500}.hero-figure{font-family:var(--font-body);letter-spacing:-.02em;font-size:3.25rem;font-weight:600;line-height:1.1}.tiles{flex-wrap:wrap;gap:.75rem;display:flex}.tile{border:1px solid var(--border);background:var(--bg);border-radius:10px;align-content:start;gap:.2rem;min-width:150px;padding:.9rem 1.1rem;display:grid}.tile-value{font-size:1.5rem;font-weight:600}.dashboard-columns{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));align-items:start;gap:1.5rem;display:grid}.plain-list{margin:0;padding:0;list-style:none}.payment-row{border-bottom:1px solid var(--border);grid-template-columns:9.5rem minmax(0,1fr) auto;grid-template-areas:"date name amount";align-items:baseline;gap:.25rem .75rem;padding:.6rem 0;display:grid}.payment-row:last-child{border-bottom:none}.payment-date{grid-area:date;font-size:.9rem}.payment-name{overflow-wrap:anywhere;grid-area:name;min-width:0;font-weight:500}.payment-amount{text-align:right;font-variant-numeric:tabular-nums;grid-area:amount}@media (width<=520px){.payment-row{grid-template-columns:1fr auto;grid-template-areas:"name amount""date date"}}.price-diff{color:var(--text)}.empty-dashboard{justify-items:start;gap:.75rem;display:grid}.empty-dashboard h2,.empty-dashboard p{margin:0}.bar-group+.bar-group{margin-top:1.25rem}.bar-group-title{font-family:var(--font-body);color:var(--muted);margin:0 0 .5rem;font-size:.85rem;font-weight:600}.bar-list{gap:.75rem;display:grid}.bar-row{grid-template-columns:1fr auto;gap:.3rem .75rem;font-size:.9rem;display:grid}.bar-amount{font-variant-numeric:tabular-nums}.bar-track{background:var(--bg);border-radius:0 4px 4px 0;grid-column:1/-1;height:10px}.bar-fill{background:var(--accent);border-radius:0 4px 4px 0;height:100%;display:block}.change-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;padding:.6rem 0;display:flex}.change-row:last-child{border-bottom:none}.change-row .payment-name{flex:1}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.month-nav{align-items:center;gap:.5rem;display:flex}.month-nav .button[aria-label]{width:2.4rem;padding:.5rem 0;font-size:1.1rem;line-height:1}.month-title{text-align:center;min-width:10.5rem;margin:0}.calendar-filters{grid-template-columns:repeat(2,minmax(150px,1fr));margin:0}.month-total{margin:1rem 0 .75rem}.calendar-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:1.5rem;display:grid}@media (width<=760px){.calendar-layout{grid-template-columns:1fr}}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.weekday{color:var(--muted);text-align:center;padding-bottom:.25rem;font-size:.8rem;font-weight:500}.day{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:5.25rem;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;align-items:stretch;gap:3px;padding:.35rem;display:flex}.day:hover{border-color:#d9cbb9}.day:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);outline:none}.day.outside{cursor:default;background:0 0;border-color:#0000}.day.past{background:var(--bg);color:var(--muted)}.day.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.day-number{font-size:.85rem;font-weight:600}.day.today .day-number{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;display:grid}.chip{background:var(--accent-soft);color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:.05rem .35rem;font-size:.72rem;overflow:hidden}.day.past .chip{background:var(--border);color:var(--muted)}.more{color:var(--muted);font-size:.72rem}.count{display:none}@media (width<=600px){.day{align-items:center;min-height:3.2rem}.chip,.more{display:none}.count{background:var(--accent-soft);min-width:1.15rem;height:1.15rem;color:var(--accent-hover);border-radius:999px;place-items:center;padding:0 .2rem;font-size:.7rem;font-weight:600;display:grid}}.day-details{padding:.25rem 0}.day-title{font-size:1.05rem}@media (width<=600px){.card{padding:1.25rem}.month-nav{width:100%}.month-title{flex:1;min-width:0;font-size:1.1rem}.calendar-header .toolbar{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}.status-tag{font-size:.8rem;font-weight:500}.status-tag.ok{color:#4f7a46}.status-tag.pending{color:var(--accent-hover)}.status-tag.problem{color:var(--danger)}.status-tag.muted{color:var(--muted)}a.item-name{color:var(--text);text-decoration:none}a.item-name:hover{color:var(--accent-hover);text-decoration:underline}.back-link{font-size:.9rem;text-decoration:none}.details-price{align-items:center;gap:.6rem;margin:.4rem 0 0;display:flex}.details-list{gap:.75rem;margin:0;display:grid}.details-list div{grid-template-columns:8.5rem 1fr;gap:.75rem;display:grid}.details-list dt{color:var(--muted);font-size:.85rem}.details-list dd{overflow-wrap:anywhere;margin:0}.history-summary{margin:-.25rem 0 .75rem}.header-actions{align-items:center;gap:.5rem;display:flex}.actions-menu.text-trigger summary{width:auto;color:var(--text);padding:0 1rem;font-size:.9rem;font-weight:500}.actions-menu-list a{color:var(--text);border-radius:6px;padding:.5rem .7rem;font-size:.9rem;text-decoration:none}.actions-menu-list a:hover,.actions-menu-list a:focus-visible{background:var(--bg);outline:none}.trend-group+.trend-group{margin-top:1.5rem}.trend-plot{border-radius:8px;position:relative}.trend-plot:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);outline:none}.trend-plot svg{width:100%;height:auto;display:block;overflow:visible}.trend-grid{stroke:var(--border);stroke-width:1px}.trend-tick{fill:var(--muted);font-size:11px}.trend-area{fill:var(--accent);opacity:.1}.trend-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.trend-crosshair{stroke:var(--muted);stroke-width:1px}.trend-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.trend-tooltip{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);white-space:nowrap;pointer-events:none;border-radius:8px;gap:.1rem;padding:.4rem .6rem;font-size:.8rem;display:grid;position:absolute;top:0;transform:translate(-50%)}.trend-tooltip strong{font-size:.95rem}.trend-tooltip span{color:var(--muted)}.trend-table{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:.9rem}.trend-table th,.trend-table td{border-bottom:1px solid var(--border);text-align:left;padding:.4rem 0}.trend-table td:last-child,.trend-table th:last-child{text-align:right;font-variant-numeric:tabular-nums}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.section-heading h2{margin:0}.segmented{border:1px solid var(--border);background:var(--bg);border-radius:9px;padding:3px;display:inline-flex}.segmented button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.35rem .8rem;font-size:.85rem;font-weight:500}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #3c281414}.segmented button:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);outline:none}.forecast-total{margin:0 0 .75rem}.forecast-bar{fill:var(--accent)}.forecast-bar.active{fill:var(--accent-hover)}.refreshing{opacity:.55;transition:opacity .15s}.avatar.sm{border-radius:6px;width:1.5rem;height:1.5rem;font-size:.75rem}.avatar.lg{border-radius:12px;width:3.25rem;height:3.25rem;font-size:1.4rem}.avatar.logo{border:1px solid var(--border);background:#fff}.avatar.logo svg{width:58%;height:58%}.avatar.plus{background:var(--bg);color:var(--accent);font-family:var(--font-body)}.with-icon{align-items:center;gap:.5rem;display:inline-flex}.details-title{align-items:center;gap:.9rem;display:flex}.details-title h1{margin:0}.service-picker{gap:.9rem;display:grid}.service-grid{grid-template-columns:repeat(auto-fill,minmax(min(128px,100%),1fr));gap:.5rem;max-height:min(55vh,420px);padding:2px;display:grid;overflow-y:auto}.service-tile{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:.6rem;padding:.55rem .6rem;font-size:.88rem;display:flex}.service-tile span:last-child{-webkit-line-clamp:3;line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.service-tile:hover{background:var(--bg);border-color:#d9cbb9}.service-tile:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);outline:none}.service-tile.custom{border-style:dashed}.picked-service{align-items:center;gap:.6rem;font-weight:500;display:flex}.button.google-button{background:var(--surface);color:var(--text);border-color:var(--border);justify-content:center;align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.button.google-button:hover{color:var(--text);background:#fff;border-color:#d9cdbd}.google-logo{flex-shrink:0;width:18px;height:18px}.or-divider{color:var(--muted);align-items:center;gap:.75rem;font-size:.85rem;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--border);flex:1;height:1px}.guest-links{align-items:center;gap:.5rem;display:flex}.guest-links a:not(.button){color:var(--muted);padding:.4rem .75rem;font-size:.95rem;font-weight:500;text-decoration:none}.guest-links a:not(.button):hover,.guest-links a.active{color:var(--text)}.guest-links .button{text-decoration:none}.button.large{justify-content:center;padding:.75rem 1.4rem;font-size:1rem;text-decoration:none;display:inline-flex}.button.large:hover{color:#fff}.landing{max-width:1080px;margin:0 auto;padding:0 1.25rem}.landing-hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:3.5rem;padding-block:4.5rem 3.5rem;display:grid}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .9rem;font-size:.8rem;font-weight:600}.landing-copy h1{letter-spacing:-.02em;margin-bottom:1.25rem;font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.08}.landing-lede{color:#5a4f45;max-width:34rem;margin:0 0 2rem;font-size:1.15rem;line-height:1.6}.landing-actions{flex-wrap:wrap;gap:.75rem;margin-bottom:1.1rem;display:flex}.landing-actions .google-button{padding:.75rem 1.3rem;font-size:1rem}.landing-preview{padding-bottom:3rem;position:relative}.preview-card{padding:1.4rem 1.5rem 1.6rem}.preview-header{justify-content:space-between;align-items:baseline;margin-bottom:.75rem;display:flex}.preview-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:600}.preview-row{border-bottom:1px solid var(--border);align-items:center;gap:.85rem;padding:.7rem 0;display:flex}.preview-name{flex:1;min-width:0;font-weight:500;display:grid}.preview-amount{font-variant-numeric:tabular-nums;font-weight:500}.preview-total{justify-content:space-between;padding-top:.9rem;font-size:1.05rem;display:flex}.preview-total strong{font-variant-numeric:tabular-nums}.preview-reminder{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.8rem 1.1rem;display:flex;position:absolute;bottom:0;left:-1.5rem;box-shadow:0 6px 24px #3c28141a}.preview-reminder>span:last-child{display:grid}.preview-reminder-dot{background:var(--accent);width:.6rem;height:.6rem;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%}.landing-logos{text-align:center;padding-block:1.5rem 3.5rem}.logo-strip{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1rem;display:flex}.landing-features{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1.25rem;display:grid}.feature-card{padding:1.5rem}.feature-card h2{margin:1rem 0 .5rem;font-size:1.1rem}.feature-card p{margin:0;line-height:1.55}.feature-icon{background:var(--accent-soft);width:2.5rem;height:2.5rem;color:var(--accent);border-radius:10px;place-items:center;display:grid}.feature-icon svg{width:1.3rem;height:1.3rem}.landing-steps{padding-block:4.5rem 1rem}.landing-steps h2{text-align:center;margin-bottom:2rem;font-size:1.75rem}.landing-steps ol{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:2rem;margin:0;padding:0;list-style:none;display:grid}.landing-steps li{gap:1rem;display:flex}.landing-steps p{margin:.35rem 0 0;line-height:1.55}.step-number{border:1px solid var(--accent);width:2rem;height:2rem;color:var(--accent);font-family:var(--font-heading);border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:grid}.landing-cta{text-align:center;background:var(--accent-soft);border-radius:18px;margin-block:4rem 2rem;padding:3rem 1.5rem}.landing-cta h2{margin-bottom:.5rem;font-size:clamp(1.5rem,3vw,2rem)}.landing-cta p{margin:0 0 1.5rem}.landing-footer{border-top:1px solid var(--border);justify-content:space-between;padding-block:1.5rem 2.5rem;display:flex}@media (width<=860px){.landing-hero{grid-template-columns:1fr;gap:2.5rem;padding-block:2.5rem 2rem}.preview-reminder{left:1rem}}@media (width<=520px){.landing-actions>*{flex:100%}.guest-links{order:2}.guest-links a:not(.button){padding:.4rem}}.footer-links{gap:1.25rem;display:flex}.legal article{line-height:1.65}.legal h2{margin:1.75rem 0 .5rem}.legal p,.legal ul{margin:0 0 .9rem}.legal li{margin-bottom:.5rem}@media (width<=600px){.subscription-item{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon main"".renewal"".actions";gap:.6rem .85rem;display:grid}.subscription-item>.avatar{grid-area:icon;align-self:start}.subscription-item .item-main{grid-area:main}.subscription-item .renewal{text-align:left;grid-area:renewal;margin-left:0;font-size:.9rem}.subscription-item .renewal>div{margin-left:.4rem;display:inline}.subscription-item .item-actions{grid-area:actions}.details-list div{grid-template-columns:1fr;gap:.15rem}.change-row .payment-name{white-space:nowrap;flex:none}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tile{min-width:0}.segmented{width:100%;display:flex}.segmented button{white-space:nowrap;flex:1;padding-inline:.4rem}}@media (width<=420px){.toolbar,.calendar-header .toolbar{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-tile{text-align:center;flex-direction:column;justify-content:center;gap:.4rem;padding:.7rem .4rem}.service-tile span:last-child{overflow-wrap:break-word}.month-title{font-size:1rem}}
