@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Prata&display=swap');

:root{--paper:#fbfaf7;--surface:#fff;--ink:#28231f;--muted:#7d746d;--line:#e7e0d9;--soft:#f3eee7;--red:#b43b29;--red-dark:#913022;--green:#4f654b;--green-soft:#eef2e9;--shadow:0 18px 48px rgba(54,42,30,.09);--serif:"Prata",Georgia,serif;--sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a{tap-highlight-color:transparent}.app{min-height:100vh;display:grid;grid-template-columns:176px minmax(0,1fr);background:var(--paper)}
.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);padding:28px 15px 20px;display:flex;flex-direction:column;background:rgba(251,250,247,.96);z-index:4}.seal{width:36px;height:58px;border:2px solid var(--red);color:var(--red);display:grid;place-items:center;font:20px/1 var(--serif);writing-mode:vertical-rl;letter-spacing:3px;margin:0 0 82px 13px}.nav{display:grid;gap:8px}.nav-button{position:relative;border:0;background:transparent;display:flex;align-items:center;gap:12px;padding:11px 12px;text-align:left;cursor:pointer;color:#3f3934}.nav-button svg{width:19px;height:19px;stroke-width:1.7}.nav-button:hover,.nav-button.active{color:var(--red)}.nav-button.active:before{content:"";position:absolute;left:-15px;top:8px;bottom:8px;width:2px;background:var(--red)}.nav-button.help{margin-top:auto}.main{min-width:0}.topbar{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 28px;gap:12px}.profile{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9e2da;color:var(--red);font-weight:700}.profile small{display:block;color:var(--muted)}.content{min-height:calc(100vh - 64px)}
.calendar-layout{display:grid;grid-template-columns:minmax(520px,1fr) minmax(390px,42%);min-height:calc(100vh - 64px)}.agenda{padding:38px 26px 34px max(28px,4vw);border-right:1px solid var(--line)}h1,h2,h3,p{margin-top:0}.page-title{font:34px/1.18 var(--serif);margin-bottom:6px;letter-spacing:-.02em}.period{color:#5e5650;font:17px var(--serif);margin-bottom:23px}.filters{display:flex;gap:29px;border-bottom:1px solid var(--line);margin-bottom:17px}.filter{border:0;background:none;padding:0 1px 12px;cursor:pointer;color:#635b55;position:relative}.filter.active{color:var(--ink);font-weight:600}.filter.active:after{content:"";height:2px;background:var(--red);position:absolute;left:0;right:0;bottom:-1px}.day{margin-top:17px}.day-title{font:600 13px var(--sans);color:var(--red);margin:0 0 5px 3px}.moment{width:100%;border:0;border-top:1px solid var(--line);background:transparent;display:grid;grid-template-columns:126px 38px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:11px 9px 11px 10px;text-align:left;cursor:pointer;transition:.18s ease}.moment:last-child{border-bottom:1px solid var(--line)}.moment:hover{background:#f7f3ee}.moment.selected{background:#faeee8;border:1px solid #efd7cd;border-left:2px solid var(--red);border-radius:5px}.moment.selected+.moment{border-top-color:transparent}.moment-time{font:15px var(--serif);white-space:nowrap}.moment-icon{width:34px;height:34px;border:1px solid #ddd2c7;border-radius:50%;display:grid;place-items:center;color:var(--green)}.moment-icon svg{width:18px;height:18px}.moment.money .moment-icon{background:var(--green);border-color:var(--green);color:white}.moment-copy strong{display:block;font:14px/1.25 var(--serif);font-weight:400}.moment-copy span{display:block;color:#6d655e;font-size:12px;margin-top:2px}.chevron{color:#786f68}.chevron svg{width:16px}.completed-mark{color:var(--green);font-weight:700;margin-left:6px}.empty{padding:45px 10px;color:var(--muted);text-align:center}
.detail{position:relative;padding:38px max(28px,4vw) 34px 32px;background:#fff}.detail-close{position:absolute;right:24px;top:26px;width:36px;height:36px;border:0;background:none;cursor:pointer;color:#665e58}.detail-close svg{width:22px}.detail-title{font:27px/1.25 var(--serif);padding-right:36px;margin-bottom:25px}.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding-bottom:20px;border-bottom:1px solid var(--line)}.fact{display:flex;gap:10px;align-items:center}.fact-icon{flex:0 0 auto;width:34px;height:34px;border:1px solid #d7cec5;border-radius:50%;display:grid;place-items:center}.fact-icon svg{width:18px;height:18px}.fact strong{display:block;font-size:13px}.fact span{font-size:11px;color:var(--muted)}.instructions{padding-top:20px}.instructions h3{font:15px var(--serif);margin-bottom:10px}.instructions ol{padding-left:20px;margin:0;display:grid;gap:6px;color:#4c4540}.tip{margin:19px 0 16px;border:1px solid #dfe2d5;background:#f8f8f1;padding:12px 14px;display:flex;gap:12px;border-radius:6px}.tip svg{width:19px;flex:0 0 auto;color:var(--green)}.tip strong{display:block;font-size:12px;margin-bottom:2px}.tip p{font-size:12px;margin:0}.actions{display:grid;gap:9px}.primary,.secondary{min-height:44px;border-radius:5px;padding:10px 18px;font-weight:600;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:9px}.primary{border:1px solid var(--red);background:var(--red);color:white}.primary:hover{background:var(--red-dark)}.primary.done{background:var(--green);border-color:var(--green)}.secondary{border:1px solid var(--red);background:white;color:var(--red)}.secondary.active{border-color:var(--green);color:var(--green);background:var(--green-soft)}.actions svg{width:18px}.access-note{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;margin-top:19px}.access-note svg{width:17px}.renew{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.renew p{margin:0;color:#655d56;font-size:12px}.text-link{border:0;background:none;color:var(--red);padding:4px 0;cursor:pointer;font-weight:600;white-space:nowrap}
.placeholder-page{padding:42px max(28px,5vw)}.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}.result-stat{background:var(--paper);padding:25px}.result-stat strong{display:block;font:27px var(--serif)}.result-stat span{color:var(--muted);font-size:12px}.result-list{margin-top:28px;border-top:1px solid var(--line)}.result-row{display:flex;justify-content:space-between;gap:20px;padding:16px 2px;border-bottom:1px solid var(--line)}.result-row span{color:var(--muted)}
.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 305px;min-height:calc(100vh - 64px)}.admin-form{padding:36px max(28px,4vw)}.steps{display:flex;align-items:center;max-width:780px;margin:20px 0 28px}.step{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;white-space:nowrap}.step span{width:24px;height:24px;border:1px solid #d4cbc3;border-radius:50%;display:grid;place-items:center}.step.active{color:var(--red);font-weight:600}.step.active span{background:var(--red);color:#fff;border-color:var(--red)}.step-line{height:1px;background:var(--line);flex:1;margin:0 12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:600}.required{color:var(--red)}.field input,.field select{height:42px;border:1px solid #d8d0c8;background:#fff;border-radius:4px;padding:0 11px;outline:none}.field input:focus,.field select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(180,59,41,.08)}.field small{color:var(--muted)}.toggle-row{border:1px solid var(--line);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:4px}.toggle-label{display:flex;align-items:center;gap:9px}.toggle-label svg{width:18px}.toggle{width:38px;height:22px;border:0;border-radius:99px;background:#c6c1bb;padding:3px;cursor:pointer;transition:.2s}.toggle:after{content:"";display:block;width:16px;height:16px;background:white;border-radius:50%;box-shadow:0 1px 3px #0003;transition:.2s}.toggle.on{background:var(--green)}.toggle.on:after{transform:translateX(16px)}.form-footer{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;display:flex;justify-content:flex-end}.form-footer .primary{min-width:220px}.summary{border-left:1px solid var(--line);padding:38px 30px;background:#f9f7f3}.gift-icon{width:54px;height:54px;border-radius:50%;background:#eeeae2;display:grid;place-items:center;margin-bottom:18px;color:var(--green)}.gift-icon svg{width:27px}.summary h2{font:18px var(--serif);padding-bottom:18px;border-bottom:1px solid var(--line)}.summary h2 span{color:var(--red)}.summary-point{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:17px 0;font:14px var(--serif)}.summary-point svg{width:22px;color:var(--green)}.summary-copy{font-size:12px;color:#665e57;margin-top:30px}.success-panel{max-width:680px;margin:24px 0;border:1px solid #d5decf;background:var(--green-soft);padding:22px}.success-panel h2{font:20px var(--serif);color:var(--green)}.share-url{display:flex;gap:8px;margin-top:12px}.share-url input{flex:1;min-width:0;height:40px;border:1px solid #cbd4c5;background:white;padding:0 10px}.copy-button{border:0;background:var(--green);color:white;padding:0 15px;cursor:pointer}.back-button{border:0;background:none;color:var(--red);padding:8px 0;cursor:pointer}
.mobile-bar{display:none}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#2f2a26;color:#fff;padding:11px 16px;border-radius:5px;opacity:0;pointer-events:none;transition:.25s;z-index:30;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%,0)}
.completion-card,.feedback-card{margin:18px 0;border:1px solid var(--line);background:#faf8f4;padding:16px;border-radius:7px}.completion-card h3,.feedback-card h3{font:16px var(--serif);margin-bottom:6px}.feedback-card p{font-size:12px;color:var(--muted);margin-bottom:12px}.status-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.choice{border:1px solid #d8d0c8;background:#fff;border-radius:5px;padding:9px 11px;cursor:pointer;text-align:center}.choice:hover{border-color:var(--red)}.choice.selected{background:var(--green);border-color:var(--green);color:white}.feedback-card textarea{width:100%;min-height:70px;margin-top:10px;border:1px solid #d8d0c8;border-radius:5px;padding:10px;resize:vertical;background:#fff}.followup-note{margin:12px 0;padding:11px 13px;border-left:3px solid var(--green);background:var(--green-soft);font-size:12px;color:#455443}.result-stat.accent{background:var(--green-soft)}.period-complete{max-width:850px;margin:0 auto;padding:10vh 28px;text-align:center}.period-complete-label{display:inline-block;color:var(--red);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.period-complete h1{font:42px/1.2 var(--serif);margin:14px auto;max-width:700px}.period-complete>p{font-size:17px;color:var(--muted);max-width:660px;margin:0 auto 30px}.period-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--line);gap:1px;margin:0 auto 28px;max-width:680px}.period-summary div{background:#fff;padding:24px}.period-summary strong{display:block;font:30px var(--serif)}.period-summary span{color:var(--muted);font-size:12px}.period-complete>.primary{display:inline-flex;min-width:290px}.moment.is-done{border-left-color:var(--green)}
@media(max-width:980px){.app{grid-template-columns:78px minmax(0,1fr)}.sidebar{padding-inline:10px}.seal{margin-left:auto;margin-right:auto}.nav-button{justify-content:center}.nav-button span{display:none}.calendar-layout{grid-template-columns:1fr}.detail{position:fixed;z-index:10;right:0;top:0;bottom:0;width:min(520px,100%);overflow:auto;box-shadow:var(--shadow)}.admin-layout{grid-template-columns:1fr}.summary{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:0 18px}.gift-icon{grid-row:1/4}.summary h2{margin:0}.summary-copy{grid-column:2}.detail.hidden{display:none}}
@media(max-width:680px){.app{display:block;padding-bottom:64px}.sidebar{position:fixed;left:0;right:0;top:auto;bottom:0;height:64px;border:0;border-top:1px solid var(--line);padding:6px 10px;display:block;z-index:20}.seal,.nav-button.help{display:none}.nav{display:grid;grid-template-columns:repeat(4,1fr)}.nav-button{display:grid;place-items:center;gap:1px;padding:3px;font-size:10px}.nav-button span{display:block}.nav-button.active:before{left:25%;right:25%;top:-6px;bottom:auto;width:auto;height:2px}.nav-button svg{width:18px;height:18px}.topbar{height:54px;padding:0 16px}.calendar-layout{min-height:calc(100vh - 118px)}.agenda{padding:24px 16px}.page-title{font-size:28px}.period{font-size:15px}.filters{gap:20px;overflow:auto}.moment{grid-template-columns:92px 32px minmax(0,1fr) 14px;gap:8px;padding-inline:4px}.moment-time{font-size:13px}.moment-copy strong{font-size:13px}.detail{padding:28px 20px 90px}.detail-facts{grid-template-columns:1fr;gap:12px}.detail-title{font-size:24px}.admin-form{padding:25px 16px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.steps{overflow:hidden}.step-line{margin:0 6px}.summary{padding:25px 18px}.results-grid{grid-template-columns:1fr}.placeholder-page{padding:25px 16px}.profile div:not(.avatar){display:none}.form-footer .primary{width:100%}.renew{align-items:flex-start;flex-direction:column}.toast{bottom:82px;width:calc(100% - 32px);text-align:center}.choice-grid{grid-template-columns:1fr}.period-complete{padding:9vh 18px}.period-complete h1{font-size:32px}.period-summary{grid-template-columns:1fr}.period-complete>.primary{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
