:root{--cream:#faf3e7;--peach:#f5e4d0;--cream-2:#f2e9da;--card:#fffdf8;--ink:#1f3b35;--ink-2:#2b4a43;--sage:#5c6e68;--sage-light:#9db5ad;--coral:#ef7358;--coral-tint:#f3865f;--ember:#c63d1e;--ember-dark:#a83318;--coral-soft:#f7cdb9;--mist:#d9e2dc;--line:#efe5d2;--card-line:#eadfcb;--badge-brown:#7a2a14}*{box-sizing:border-box}.gm-logo,.gm-logo *{box-sizing:content-box;line-height:normal}body,html{margin:0;padding:0}body{font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}a{color:var(--ember)}.wrap{max-width:960px;margin:0 auto;padding:24px 20px 64px}.topbar{display:flex;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--card-line);background:var(--cream)}.btn,.topbar{align-items:center}.btn{display:inline-flex;justify-content:center;background:var(--ember);color:#fff;border:none;border-radius:999px;padding:13px 22px;font-size:15px;font-weight:800;font-family:Nunito,sans-serif;cursor:pointer;text-decoration:none;transition:background .15s ease}.btn:hover{background:var(--ember-dark)}.btn:disabled{opacity:.55;cursor:default}.btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--card-line);font-weight:700}.btn.ghost:hover{background:var(--peach)}.card{background:var(--card);border:1px solid var(--card-line);border-radius:18px;padding:22px;box-shadow:0 1px 2px rgba(31,59,53,.04)}.muted{color:var(--sage)}.input{width:100%;padding:13px 16px;border:2px solid var(--card-line);border-radius:14px;font-size:16px;font-family:Nunito,sans-serif;background:#fff;color:var(--ink)}.input:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-soft)}label{display:block;font-size:13px;font-weight:700;margin:0 0 6px;color:var(--ink)}.center-screen{min-height:84vh;display:flex;align-items:center;justify-content:center}h1,h2,h3{font-family:Bricolage Grotesque,Nunito,sans-serif;font-weight:800;letter-spacing:-.03em;color:var(--ink)}h1{font-size:30px}.pill{display:inline-block;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px}.pill.on{background:var(--coral-soft);color:var(--badge-brown)}.pill.off{background:var(--cream-2);color:var(--sage)}.svc{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--card-line)}.svc:last-child{border-bottom:none}.stepper{display:flex;margin:20px 0 10px}.step{flex:1 1;position:relative;text-align:center}.step:not(:first-child):before{content:"";position:absolute;top:15px;left:-50%;width:100%;height:3px;background:var(--card-line);z-index:0;border-radius:999px}.step.linkfilled:before{background:var(--ember)}.node{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;margin:0 auto 7px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;font-family:Nunito,sans-serif;background:var(--cream-2);color:var(--sage);border:2px solid var(--card-line);transition:all .25s ease}.step.done .node{background:var(--ember);color:#fff;border-color:var(--ember)}.step.current .node{background:#fff;color:var(--ember);border-color:var(--ember);box-shadow:0 0 0 4px var(--coral-soft)}.step-label{font-size:11px;font-weight:700;color:var(--sage);letter-spacing:-.01em}.step.current .step-label,.step.done .step-label{color:var(--ink)}.progress-wrap{margin:4px 0 18px}.progress-track{height:8px;background:var(--cream-2);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--ember);border-radius:999px;transition:width .45s cubic-bezier(.4,0,.2,1)}.progress-label{font-size:13px;font-weight:800;color:var(--ink);margin-top:7px;font-family:Nunito,sans-serif}.reward{display:flex;gap:10px;align-items:flex-start;background:var(--peach);border:1px solid var(--card-line);border-radius:14px;padding:13px 15px;margin-bottom:18px}.reward .tick{color:var(--ember);font-weight:900;font-size:16px;line-height:1.3}.reward .rtext{font-size:14px}.value-row{display:flex;gap:12px;align-items:flex-start;padding:10px 0}.value-row .vmark{color:var(--ember);font-weight:900}.modal-overlay{position:fixed;inset:0;background:rgba(31,59,53,.5);display:flex;align-items:center;justify-content:center;padding:18px;z-index:60}.modal{background:var(--card);border-radius:22px;max-width:520px;width:100%;max-height:88vh;overflow:auto;padding:26px 24px 24px;box-shadow:0 24px 60px rgba(31,59,53,.28);border:1px solid var(--card-line)}.modal p{line-height:1.55;font-size:15px}.modal-close{float:right;background:none;border:none;font-size:24px;cursor:pointer;color:var(--sage);line-height:1;margin:-4px -4px 0 0}.learn-pill{display:inline-flex;align-items:center;gap:7px;background:var(--peach);color:var(--ink);border:1px solid var(--card-line);border-radius:999px;padding:8px 15px;font-weight:800;font-size:13px;cursor:pointer;font-family:Nunito,sans-serif}.learn-pill:hover{background:var(--coral-soft)}.ob-badge{gap:7px;background:#fff;border:2px solid var(--ember);color:var(--ember);border-radius:999px;padding:6px 13px;font-weight:800;font-size:13.5px;white-space:nowrap;font-family:Nunito,sans-serif;vertical-align:middle}.ob-badge,.ob-badge .obc{display:inline-flex;align-items:center}.ob-badge .obc{width:18px;height:18px;border-radius:50%;background:var(--ember);color:#fff;justify-content:center;font-size:11px}.alert-approve{background:#fff;border:2px solid var(--ember);border-radius:16px;padding:18px 18px 6px;margin-bottom:22px;box-shadow:0 6px 20px rgba(198,61,30,.12)}.alert-approve .ah{display:flex;align-items:center;gap:8px;margin-bottom:6px}.alert-approve .ah h3{margin:0;color:var(--ember)}.alert-dot{width:10px;height:10px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 4px var(--coral-soft)}.appt{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--card-line);flex-wrap:wrap}.appt:last-child{border-bottom:none}.appt .t{min-width:76px;font-weight:800;font-family:Bricolage Grotesque,sans-serif}.appt .who{flex:1 1;min-width:140px}.appt .acts{display:flex;gap:8px}.mini-btn{border-radius:999px;padding:9px 15px;font-weight:800;font-size:13px;cursor:pointer;border:2px solid var(--card-line);background:#fff;color:var(--ink);font-family:Nunito,sans-serif}.mini-btn.approve{background:var(--ember);color:#fff;border-color:var(--ember)}.mini-btn.approve:hover{background:var(--ember-dark)}.mini-btn.decline{color:var(--sage)}.mini-btn:disabled{opacity:.5}.day-head{font-weight:800;font-family:Bricolage Grotesque,sans-serif;margin:20px 0 4px;color:var(--ink);font-size:15px}.day-head.today{color:var(--ember)}