:root{--green-dark:#1a3d2b;--green-mid:#2d6a4f;--green-light:#52b788;--green-pale:#d8f3dc;--green-soft:#e8f5ee;--gold:#e9a11a;--gold-dark:#d4910f;--gold-light:#fff0c8;--gold-pale:#fff8e7;--gold-ink:#8b6914;--coral:#e76f51;--cream:#fdfaf4;--cream-dark:#f4eed8;--text-dark:#1a1a1a;--text-mid:#4a4a4a;--text-light:#888;--line:#e1ebe5;--line-soft:#efefe8;--white:#fff;--red:#c0392b;--red-soft:#fde2e2;--shadow-soft:0 4px 20px #2d6a4f14;--shadow-mid:0 8px 32px #2d6a4f24;--radius-sm:8px;--radius-md:14px;--radius-lg:20px}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{font-family:var(--font-inter), "Inter", -apple-system, BlinkMacSystemFont, sans-serif;background:var(--cream);color:var(--text-dark);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:15px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-playfair), "Playfair Display", Georgia, serif;color:var(--green-dark);margin:0;line-height:1.25}a{color:var(--green-mid);text-decoration:none}img{max-width:100%;display:block}.mockup-bar{color:#6b4f00;text-align:center;background:#fff8e1;border-bottom:1px solid #f0d878;padding:8px 12px;font-size:.82rem}.mockup-bar a{color:#6b4f00;margin-left:8px;text-decoration:underline}.page{background:var(--cream);max-width:520px;min-height:100vh;margin:0 auto;padding-bottom:96px;position:relative}@media (min-width:600px){.page{box-shadow:0 0 40px #0000000f}}.appbar{background:var(--cream);z-index:20;border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex;position:sticky;top:0}.appbar .ic-btn{background:var(--white);border:1px solid var(--line);width:40px;height:40px;color:var(--green-dark);border-radius:50%;place-items:center;font-size:18px;display:grid}.appbar .title{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);font-size:18px;font-weight:600}.section-title{text-transform:uppercase;letter-spacing:.7px;color:var(--text-light);margin:18px 18px 8px;font-size:11px;font-weight:700}.card{background:var(--white);border-radius:var(--radius-md);border:1px solid var(--line);box-shadow:var(--shadow-soft);margin:0 18px 12px;padding:16px}.row{justify-content:space-between;align-items:center;gap:8px;display:flex}.pill{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.btn{border-radius:var(--radius-md);background:var(--green-mid);color:#fff;width:100%;font-size:15px;font-weight:600;font-family:var(--font-inter), "Inter", sans-serif;text-align:center;cursor:pointer;border:none;padding:14px 18px;text-decoration:none;display:inline-block}.btn-ghost{background:var(--white);color:var(--text-dark);border:1px solid var(--line)}.greeting{align-items:center;gap:12px;padding:8px 18px 14px;display:flex}.avatar{background:linear-gradient(135deg, var(--gold), var(--coral));color:#fff;border-radius:50%;place-items:center;width:46px;height:46px;font-size:17px;font-weight:700;display:grid}.greeting h2{font-size:18px}.greeting .muted{font-size:12px}.plan-card{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg, var(--green-dark) 0%, var(--green-mid) 100%);box-shadow:var(--shadow-mid);margin:0 18px 14px;padding:18px 20px;position:relative;overflow:hidden}.plan-card:after{content:"";background:radial-gradient(circle,#e9a11a40,#0000 70%);border-radius:50%;width:160px;height:160px;position:absolute;top:-50px;right:-50px}.plan-card .label{text-transform:uppercase;letter-spacing:.6px;color:var(--gold-light);font-size:11px;font-weight:600}.plan-card .name{font-family:var(--font-playfair), "Playfair Display", serif;color:#fff;margin-top:4px;font-size:26px;font-weight:700}.plan-card .meta{opacity:.92;margin-top:4px;font-size:13px}.plan-card .due{z-index:1;justify-content:space-between;align-items:flex-end;margin-top:16px;display:flex;position:relative}.plan-card .upgrade{background:var(--gold);color:var(--green-dark);border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700;text-decoration:none}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 14px;display:grid}.stat{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:14px}.prog-grid{grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 14px;display:grid}.prog{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);flex-direction:column;gap:4px;padding:14px;display:flex}.prog .ic-circle{background:var(--green-soft);width:36px;height:36px;color:var(--green-mid);border-radius:10px;place-items:center;font-size:18px;display:grid}.bottom-nav{background:var(--white);border-top:1px solid var(--line);width:100%;max-width:520px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));z-index:30;justify-content:space-around;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 16px #2d6a4f1a}.bottom-nav a{color:var(--text-light);flex-direction:column;flex:1;align-items:center;gap:2px;font-size:10px;font-weight:600;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--green-mid)}.bottom-nav a .ic{font-size:20px}.gap-row{grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 12px;display:grid}.gap-row .btn{padding:12px;font-size:13px}.status-banner{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow-soft);align-items:center;gap:12px;margin:0 18px 12px;padding:14px 16px;display:flex}.status-banner .dot{background:var(--green-light);border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 4px #52b7882e}.status-banner.bad{background:#fff5f3;border-color:#f3c7c0}.status-banner.bad .dot{background:var(--red);box-shadow:0 0 0 4px #c0392b26}.status-banner .body{flex:1}.status-banner .body .t{color:var(--green-dark);font-size:13px;font-weight:700}.status-banner.bad .body .t{color:var(--red)}.status-banner .body .s{color:var(--text-mid);margin-top:2px;font-size:12px}.status-banner .reconnect{background:var(--green-mid);color:#fff;white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700;text-decoration:none}.status-banner.bad .reconnect{background:var(--red)}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 14px;display:grid}.kpi{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:14px;position:relative;overflow:hidden}.kpi .ic-tag{background:var(--green-soft);width:30px;height:30px;color:var(--green-mid);border-radius:8px;place-items:center;font-size:14px;display:grid;position:absolute;top:12px;right:12px}.kpi .label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-light);font-size:11px;font-weight:700}.kpi .value{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);margin-top:6px;font-size:22px;font-weight:700;line-height:1.1}.kpi .trend{margin-top:4px;font-size:11px;font-weight:600}.kpi .trend.up{color:var(--green-mid)}.kpi .trend.down{color:var(--red)}.kpi .trend.flat{color:var(--text-light)}.week-strip{grid-template-columns:repeat(7,1fr);gap:6px;padding:0 18px 14px;display:grid}.week-strip .day{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);text-align:center;color:var(--text-dark);padding:8px 4px 10px;text-decoration:none}.week-strip .day .dow{text-transform:uppercase;color:var(--text-light);letter-spacing:.4px;font-size:10px;font-weight:700}.week-strip .day .num{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);margin-top:3px;font-size:18px;font-weight:700;line-height:1}.week-strip .day .ct{color:var(--green-mid);margin-top:5px;font-size:10px;font-weight:700}.week-strip .day.today{background:var(--green-soft);border-color:var(--green-mid)}.week-strip .day.full{background:var(--gold-pale);border-color:var(--gold-light)}.week-strip .day.full .ct{color:var(--gold-ink)}.week-strip .day.empty .ct{color:var(--text-light)}.dist-row{grid-template-columns:80px 1fr 50px;align-items:center;gap:10px;padding:5px 0;font-size:12px;display:grid}.dist-row .lab{color:var(--text-mid);font-weight:600}.dist-row .bar{background:var(--green-soft);border-radius:999px;height:8px;position:relative;overflow:hidden}.dist-row .bar>i{background:linear-gradient(90deg, var(--green-light), var(--green-mid));border-radius:999px;height:100%;display:block}.dist-row .bar.gold>i{background:linear-gradient(90deg, var(--gold), var(--gold-dark))}.dist-row .bar.silver>i{background:linear-gradient(90deg,#b0b0b0,#888)}.dist-row .num{text-align:right;color:var(--text-dark);font-weight:700;font-family:var(--font-playfair), "Playfair Display", serif}.cal-head{color:var(--text-light);text-align:center;text-transform:uppercase;letter-spacing:.4px;grid-template-columns:repeat(7,1fr);gap:4px;padding:0 18px 4px;font-size:10px;font-weight:700;display:grid}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;padding:0 18px 14px;display:grid}.cal-cell{aspect-ratio:1;background:var(--white);border:1px solid var(--line);text-align:left;color:var(--text-dark);border-radius:8px;flex-direction:column;padding:5px 4px;font-size:12px;text-decoration:none;display:flex;position:relative}.cal-cell .d{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);font-size:13px;font-weight:700;line-height:1}.cal-cell .b{color:var(--green-mid);background:var(--green-soft);border-radius:999px;align-self:flex-start;margin-top:auto;padding:1px 5px;font-size:10px;font-weight:700}.cal-cell.muted{background:var(--cream)}.cal-cell.muted .d{color:var(--text-light)}.cal-cell.today{background:var(--green-soft);border-color:var(--green-mid)}.cal-cell.full{background:var(--gold-pale);border-color:var(--gold-light)}.cal-cell.full .b{background:var(--gold-light);color:var(--gold-ink)}.cal-cell.off{background:#f5f5f0}.cal-cell.off .b{color:var(--text-light);background:#e6e6db}.cal-toolbar{justify-content:space-between;align-items:center;padding:0 18px 10px;display:flex}.cal-toolbar .month{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);font-size:18px;font-weight:700}.cal-toolbar .nav{gap:6px;display:flex}.cal-toolbar .nav a{background:var(--white);border:1px solid var(--line);width:32px;height:32px;color:var(--green-dark);border-radius:8px;place-items:center;display:grid}.slot-list{padding:4px 0}.slot-row{border-bottom:1px solid var(--line-soft);grid-template-columns:80px 1fr auto;align-items:center;gap:12px;padding:10px 0;font-size:13px;display:grid}.slot-row:last-child{border-bottom:none}.slot-row .when{color:var(--green-dark);font-weight:700;font-family:var(--font-playfair), "Playfair Display", serif}.slot-row .who{color:var(--text-mid);font-size:12px}.slot-row .who.empty{color:var(--green-mid);font-weight:600}.search-bar{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:8px;margin:0 18px 10px;padding:10px 14px;display:flex}.search-bar input{color:var(--text-dark);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14px}.search-bar .ic-s{color:var(--text-light)}.chip-row{flex-wrap:wrap;gap:6px;padding:0 18px 10px;display:flex}.chip{background:var(--white);border:1px solid var(--line);color:var(--text-mid);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none}.chip.active{background:var(--green-mid);color:#fff;border-color:var(--green-mid)}.chip.gold.active{background:var(--gold);color:var(--green-dark);border-color:var(--gold)}.seg-tabs{background:var(--white);border:1px solid var(--line);border-radius:999px;gap:0;margin:0 18px 12px;padding:0;display:flex;overflow:hidden}.seg-tabs .seg{text-align:center;color:var(--text-mid);cursor:pointer;letter-spacing:.3px;flex:1;padding:9px 8px;font-size:12px;font-weight:700;text-decoration:none}.seg-tabs .seg.active{background:var(--green-dark);color:#fff}.bar-chart{align-items:flex-end;gap:6px;height:110px;padding:12px 4px 8px;display:flex}.bar-chart .bar{background:var(--green-soft);border-radius:6px 6px 0 0;flex:1;justify-content:center;align-items:flex-end;display:flex;position:relative}.bar-chart .bar>i{background:linear-gradient(180deg, var(--green-light), var(--green-mid));border-radius:6px 6px 0 0;width:100%;display:block}.bar-chart .bar.gold>i{background:linear-gradient(180deg, var(--gold-light), var(--gold))}.bar-chart .bar.this>i{box-shadow:0 0 0 2px #2d6a4f66}.bar-labels{color:var(--text-light);text-align:center;text-transform:uppercase;letter-spacing:.4px;grid-template-columns:repeat(12,1fr);gap:6px;padding:0 4px 4px;font-size:9px;font-weight:700;display:grid}.txn-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:12px 0;display:flex}.txn-row:last-child{border-bottom:none}.txn-row .ic-tag{background:var(--green-soft);width:36px;height:36px;color:var(--green-mid);border-radius:10px;flex-shrink:0;place-items:center;font-size:16px;display:grid}.txn-row .ic-tag.gold{background:var(--gold-light);color:var(--gold-ink)}.txn-row .ic-tag.silver{color:#555;background:#ececec}.txn-row .body{flex:1;min-width:0}.txn-row .body .n{color:var(--text-dark);font-size:14px;font-weight:700}.txn-row .body .s{color:var(--text-light);margin-top:2px;font-size:12px}.txn-row .amt{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);text-align:right;font-size:16px;font-weight:700}.txn-row .amt small{color:var(--text-light);font-size:10px;font-weight:400;font-family:var(--font-inter), "Inter", sans-serif;display:block}.log-list{padding:4px 0}.log-row{border-bottom:1px dashed var(--line-soft);grid-template-columns:64px 16px 1fr;align-items:baseline;gap:8px;padding:6px 0;font-family:ui-monospace,SF Mono,monospace;font-size:12px;display:grid}.log-row:last-child{border-bottom:none}.log-row .ts{color:var(--text-light);font-size:11px}.log-row .lv{color:var(--green-mid);text-transform:uppercase;font-size:10px;font-weight:700}.log-row .lv.warn{color:var(--gold-ink)}.log-row .lv.err{color:var(--red)}.log-row .msg{color:var(--text-dark);word-break:break-word;font-size:12px}.fn-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:12px 0;display:flex}.fn-row:last-child{border-bottom:none}.fn-row .dot{background:var(--green-light);border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 3px #52b7882e}.fn-row .dot.warn{background:var(--gold);box-shadow:0 0 0 3px #e9a11a2e}.fn-row .dot.err{background:var(--red);box-shadow:0 0 0 3px #c0392b2e}.fn-row .body{flex:1;min-width:0}.fn-row .body .n{color:var(--text-dark);font-family:ui-monospace,SF Mono,monospace;font-size:13px;font-weight:700}.fn-row .body .s{color:var(--text-light);margin-top:2px;font-size:11px}.fn-row .meta{color:var(--text-light);text-align:right;flex-shrink:0;font-size:10px;font-weight:600}.form-row{padding:0 18px 12px}.form-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.form-input,.form-textarea,.form-select{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius-sm);width:100%;font-size:14px;font-family:var(--font-inter), "Inter", sans-serif;color:var(--text-dark);outline:none;padding:10px 12px}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--green-mid);box-shadow:0 0 0 3px #52b7881f}.form-textarea{resize:vertical;min-height:64px}.form-grid-2{grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 12px;display:grid}.form-grid-3{grid-template-columns:1fr 1fr 1fr;gap:8px;padding:0 18px 12px;display:grid}.meal{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);margin:0 18px 10px;padding:14px 16px}.meal h4{font-size:13px;font-family:var(--font-inter), "Inter", sans-serif;text-transform:uppercase;letter-spacing:.6px;color:var(--green-mid);margin-bottom:8px;font-weight:700}.meal .when{color:var(--text-light);float:right;font-size:11px;font-weight:600}.menu-list{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);margin:0 18px 12px;overflow:hidden}.menu-list a{color:var(--text-dark);border-bottom:1px solid var(--line-soft);align-items:center;gap:14px;padding:14px 16px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.menu-list a:last-child{border-bottom:none}.menu-list .ic{background:var(--green-soft);width:32px;height:32px;color:var(--green-mid);border-radius:8px;place-items:center;font-size:16px;display:grid}.menu-list .arrow{color:var(--text-light);margin-left:auto;font-size:18px}.profile-head{text-align:center;padding:14px 18px 18px}.profile-head h2{font-size:22px}.profile-head .meta{color:var(--text-mid);margin-top:4px;font-size:13px}.pt-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:12px 0;display:flex}.pt-row:last-child{border-bottom:none}.pt-row .time{text-align:center;background:var(--green-soft);border-radius:var(--radius-sm);flex-shrink:0;width:56px;padding:6px 0}.pt-row .time .h{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);font-size:15px;font-weight:700;line-height:1}.pt-row .time .ap{text-transform:uppercase;color:var(--green-mid);letter-spacing:.4px;margin-top:2px;font-size:9px;font-weight:700}.pt-row .body{flex:1;min-width:0}.pt-row .body .n{color:var(--text-dark);font-size:14px;font-weight:700}.pt-row .body .s{color:var(--text-light);margin-top:2px;font-size:12px}.pt-row .actions{align-items:center;gap:6px;display:flex}.pt-row .mini{background:var(--white);border:1px solid var(--line);color:var(--green-mid);border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700;text-decoration:none}.pt-row .mini.primary{background:var(--green-mid);color:#fff;border-color:var(--green-mid)}.muted{color:var(--text-light);font-size:13px}.hint{color:var(--text-light);font-size:12px}.text-center{text-align:center}.mt-2{margin-top:8px}.mt-3{margin-top:14px}.mt-4{margin-top:20px}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.row>*{min-width:0}.section{padding:0 18px 16px}.pill.gold{background:var(--gold-light);color:var(--gold-ink)}.pill.silver{color:#555;background:#ececec}.pill.platinum{color:#3730a3;background:#e0e5ff}.pill.green{background:var(--green-pale);color:var(--green-dark)}.pill.red{background:var(--red-soft);color:var(--red)}.pill.amber{background:var(--gold-light);color:var(--gold-ink)}.pill.blue{color:#3730a3;background:#e0e5ff}.pill.grey{color:#555;background:#ececec}.btn-gold{background:var(--gold);color:var(--green-dark)}.btn-gold:hover{background:var(--gold-dark);color:var(--green-dark)}.btn-outline{background:var(--white);color:var(--green-mid);border:1.5px solid var(--green-mid)}.btn-outline:hover{background:var(--green-soft);color:var(--green-dark)}.auth-page{background:var(--cream);flex-direction:column;max-width:520px;min-height:100vh;margin:0 auto;padding:24px 22px 32px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--green-mid), var(--green-light));width:84px;height:84px;color:var(--gold-light);font-family:var(--font-playfair), "Playfair Display", Georgia, serif;box-shadow:var(--shadow-mid);border-radius:24px;place-items:center;margin:32px auto 18px;font-size:28px;font-weight:700;display:grid}.auth-page h1{text-align:center;font-size:26px}.auth-page .lede{text-align:center;color:var(--text-mid);margin-top:8px;font-size:14px}.input-wrap{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:8px;margin-top:24px;padding:14px 16px;display:flex}.input-wrap:focus-within{border-color:var(--green-mid);box-shadow:0 0 0 3px #52b78826}.input-wrap select,.input-wrap input{color:var(--text-dark);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:16px}.input-wrap select{color:var(--green-dark);flex:none;font-weight:600}.input-wrap .cc-wrap{flex:none;align-items:center;display:inline-flex;position:relative}.input-wrap .cc-display{color:var(--green-dark);white-space:nowrap;pointer-events:none;align-items:center;gap:6px;padding-right:14px;font-weight:600;line-height:1;display:inline-flex;position:relative}.input-wrap .cc-display:after{content:"";opacity:.55;border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;margin-left:6px;transform:translateY(-2px)rotate(45deg)}.input-wrap .cc-wrap select{opacity:0;cursor:pointer;appearance:none;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.input-wrap input{min-width:0}.otp-row{justify-content:center;gap:10px;margin-top:28px;display:flex}.otp-box{border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--white);text-align:center;width:48px;height:56px;color:var(--green-dark);font-size:22px;font-weight:700;font-family:var(--font-inter), "Inter", sans-serif;outline:none;padding:0}.otp-box:focus{border-color:var(--green-mid);box-shadow:0 0 0 3px #52b7882e}.otp-box.filled{border-color:var(--green-mid);background:var(--green-soft)}.tos{text-align:center;color:var(--text-light);margin-top:14px;font-size:11px;line-height:1.5}.resend{text-align:center;color:var(--text-light);margin-top:10px;font-size:13px}.resend a{color:var(--green-mid);cursor:pointer;font-weight:600}.auth-foot{text-align:center;color:var(--text-mid);margin-top:auto;padding-top:20px;font-size:13px}.auth-foot a{color:var(--gold);font-weight:600}.err-msg{color:var(--red);text-align:center;min-height:18px;margin-top:10px;font-size:13px}.demo-banner{background:var(--gold-pale);border:1px solid var(--gold-light);color:var(--gold-ink);border-radius:10px;margin-top:12px;padding:10px 14px;font-size:12px}.demo-banner code{letter-spacing:1px;font-weight:700}.plan-card .due{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:16px;display:flex;position:relative}.plan-card .due .big{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--gold-light);font-size:28px;font-weight:700;line-height:1}.plan-card .due small{opacity:.85;margin-top:4px;font-size:11px;display:block}.plan-card .upgrade{background:var(--gold);color:var(--green-dark);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.stat .delta{margin-top:4px;font-size:11px;font-weight:600}.delta.up{color:var(--green-mid)}.delta.down{color:var(--red)}.stat .v{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);font-size:24px;font-weight:700}.stat .k{color:var(--text-mid);margin-top:2px;font-size:12px}.next-class{background:var(--green-soft);border:1px solid var(--green-pale);border-radius:var(--radius-md);margin:0 18px 14px;padding:16px}.next-class .when{color:var(--green-mid);text-transform:uppercase;letter-spacing:.6px;font-size:11px;font-weight:700}.next-class h3{margin-top:4px;font-size:17px}.next-class .slot{color:var(--text-mid);margin-top:2px;font-size:13px}.next-class .join{background:var(--green-mid);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;padding:10px 16px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.prog .ic-circle{border-radius:10px;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.prog .name{color:var(--green-dark);margin-top:8px;font-size:14px;font-weight:600}.prog .status{color:var(--text-light);font-size:12px}.prog.enrolled .ic-circle{background:var(--green-soft);color:var(--green-mid)}.prog.notenrolled .ic-circle{color:var(--text-light);background:#f1f5f0}.list-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:12px 0;display:flex}.list-row:last-child{border-bottom:none}.list-row .date-block{text-align:center;background:var(--green-soft);border-radius:var(--radius-sm);width:46px;padding:6px 0}.list-row .date-block .d{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);font-size:18px;font-weight:700;line-height:1}.list-row .date-block .m{color:var(--green-mid);text-transform:uppercase;font-size:10px;font-weight:600}.list-row .body{flex:1}.list-row .body .t{color:var(--text-dark);font-size:13px;font-weight:600}.list-row .body .s{color:var(--text-light);margin-top:2px;font-size:12px}.date-block{text-align:center;background:var(--green-soft);border-radius:var(--radius-sm);width:46px;padding:6px 0}.date-block .d{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);font-size:18px;font-weight:700;line-height:1}.date-block .m{color:var(--green-mid);text-transform:uppercase;font-size:10px;font-weight:600}.tabs{gap:6px;padding:0 18px 14px;display:flex}.tabs .tab{text-align:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-mid);cursor:pointer;flex:1;padding:10px 4px;font-size:12px;font-weight:600}.tabs .tab.active{background:var(--green-dark);color:#fff;border-color:var(--green-dark)}.heat-grid{grid-template-columns:repeat(7,1fr);gap:5px;padding:12px 0 4px;display:grid}.heat-grid .cell{aspect-ratio:1;background:#f1f5f0;border-radius:5px}.heat-grid .cell.l1{background:var(--green-pale)}.heat-grid .cell.l2{background:var(--green-light);opacity:.8}.heat-grid .cell.l3{background:var(--green-mid)}.heat-grid .cell.absent{background:var(--red-soft)}.heat-grid .cell.future{background:var(--cream);border:1px dashed var(--line)}.heat-head{color:var(--text-light);text-align:center;text-transform:uppercase;letter-spacing:.4px;grid-template-columns:repeat(7,1fr);gap:5px;font-size:10px;font-weight:600;display:grid}.legend{color:var(--text-mid);flex-wrap:wrap;gap:12px;padding-top:8px;font-size:11px;display:flex}.legend span{align-items:center;gap:4px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.streak-banner{background:linear-gradient(135deg, var(--gold-pale), var(--gold-light));border-radius:var(--radius-md);border:1px solid var(--gold-light);align-items:center;gap:14px;margin:0 18px 14px;padding:14px 16px;display:flex}.streak-banner .fire{font-size:32px}.streak-banner .n{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--gold-ink);font-size:22px;font-weight:700}.streak-banner .l{color:var(--gold-ink);opacity:.85;font-size:12px}.tier{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);margin:0 18px 12px;padding:18px;position:relative}.tier.current{border-color:var(--green-mid);background:var(--green-soft)}.tier.recommended{border-color:var(--gold)}.tier.recommended:before{content:"Recommended";background:var(--gold);color:var(--green-dark);text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:3px 10px;font-size:10px;font-weight:700;position:absolute;top:-10px;left:18px}.tier .head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.tier h3{font-size:20px}.tier .price{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);font-size:22px;font-weight:700}.tier .price small{color:var(--text-light);font-size:12px;font-weight:400;font-family:var(--font-inter), "Inter", sans-serif}.tier ul{margin:12px 0 14px;padding:0;list-style:none}.tier li{color:var(--text-dark);align-items:flex-start;gap:8px;padding:5px 0;font-size:13px;display:flex}.tier li:before{content:"✓";color:var(--green-mid);margin-top:1px;font-weight:700}.tier .current-badge{background:var(--green-mid);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:999px;margin-left:8px;padding:4px 10px;font-size:10px;font-weight:700}.ref-hero{background:linear-gradient(135deg, var(--gold-pale), var(--gold-light));border-radius:var(--radius-lg);text-align:center;border:1px solid var(--gold-light);margin:0 18px 14px;padding:24px 18px}.ref-hero .gift{font-size:40px}.ref-hero h2{color:var(--green-dark);margin-top:8px;font-size:20px}.ref-hero p{color:var(--gold-ink);margin-top:4px;font-size:13px}.code-box{border:2px dashed var(--green-mid);background:var(--white);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:10px;margin:0 18px 14px;padding:14px 16px;display:flex}.code-box .code{letter-spacing:2px;color:var(--green-dark);font-family:ui-monospace,SF Mono,monospace;font-size:22px;font-weight:800}.code-box .copy{color:var(--green-mid);cursor:pointer;font-size:13px;font-weight:600}.share-row{grid-template-columns:repeat(4,1fr);gap:10px;padding:0 18px 14px;display:grid}.share-row a{color:var(--text-dark);background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px 4px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.share-row a .ic{font-size:22px}.share-row a.wa{color:#fff;background:#25d366;border-color:#1da851}.share-row a.wa .ic{color:#fff}.reward-pill{background:var(--green-soft);color:var(--green-mid);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.profile-head .big-avatar{background:linear-gradient(135deg, var(--gold), var(--coral));color:#fff;width:88px;height:88px;font-size:32px;font-weight:700;font-family:var(--font-playfair), "Playfair Display", serif;box-shadow:var(--shadow-mid);border-radius:50%;place-items:center;margin:0 auto 12px;display:grid}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-box{border:1px solid var(--line);background:#fff;border-radius:16px;width:380px;max-width:90vw;padding:22px}.modal-title{color:var(--green-dark);margin-bottom:10px;font-size:16px;font-weight:700}.modal-body{color:var(--text-mid);margin-bottom:16px;font-size:13px;line-height:1.6}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.modal-actions .btn{width:auto;padding:10px 16px;font-size:13px}.toast{background:var(--green-dark);color:var(--white);z-index:2000;opacity:0;pointer-events:none;box-shadow:var(--shadow-mid);border-radius:10px;padding:10px 18px;font-size:13px;transition:all .25s;position:fixed;bottom:88px;left:50%;transform:translate(-50%,8px)}.toast.show{opacity:1;transform:translate(-50%)}.av-box{width:440px;max-height:86vh;padding:18px 18px 20px;overflow-y:auto}.av-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.av-sub{color:var(--text-light);font-size:11px;line-height:1.4}.av-x{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:2px 8px;font-size:18px;line-height:1}.av-today{background:var(--green-soft);border:1px solid var(--green-pale);border-radius:12px;margin-bottom:16px;padding:12px 14px}.av-today-row{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.av-today-label{color:var(--green-dark);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.av-today-window{color:var(--text-dark);margin-top:2px;font-size:15px;font-weight:700}.av-today-meta{color:var(--text-mid);margin-top:2px;font-size:12px}.av-close-btn{width:100%;padding:10px;font-size:13px}.av-section-title{text-transform:uppercase;letter-spacing:.6px;color:var(--text-light);margin:18px 0 8px;font-size:11px;font-weight:700}.av-week{border:1px solid var(--line);border-radius:12px;overflow:hidden}.av-day{border-bottom:1px solid var(--line-soft);background:#fff;grid-template-columns:60px 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.av-day:last-child{border-bottom:none}.av-day.av-today-row-strip{background:var(--gold-light)}.av-day-dow{flex-direction:column;line-height:1.1;display:flex}.av-day-name{color:var(--text-dark);font-size:12px;font-weight:700}.av-day-num{color:var(--text-light);margin-top:2px;font-size:11px}.av-day-chip{background:var(--green-soft);color:var(--green-dark);border-radius:999px;justify-self:start;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.av-day-chip.av-chip-off,.av-day.av-off .av-day-chip{color:#888;background:#f1f1f1}.av-day-edit{border:1px solid var(--line);color:var(--text-mid);cursor:pointer;background:0 0;border-radius:8px;padding:5px 10px;font-size:11px;font-weight:600}.av-day-edit:hover{background:var(--green-soft);color:var(--green-dark)}.av-day-editor{background:var(--cream);border:1px solid var(--line);border-top:none;padding:14px 14px 12px}.av-day-editor-head{color:var(--green-dark);margin-bottom:10px;font-size:13px;font-weight:700}.av-day-editor-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px;display:grid}.av-day-editor-row:has(.av-toggle){grid-template-columns:1fr}.av-toggle{color:var(--text-dark);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.av-toggle input{width:16px;height:16px}.av-tlabel{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);margin-bottom:4px;font-size:10px;display:block}.av-day-editor input[type=time],.av-block-form input[type=date]{border:1px solid var(--line);border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}.av-day-editor-actions{justify-content:flex-end;gap:8px;display:flex}.av-accordion{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:14px}.av-acc-head{width:100%;color:var(--text-dark);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:12px 14px;font-size:13px;display:flex}.av-acc-caret{color:var(--text-light);font-size:18px;transition:transform .2s}.av-acc-body{padding:0 12px 12px}.av-week-default .av-day{padding:8px 10px}.av-blocks{margin-top:14px}.av-block-list{margin-bottom:10px}.av-block-row{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px 12px;display:flex}.av-block-when{color:var(--text-dark);font-size:13px;font-weight:700}.av-block-why{color:var(--text-light);margin-top:2px;font-size:11px}.av-block-add{width:100%;padding:10px;font-size:13px}.av-block-form{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:460px){.av-box{border-radius:16px 16px 0 0;width:100%;max-width:100%}}.av-box.av-box-tall{max-height:92vh;padding-bottom:76px}.av-slotlen{background:var(--cream);border:1px solid var(--line-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;display:flex}.av-slotlen-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);margin-right:4px;font-size:11px;font-weight:700}.av-chip{border:1px solid var(--line);min-width:36px;color:var(--text-mid);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.av-chip:hover{border-color:var(--green-mid);color:var(--green-dark)}.av-chip.active{background:var(--gold);border-color:var(--gold-dark);color:#fff}.av-chip.av-chip-off-day{border-color:var(--line);color:var(--text-mid);background:#fff}.av-chip.av-chip-off-day.active{background:var(--red-soft);border-color:var(--red);color:var(--red)}.av-offdays{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:14px;padding:12px 14px}.av-offdays-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.av-offdays-title{color:var(--text-dark);font-size:13px;font-weight:700}.av-offdays-hint{color:var(--text-light);margin-top:2px;font-size:11px;line-height:1.4}.av-chip-row{flex-wrap:wrap;gap:6px;display:flex}.av-daycard{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:10px;padding:12px 14px}.av-daycard.av-daycard-today{border-color:var(--gold);background:#fff}.av-daycard.av-daycard-off{background:#fafafa}.av-daycard.av-daycard-off .av-slot-list,.av-daycard.av-daycard-off .av-daycard-actions{opacity:.45;pointer-events:none}.av-daycard-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.av-daycard-title{align-items:baseline;gap:8px;display:flex}.av-daycard-dow{color:var(--text-dark);font-size:14px;font-weight:700}.av-daycard-date{color:var(--text-light);font-size:11px}.av-daycard-badge{color:#888;text-transform:uppercase;letter-spacing:.4px;background:#f1f1f1;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.av-off-toggle{color:var(--text-mid);cursor:pointer;align-items:center;gap:6px;font-size:11px;display:inline-flex}.av-off-toggle input{width:14px;height:14px}.av-slot-list{flex-direction:column;gap:8px;display:flex}.av-slot-row{grid-template-columns:1fr 12px 1fr 30px;align-items:end;gap:8px;display:grid}.av-slot-row input[type=time]{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}.av-slot-dash{text-align:center;color:var(--text-light);padding-bottom:8px;font-weight:700}.av-slot-remove{border:1px solid var(--line);color:var(--text-light);cursor:pointer;background:0 0;border-radius:8px;padding:6px 0;font-size:14px;line-height:1}.av-slot-remove:hover{background:var(--red-soft);color:var(--red);border-color:var(--red)}.av-daycard-actions{border-top:1px dashed var(--line-soft);flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;display:flex}.av-mini-btn{border:1px dashed var(--line);color:var(--green-dark);cursor:pointer;background:0 0;border-radius:8px;padding:6px 10px;font-size:11px;font-weight:600}.av-mini-btn:hover{background:var(--green-soft);border-style:solid}.av-copyto{background:var(--gold-pale);border:1px solid var(--gold-light);border-radius:10px;margin-top:10px;padding:10px 12px}.av-copyto-title{color:var(--gold-ink);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:11px;font-weight:700}.av-copyto-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.av-block-form-row{grid-template-columns:1fr auto;align-items:end;gap:8px;margin-bottom:8px;display:grid}.av-block-form-row input[type=date],.av-block-form-row input[type=text]{border:1px solid var(--line);border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}.av-block-add-btn{background:var(--green-mid);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:600}.av-block-add-btn:hover{background:var(--green-dark)}.av-block-chip{background:var(--red-soft);color:var(--red);border:1px solid #f3c2c2;border-radius:999px;align-items:center;gap:6px;margin:0 6px 6px 0;padding:5px 6px 5px 12px;font-size:12px;font-weight:600;display:inline-flex}.av-block-chip .av-block-chip-why{color:#8a4a3f;margin-left:4px;font-weight:400}.av-block-chip-x{color:var(--red);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px;line-height:1}.av-block-chip-x:hover{color:#000}.av-block-tabs{gap:6px;margin-bottom:10px;display:flex}.av-block-tab{border:1px solid var(--line);color:var(--text-mid);cursor:pointer;text-align:center;background:#fff;border-radius:8px;flex:1;padding:6px 10px;font-size:12px;font-weight:600}.av-block-tab.active{background:var(--green-mid);border-color:var(--green-mid);color:#fff}.av-save-bar{border-top:1px solid var(--line);background:#fff;border-radius:0 0 16px 16px;justify-content:flex-end;gap:10px;margin:16px -18px -20px;padding:12px 18px;display:flex;position:sticky;bottom:0;left:0;right:0}.av-save-bar .btn{padding:10px 18px;font-size:13px}@media (max-width:460px){.av-box.av-box-tall{border-radius:16px 16px 0 0;max-height:100vh}.av-save-bar{border-radius:0}.av-slot-row{grid-template-columns:1fr 10px 1fr 28px;gap:6px}}.week-strip .day{cursor:pointer;transition:transform .12s,box-shadow .12s}.week-strip .day:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.pt-row{cursor:pointer}.pt-row .body .hist-pills{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.hist-pill{color:var(--text-mid);border:1px solid var(--line-soft);white-space:nowrap;background:#f3f3ef;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.hist-pill .dot{background:#cfcfc8;border-radius:50%;flex-shrink:0;width:6px;height:6px}.hist-pill.green{background:var(--green-pale);color:var(--green-dark);border-color:var(--green-pale)}.hist-pill.green .dot{background:var(--green-mid)}.hist-pill.muted{color:var(--text-mid);border-color:var(--line-soft);background:#f3f3ef}.hist-pill.gold{background:var(--gold-light);color:var(--gold-ink);border-color:var(--gold-light);font-weight:700}.ds-head-strip{background:var(--green-soft);border:1px solid var(--green-pale);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;display:flex}.ds-head-strip .ds-head-left{flex-direction:column;gap:2px;display:flex}.ds-head-count{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);font-size:20px;font-weight:700;line-height:1.1}.ds-head-break{color:var(--text-mid);font-size:12px}.ds-empty{color:var(--text-light);text-align:center;padding:24px 12px;font-size:13px}.ds-tag-summary{color:var(--text-light);text-transform:uppercase;letter-spacing:.4px;text-align:center;border-top:1px dashed var(--line-soft);margin-top:12px;padding:8px 0;font-size:11px}#ds-list .pt-row .mini.primary{background:var(--gold);color:var(--green-dark);border-color:var(--gold-dark)}.rs-box{width:380px;max-width:92vw;padding:18px 18px 20px}.rs-current{background:var(--cream);border:1px solid var(--line);border-radius:10px;margin-bottom:12px;padding:10px 12px}.rs-current-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);font-size:10px;font-weight:700}.rs-current-val{color:var(--text-dark);margin-top:2px;font-size:14px;font-weight:700}.rs-form{grid-template-columns:1fr 1fr;gap:10px;display:grid}.rs-form input[type=date],.rs-form input[type=time],.rs-reason-input{border:1px solid var(--line);border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}.ph-header{background:var(--green-soft);border:1px solid var(--green-pale);border-radius:12px;margin-bottom:6px;padding:12px 14px}.ph-header-row{align-items:center;gap:12px;display:flex}.ph-avatar{background:linear-gradient(135deg, var(--gold), var(--coral));color:#fff;width:48px;height:48px;font-size:18px;font-weight:700;font-family:var(--font-playfair), "Playfair Display", serif;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.ph-header-body{flex:1;min-width:0}.ph-header-name{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);font-size:18px;font-weight:700;line-height:1.1}.ph-header-meta{color:var(--text-mid);margin-top:2px;font-size:12px}.ph-header-pill{margin-top:6px;padding:3px 10px;font-size:11px;display:inline-block}.ph-stats{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.ph-stat{border:1px solid var(--line);text-align:center;background:#fff;border-radius:10px;padding:8px 6px}.ph-stat .v{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);font-size:16px;font-weight:700;line-height:1.1}.ph-stat .k{color:var(--text-light);text-transform:uppercase;letter-spacing:.3px;margin-top:3px;font-size:9px;font-weight:700}.ph-plans{flex-direction:column;gap:8px;display:flex}.ph-plan{border:1px solid var(--line);border-left:3px solid var(--green-mid);background:#fff;border-radius:10px;padding:10px 12px}.ph-plan-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;display:flex}.ph-plan-name{color:var(--text-dark);font-size:13px;font-weight:700}.ph-plan-head .pill{padding:2px 8px;font-size:10px}.ph-plan-head .pill.muted{color:var(--text-light);background:#f0f0eb}.ph-plan-dates{color:var(--text-light);font-size:11px}.ph-plan-stats{color:var(--text-mid);margin-top:4px;font-size:11px}.ph-appts{flex-direction:column;gap:6px;display:flex}.ph-appt{border-bottom:1px dashed var(--line-soft);grid-template-columns:82px 1fr;gap:10px;padding:8px 0;display:grid}.ph-appt:last-child{border-bottom:none}.ph-appt-date{color:var(--green-dark);font-size:11px;font-weight:700}.ph-appt-type{color:var(--text-dark);font-size:12px;font-weight:600}.ph-appt-note{color:var(--text-light);margin-top:2px;font-size:11px;line-height:1.4}.ph-show-all-wrap{text-align:center;margin-top:8px}.ph-empty{color:var(--text-light);padding:8px 0;font-size:12px;font-style:italic}.ph-notes{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--text-dark);resize:vertical;background:var(--cream);border-radius:10px;min-height:80px;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.5}@media (max-width:460px){.ds-box,.ph-box{border-radius:16px 16px 0 0;max-height:100vh}.ph-stats{grid-template-columns:repeat(2,1fr)}.rs-box{border-radius:16px 16px 0 0;width:100%;max-width:100%}.rs-form{grid-template-columns:1fr}.pt-row .body .hist-pills{gap:3px}.hist-pill{padding:2px 7px;font-size:10px}}.pick-slot-banner{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--gold-pale) 0%, #fffaf0 100%);border:1.5px solid var(--gold-light);box-shadow:var(--shadow-soft);color:inherit;align-items:center;gap:14px;margin:0 18px 14px;padding:14px 16px;text-decoration:none;display:flex}.pick-slot-banner .ic-circle{background:var(--gold);width:42px;height:42px;color:var(--green-dark);border-radius:12px;flex-shrink:0;place-items:center;font-size:20px;display:grid}.pick-slot-banner .body{flex:1;min-width:0}.pick-slot-banner .t{color:var(--gold-ink);font-size:14px;font-weight:700;line-height:1.3}.pick-slot-banner .s{color:var(--text-mid);margin-top:3px;font-size:12px;line-height:1.45}.pick-slot-banner .cta{background:var(--green-dark);color:#fff;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:9px 14px;font-size:12px;font-weight:700;text-decoration:none}@media (max-width:480px){.pick-slot-banner{flex-wrap:wrap}.pick-slot-banner .cta{text-align:center;width:100%}}.tc-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.tc-head .pill{padding:3px 8px;font-size:10px}.next-class .timeline{color:var(--text-mid);margin-top:6px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px}.plays-meter{gap:4px;margin-top:8px;display:flex}.plays-meter .seg{background:var(--green-pale);border:1px solid var(--green-pale);border-radius:4px;flex:1;height:8px}.plays-meter .seg.used{background:var(--green-mid);border-color:var(--green-mid)}.plays-meter .seg.warn{background:var(--gold);border-color:var(--gold)}.plays-meter .seg.blocked{background:var(--red);border-color:var(--red)}.tc-banner{border-radius:6px;margin-top:10px;padding:8px 10px;font-size:12px;font-weight:600}.tc-banner.warn{background:var(--gold-pale);color:var(--gold-ink);border:1px solid var(--gold-light)}.tc-banner.bad{background:var(--red-soft);color:var(--red);border:1px solid #f5b8b8}.tc-banner.info{color:var(--green-dark);border:1px solid var(--green-pale);background:#fff}.next-class .join.disabled{cursor:not-allowed;pointer-events:none;background:#c8c8c8}.infinity{color:var(--green-mid);font-weight:700}.active-break-banner{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--gold-pale) 0%, #fff 100%);border:1.5px solid var(--gold-light);align-items:center;gap:12px;margin:0 18px 12px;padding:12px 14px;display:flex}.active-break-banner .ic-circle{background:var(--gold);width:38px;height:38px;color:var(--green-dark);border-radius:10px;flex-shrink:0;place-items:center;font-size:18px;display:grid}.active-break-banner .body{flex:1;min-width:0}.active-break-banner .t{color:var(--gold-ink);font-size:13px;font-weight:700}.active-break-banner .s{color:var(--text-mid);margin-top:2px;font-size:11px}.alt-card{border:1px solid var(--green-pale,#e5e0d6);border-radius:var(--radius-md,14px);background:#fff;margin:0 18px 18px;padding:16px 18px}.alt-card .alt-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.alt-card .alt-eyebrow{letter-spacing:.5px;color:var(--text-light);text-transform:uppercase;font-size:11px;font-weight:700}.alt-card .alt-eyebrow.live{color:#0f7a3a}.alt-card .alt-pill{background:var(--gold-pale,#fff8e6);color:var(--gold-ink,#6b4f0a);border:1px solid var(--gold-light,#f0d896);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.alt-card .alt-title{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);margin-top:6px;font-size:22px;font-weight:700;line-height:1.25}.alt-card .alt-sub{color:var(--text-mid);margin-top:4px;font-size:13px;line-height:1.45}.alt-card .alt-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.alt-card .alt-cta{background:var(--green-dark);color:#fff;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.alt-card .alt-cta.ghost{color:var(--green-dark);border:1px solid var(--green-dark);background:#fff}.plan-card .slot-row{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;font-size:13px;display:flex}.plan-card .slot-row .ic{font-size:14px}.plan-card .slot-row .when{color:#fff;font-weight:600}.plan-card .slot-row .change{color:var(--gold-light);white-space:nowrap;margin-left:auto;font-size:12px;font-weight:700;text-decoration:none}.plan-card .slot-row .change:after{content:" ›"}.plan-card .phone-row{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;font-size:13px;display:flex}.plan-card .phone-row .ic{font-size:14px}.plan-card .phone-row .when{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.2px;font-weight:600}.plan-card.lapsed .phone-row{background:#e9a11a1a;border:1px solid #e9a11a4d}.plan-card.lapsed .phone-row .when{color:var(--gold-ink)}.plan-card .link-row{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;font-size:13px;display:flex}.plan-card .link-row .ic{font-size:14px}.plan-card .link-row .when{color:#fff;font-weight:600}.plan-card .link-row .link-open{color:var(--gold-light);white-space:nowrap;margin-left:auto;font-size:12px;font-weight:700;text-decoration:none}.plan-card.lapsed .link-row{background:#e9a11a1a;border:1px solid #e9a11a4d}.plan-card.lapsed .link-row .when,.plan-card.lapsed .link-row .link-open{color:var(--gold-ink)}.plan-card .addons-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.plan-card .addon-chip{color:#fff;background:#ffffff24;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;display:inline-flex}.plan-card .addon-chip .ic{font-size:12px}.plan-card .addon-chip .when{color:var(--gold-light);font-weight:700}.upg-card{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);margin:0 18px 12px;padding:14px 16px}.upg-card.is-open{border-color:var(--green-mid);background:var(--green-soft)}.upg-card.is-open.downgrade{border-color:var(--gold);background:var(--gold-pale)}.upg-head{cursor:pointer;align-items:center;gap:12px;display:flex}.upg-head .ic-circle{background:var(--gold-pale);width:38px;height:38px;color:var(--gold-ink);border-radius:10px;flex-shrink:0;place-items:center;font-size:18px;display:grid}.upg-card.is-open .ic-circle{background:var(--green-mid);color:#fff}.upg-card.is-open.downgrade .ic-circle{background:var(--gold);color:var(--green-dark)}.upg-head .body{flex:1;min-width:0}.upg-head .body .t{color:var(--green-dark);font-size:14px;font-weight:700}.upg-head .body .s{color:var(--text-mid);margin-top:2px;font-size:12px}.upg-head .price-tag{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-mid);white-space:nowrap;font-size:16px;font-weight:700}.upg-card.is-open .upg-head .price-tag{color:var(--green-dark)}.upg-card.is-open.downgrade .upg-head .price-tag{color:var(--gold-ink)}.upg-body{padding-top:14px;display:none}.upg-card.is-open .upg-body{display:block}.prorata{background:linear-gradient(135deg, var(--green-dark) 0%, var(--green-mid) 100%);border-radius:var(--radius-md);color:#fff;margin-bottom:12px;padding:14px 16px}.upg-card.downgrade .prorata{background:linear-gradient(135deg, var(--gold-ink) 0%, var(--gold-dark) 100%)}.prorata .lab{text-transform:uppercase;letter-spacing:.6px;color:var(--gold-light);font-size:10px;font-weight:700}.upg-card.downgrade .prorata .lab{color:var(--gold-pale)}.prorata .amt{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--gold-light);margin-top:2px;font-size:28px;font-weight:700;line-height:1.1}.upg-card.downgrade .prorata .amt{color:var(--gold-pale)}.prorata .math{opacity:.85;margin-top:6px;font-family:ui-monospace,SF Mono,monospace;font-size:11px}.prorata .desc{opacity:.92;margin-top:8px;font-size:12px;line-height:1.5}.upg-slot-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);margin:4px 0 8px;font-size:10px;font-weight:700}.upg-slot-pills{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.upg-slot-pill{background:var(--white);border:1px solid var(--line);color:var(--text-mid);cursor:pointer;border-radius:999px;padding:7px 11px;font-family:inherit;font-size:12px;font-weight:600}.upg-slot-pill.active{background:var(--green-mid);color:#fff;border-color:var(--green-mid)}.upg-slot-note{color:var(--text-light);margin:-4px 0 12px;font-size:11px;line-height:1.5}.upg-cta{border-radius:var(--radius-md);background:var(--gold);width:100%;color:var(--green-dark);font-size:14px;font-weight:700;font-family:var(--font-inter), "Inter", sans-serif;text-align:center;cursor:pointer;border:none;padding:12px 16px;text-decoration:none;display:block}.upg-cta:disabled{opacity:.6;cursor:not-allowed}.sk-line{background:linear-gradient(90deg, var(--line) 0%, var(--line-soft) 50%, var(--line) 100%);background-size:200% 100%;border-radius:6px;height:12px;animation:1.4s infinite sk-shimmer}.sk-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:12px;margin:0 18px 12px;padding:14px 16px;display:flex}.sk-block{background:var(--line);border-radius:8px}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.today-status{color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:10px;margin-top:14px;padding:12px 14px}.today-status .ts-head{text-transform:uppercase;letter-spacing:.6px;color:var(--gold-light);align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.today-status .ts-head .pill{padding:3px 8px;font-size:10px}.today-status .ts-title{font-family:var(--font-playfair), "Playfair Display", serif;margin-top:4px;font-size:17px;font-weight:700}.today-status .ts-sub{opacity:.9;margin-top:2px;font-size:13px}.today-status .ts-meter{gap:4px;margin-top:10px;display:flex}.today-status .ts-meter .seg{background:#ffffff2e;border-radius:4px;flex:1;height:8px}.today-status .ts-meter .seg.used{background:var(--green-light)}.today-status .ts-meter .seg.warn{background:var(--gold)}.today-status .ts-meter .seg.blocked{background:#f08585}.today-status .ts-timeline{opacity:.95;margin-top:8px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px}.today-status .ts-banner{border-radius:6px;margin-top:10px;padding:8px 10px;font-size:12px;font-weight:600}.today-status .ts-banner.warn{color:#fff8e1;background:#e9a11a40}.today-status .ts-banner.bad{color:#ffe1e1;background:#ff787840}.today-status .ts-banner.info{color:#fff;background:#ffffff1a}.active-break-banner{background:var(--gold-pale);border:1px solid var(--gold-light);border-radius:var(--radius-md);align-items:center;gap:12px;margin:0 18px 14px;padding:12px 14px;display:flex}.active-break-banner .ic-circle{background:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.active-break-banner .body .t{color:var(--gold-ink);font-size:13px;font-weight:700}.active-break-banner .body .s{color:var(--text-mid);margin-top:2px;font-size:12px}.breaks-card{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);margin:0 18px 14px;padding:14px 16px}.quota-chip{background:var(--green-soft);color:var(--green-dark);border:1px solid var(--green-pale);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.quota-chip.used{background:var(--gold-pale);color:var(--gold-ink);border-color:var(--gold-light)}.quota-chip.platinum{color:var(--gold-ink);border-color:var(--gold-light);background:linear-gradient(135deg,#fff8e1 0%,#f3e7c3 100%)}.quota-line{color:var(--text-light);margin-top:8px;font-size:12px;line-height:1.5}.pl-summary{color:var(--text-mid);margin-top:4px;font-size:13px}.breaks-empty{color:var(--text-light);padding:8px 0 0;font-size:12px}.breaks-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.breaks-head .new-break-btn{white-space:nowrap;width:auto;padding:8px 14px;font-size:12px}.break-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.break-row{background:var(--cream-dark);border:1px solid var(--line);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.break-row.active{background:var(--green-soft);border-color:var(--green-mid)}.break-row.upcoming{background:var(--gold-pale);border-color:var(--gold-light)}.break-row .b-ic{margin-top:2px;font-size:16px;line-height:1}.break-row .b-body{flex:1;min-width:0}.break-row .b-when{color:var(--green-dark);font-size:13px;font-weight:700}.break-row .b-meta{color:var(--text-light);margin-top:2px;font-size:11px;line-height:1.4}.break-row .pill{padding:3px 8px;font-size:10px}.slot-chip{border:1px solid var(--green-dark);color:var(--green-dark);cursor:pointer;text-align:center;background:#fff;border-radius:8px;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.slot-chip:hover{background:var(--green-soft)}.slot-chip.active{background:var(--green-dark);color:#fff}.slot-chip.active:hover{background:var(--green-dark)}.slot-chip:disabled{opacity:.4;cursor:not-allowed;color:var(--text-light);background:#fafafa;border-color:#d8d2c5}.one-day-row{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:10px 12px;transition:background .15s,border-color .15s;display:flex}.one-day-row:hover{background:var(--cream-dark)}.one-day-row input[type=checkbox]{accent-color:var(--green-dark);cursor:pointer;width:16px;height:16px;margin-top:2px}.one-day-row:has(input:checked){background:var(--green-soft);border-color:var(--green-dark)}.one-day-title{color:var(--green-dark);font-size:13px;font-weight:600}.one-day-sub{color:var(--text-light);margin-top:2px;font-size:12px;line-height:1.4}.one-day-tag{letter-spacing:.4px;text-transform:uppercase;color:var(--green-dark);background:var(--green-soft);border-radius:4px;margin-left:6px;padding:2px 6px;font-size:10px;font-weight:700}.pl-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.pl-grid label{color:var(--text-mid);font-size:12px;font-weight:600;display:block}.pl-grid input[type=date]{border:1px solid var(--line);border-radius:8px;width:100%;margin-top:4px;padding:8px 10px;font-family:inherit;font-size:13px;display:block}.pl-grid input[type=date]:disabled{background:var(--cream-dark);color:var(--text-light)}.ob-hero{background:linear-gradient(135deg, var(--green-dark) 0%, var(--green-mid) 100%);color:#fff;border-radius:var(--radius-md);margin:0 18px 14px;padding:16px 18px}.ob-hero .eyebrow{text-transform:uppercase;letter-spacing:.8px;color:var(--gold-light,#ffe9a8);background:#ffffff2e;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:700;display:inline-block}.ob-hero .title{font-family:var(--font-playfair), "Playfair Display", serif;margin:8px 0 4px;font-size:20px;font-weight:700}.ob-hero .sub{opacity:.92;font-size:12px;line-height:1.5}.ob-mode-callout{background:var(--green-soft);border:1px solid var(--green-pale);border-radius:var(--radius-md);grid-template-columns:32px 1fr;align-items:flex-start;gap:12px;margin:0 18px 14px;padding:14px 16px;display:grid}.ob-mode-callout .ic{border:1px solid var(--green-pale);width:32px;height:32px;color:var(--green-mid);background:#fff;border-radius:8px;place-items:center;font-size:16px;display:grid}.ob-mode-callout .t{color:var(--green-dark);font-size:13px;font-weight:700}.ob-mode-callout .s{color:var(--text-mid);margin-top:3px;font-size:12px;line-height:1.5}.ob-slot-section{padding:0 18px 6px}.ob-slot-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.ob-slot{border:1px solid var(--line);text-align:center;color:var(--text-dark);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:10px;padding:14px 8px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.ob-slot:hover{border-color:var(--green-light);background:var(--green-soft)}.ob-slot.selected{background:var(--green-mid);border-color:var(--green-mid);color:#fff}.ob-foot{background:var(--cream-dark);color:var(--text-mid);border-radius:10px;margin:14px 18px 6px;padding:12px 14px;font-size:12px;line-height:1.5}.ob-foot strong{color:var(--green-dark)}.ob-stick{background:var(--cream);border-top:1px solid var(--line);z-index:5;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px 18px 14px;display:grid;position:sticky;bottom:64px}.ob-stick .picked{color:var(--text-mid);font-size:12px;line-height:1.4}.ob-stick .picked .when{color:var(--green-dark);font-size:14px;font-weight:700}.ob-stick .picked.empty .when{color:var(--text-light);font-weight:500}.ob-stick .go{background:var(--green-mid);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:0;padding:12px 18px;font-family:inherit;font-size:13px;font-weight:700}.ob-stick .go[disabled]{background:var(--line);color:var(--text-light);cursor:not-allowed}.ob-skip-row{text-align:center;color:var(--text-light);margin:4px 0 12px;font-size:12px}.ob-skip-row a{color:var(--green-mid);font-weight:600;text-decoration:none}.ob-skip-row a:hover{text-decoration:underline}.att-window-row{justify-content:space-between;align-items:center;gap:10px;padding:0 18px 12px;display:flex}.att-window-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-light);font-size:11px;font-weight:700}.att-window-toggle{background:var(--white);border:1px solid var(--line);border-radius:999px;gap:4px;padding:3px;display:flex}.att-window-btn{color:var(--text-mid);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:5px 12px;font-family:inherit;font-size:11px;font-weight:700}.att-window-btn.active{background:var(--green-mid);color:#fff}.program-heading{text-transform:uppercase;letter-spacing:.7px;color:var(--green-mid);align-items:center;gap:8px;margin:18px 18px 8px;font-size:11px;font-weight:700;display:flex}.program-heading .ic{background:var(--green-soft);border-radius:6px;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.stat-strip{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.stat-strip .stat{padding:10px 12px}.stat-strip .stat .v{font-size:18px}.stat-strip .stat .k{font-size:11px}.heat-head-5{color:var(--text-light);text-align:center;text-transform:uppercase;letter-spacing:.4px;grid-template-columns:repeat(5,1fr);gap:5px;font-size:10px;font-weight:600;display:grid}.heat-grid-5{grid-template-columns:repeat(5,1fr);gap:6px 5px;padding:18px 0 4px;display:grid}.heat-grid-5 .cell{height:32px;color:var(--text-light);background:#f1f5f0;border-radius:5px;place-items:center;font-size:11px;font-weight:600;display:grid;position:relative}.heat-grid-5 .cell.l3{background:var(--green-mid);color:#fff}.heat-grid-5 .cell.absent{background:var(--red-soft);color:#7a1f1f}.heat-grid-5 .cell.on-break{color:var(--text-mid);border:1px solid var(--line);background:#e3eae6}.heat-grid-5 .cell.future{background:var(--cream);border:1px dashed var(--line);color:var(--text-light)}.heat-grid-5 .cell.month-start:after{content:attr(data-month);color:var(--green-mid);text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:700;position:absolute;top:-14px;left:0}.heat-head-4{color:var(--text-light);text-align:center;text-transform:uppercase;letter-spacing:.4px;grid-template-columns:repeat(4,1fr);gap:5px;font-size:10px;font-weight:600;display:grid}.heat-grid-4{grid-template-columns:repeat(4,1fr);gap:6px 5px;padding:18px 0 4px;display:grid}.heat-grid-4 .cell{height:32px;color:var(--text-light);background:#f1f5f0;border-radius:5px;place-items:center;font-size:11px;font-weight:600;display:grid;position:relative}.heat-grid-4 .cell.l3{background:var(--green-mid);color:#fff}.heat-grid-4 .cell.absent{background:var(--red-soft);color:#7a1f1f}.heat-grid-4 .cell.future{background:var(--cream);border:1px dashed var(--line);color:var(--text-light)}.heat-grid-4 .cell.month-start:after{content:attr(data-month);color:var(--green-mid);text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:700;position:absolute;top:-14px;left:0}.range-label{color:var(--text-light);text-align:center;margin-top:8px;font-size:11px}.week-chip{min-width:0}.tl{border-top:1px dashed var(--line);margin-top:14px;padding-top:14px}.tl-head{text-transform:uppercase;letter-spacing:.6px;color:var(--text-light);margin-bottom:10px;font-size:10px;font-weight:700}.tl-step{grid-template-columns:28px 1fr;gap:12px;padding-bottom:14px;display:grid;position:relative}.tl-step:last-child{padding-bottom:0}.tl-step:not(:last-child):before{content:"";background:var(--line);width:2px;position:absolute;top:28px;bottom:0;left:13px}.tl-step.done:not(:last-child):before{background:var(--green-light)}.tl-step.current:not(:last-child):before{background:linear-gradient(180deg, var(--green-mid) 0%, var(--line) 100%)}.tl-dot{border:2px solid var(--line);width:28px;height:28px;color:var(--text-light);z-index:1;background:#fff;border-radius:50%;place-items:center;font-size:13px;line-height:1;display:grid}.tl-step.done .tl-dot{background:var(--green-pale);border-color:var(--green-mid);color:var(--green-mid)}.tl-step.current .tl-dot{background:var(--green-mid);border-color:var(--green-mid);color:#fff;box-shadow:0 0 0 3px var(--green-soft)}.tl-step.future .tl-dot{color:#b7b7b7;background:#fff;border-style:dashed;border-color:#cfcfcf}.tl-info{min-width:0;padding-top:1px}.tl-when{color:var(--green-dark);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.tl-step.future .tl-when{color:var(--text-mid)}.tl-what{color:var(--text-dark);margin-top:2px;font-size:13px;font-weight:600;line-height:1.35}.tl-step.future .tl-what{color:var(--text-mid);font-weight:500}.tl-note{color:var(--text-light);margin-top:2px;font-size:11px;line-height:1.4}.past-card{padding:14px 16px}.past-card .past-head{grid-template-columns:46px 1fr auto;align-items:flex-start;gap:12px;display:grid}.past-card .past-head .body .t{color:var(--text-dark);font-size:14px;font-weight:700}.past-card .past-head .body .s{color:var(--text-light);margin-top:2px;font-size:12px}.mode-callout{background:var(--green-soft);border:1px solid var(--green-pale);border-radius:var(--radius-md);grid-template-columns:32px 1fr;align-items:flex-start;gap:12px;margin:0 18px 14px;padding:14px 16px;display:grid}.mode-callout .ic{border:1px solid var(--green-pale);width:32px;height:32px;color:var(--green-mid);background:#fff;border-radius:8px;place-items:center;font-size:16px;display:grid}.mode-callout .t{color:var(--green-dark);font-size:13px;font-weight:700}.mode-callout .s{color:var(--text-mid);margin-top:3px;font-size:12px;line-height:1.5}.current-card{background:var(--cream-dark);border:1px solid var(--line-soft);border-radius:var(--radius-md);margin:0 18px 14px;padding:14px 16px}.current-card .label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-light);font-size:10px;font-weight:700}.current-card .when{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);margin-top:4px;font-size:18px;font-weight:700}.current-card .meta{color:var(--text-mid);margin-top:3px;font-size:12px}.week-nav{justify-content:space-between;align-items:center;gap:10px;padding:0 18px 6px;display:flex}.week-nav .arrow{border:1px solid var(--line);width:32px;height:32px;color:var(--green-dark);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:8px;place-items:center;font-size:16px;display:grid}.week-nav .arrow:hover{background:var(--green-soft)}.week-nav .arrow[disabled],.week-nav .arrow.disabled{opacity:.4;cursor:not-allowed}.week-nav .range{color:var(--green-dark);font-size:13px;font-weight:600}.day-strip{grid-template-columns:repeat(7,1fr);gap:6px;padding:0 18px 14px;display:grid}.day{border:1px solid var(--line);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:10px;padding:8px 4px 6px}.day .dn{color:var(--text-light);text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:600}.day .dd{color:var(--text-dark);margin-top:2px;font-size:16px;font-weight:700}.day .dc{color:var(--green-mid);margin-top:3px;font-size:9px;font-weight:600}.day:hover{border-color:var(--green-light)}.day.selected{background:var(--green-mid);border-color:var(--green-mid)}.day.selected .dn,.day.selected .dd,.day.selected .dc{color:#fff}.day.full.selected{background:var(--green-mid);border-color:var(--green-mid)}.day.current{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.day.current .dc{color:var(--gold-dark)}.day.closed{background:var(--cream-dark);cursor:not-allowed}.day.closed .dn,.day.closed .dd{color:var(--text-light)}.day.closed .dc{color:var(--text-light);font-weight:500}.day.past{opacity:.4;cursor:not-allowed}.day.full{background:#fff}.day.full .dc{color:var(--text-light)}.time-section{padding:0 18px 6px}.time-section .head{text-transform:uppercase;letter-spacing:.6px;color:var(--text-light);margin:12px 0 8px;font-size:10px;font-weight:700}.time-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.slot{border:1px solid var(--line);text-align:center;color:var(--text-dark);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:10px;padding:12px 8px;font-size:13px;font-weight:600;position:relative}.slot:hover{border-color:var(--green-light);background:var(--green-soft)}.slot .lab{color:var(--text-light);text-transform:uppercase;letter-spacing:.4px;margin-top:3px;font-size:9px;font-weight:600;display:block}.slot.selected{background:var(--green-mid);border-color:var(--green-mid);color:#fff}.slot.selected .lab{color:#ffffffd9}.slot.booked{background:var(--cream-dark);color:var(--text-light);cursor:not-allowed;text-decoration:line-through}.slot.booked:hover{border-color:var(--line);background:var(--cream-dark)}.slot.current{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);color:var(--gold-ink);background:var(--gold-pale)}.slot.current .lab{color:var(--gold-dark)}.slot.past{opacity:.35;cursor:not-allowed;text-decoration:line-through}.closed-state{background:var(--cream-dark);border:1px dashed var(--line);border-radius:var(--radius-md);text-align:center;color:var(--text-mid);margin:10px 18px 18px;padding:22px 16px;font-size:13px;line-height:1.5}.closed-state .big{color:var(--green-dark);margin-bottom:4px;font-weight:700}.stick{background:var(--cream);border-top:1px solid var(--line);z-index:2;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px 18px 14px;display:grid;position:sticky;bottom:64px}.stick .picked{color:var(--text-mid);font-size:12px;line-height:1.4}.stick .picked .when{color:var(--green-dark);font-size:14px;font-weight:700}.stick .picked.empty .when{color:var(--text-light);font-weight:500}.stick .go{background:var(--green-mid);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:0;padding:12px 18px;font-size:13px;font-weight:700}.stick .go[disabled]{background:var(--line);color:var(--text-light);cursor:not-allowed}.change-summary{grid-template-columns:1fr 24px 1fr;align-items:center;gap:8px;margin:14px 0 10px;display:grid}.change-summary .col{background:var(--cream-dark);border:1px solid var(--line-soft);border-radius:10px;padding:10px 12px}.change-summary .col .h{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);font-size:9px;font-weight:700}.change-summary .col.new{background:var(--green-soft);border-color:var(--green-pale)}.change-summary .col.new .h{color:var(--green-mid)}.change-summary .col .w{color:var(--green-dark);margin-top:2px;font-size:13px;font-weight:700}.change-summary .arrow{text-align:center;color:var(--green-mid);font-size:20px}.apt-legend{color:var(--text-light);flex-wrap:wrap;gap:10px 14px;padding:0 18px 14px;font-size:11px;display:flex}.apt-legend .key{align-items:center;gap:6px;display:inline-flex}.apt-legend .sw{border:1px solid var(--line);background:#fff;border-radius:4px;width:14px;height:14px}.apt-legend .sw.booked{background:var(--cream-dark)}.apt-legend .sw.current{border-color:var(--gold);background:var(--gold-pale)}.apt-legend .sw.selected{background:var(--green-mid);border-color:var(--green-mid)}.skip-row{text-align:center;color:var(--text-light);margin:4px 0 12px;font-size:12px}.skip-row a{color:var(--green-mid);font-weight:600;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.skip-row a:hover{text-decoration:underline}.toggle-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.toggle-row:last-child{border-bottom:none}.toggle-row .body{flex:1;min-width:0}.toggle-row .body .t{color:var(--text-dark);font-size:14px;font-weight:600}.toggle-row .body .s{color:var(--text-light);margin-top:2px;font-size:12px}.switch{appearance:none;background:var(--line);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:44px;height:26px;margin:0;padding:0;transition:background .2s;position:relative}.switch:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch:checked{background:var(--green-mid)}.switch:checked:before{transform:translate(18px)}.switch:disabled{opacity:.7;cursor:not-allowed}.wa-msg{gap:10px;padding:10px 16px;display:flex}.wa-msg .bubble{background:var(--white);border:1px solid var(--line);max-width:75%;color:var(--text-dark);box-shadow:var(--shadow-soft);border-radius:12px 12px 12px 2px;padding:10px 12px;font-size:13px;line-height:1.45}.wa-msg.out{justify-content:flex-end}.wa-msg.out .bubble{background:var(--green-soft);border-color:var(--green-pale);border-radius:12px 12px 2px}.wa-msg .ts{color:var(--text-light);text-align:right;margin-top:4px;font-size:10px;font-weight:500}.wa-day{text-align:center;color:var(--text-light);text-transform:uppercase;letter-spacing:.6px;padding:14px 0 6px;font-size:11px;font-weight:700}.faq-item{border-bottom:1px solid var(--line-soft)}.faq-item:last-child{border-bottom:none}.faq-q{cursor:pointer;color:var(--text-dark);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.faq-q .chev{color:var(--text-light);font-size:18px;transition:transform .2s}.faq-item.open .faq-q .chev{transform:rotate(180deg)}.faq-a{color:var(--text-mid);padding:0 16px 14px;font-size:13px;line-height:1.6;display:none}.faq-item.open .faq-a{display:block}.faq-a a{color:var(--green-mid);text-decoration:underline}.policy-doc{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);color:var(--text-mid);margin:0 18px 16px;padding:18px 18px 20px;font-size:13px;line-height:1.65}.policy-doc h3{margin-bottom:8px;font-size:17px}.policy-doc h4{font-size:13px;font-family:var(--font-inter), "Inter", sans-serif;text-transform:uppercase;letter-spacing:.5px;color:var(--green-mid);margin:14px 0 6px;font-weight:700}.policy-doc p{margin:0 0 10px}.policy-doc ul{margin:0 0 10px;padding-left:18px}.policy-doc li{margin-bottom:4px}.policy-doc a{color:var(--green-mid);text-decoration:underline}.tab-row{gap:6px;padding:0 18px 14px;display:flex}.tab-row .tab{text-align:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-mid);cursor:pointer;flex:1;padding:10px 4px;font-size:12px;font-weight:600}.tab-row .tab.active{background:var(--green-dark);color:#fff;border-color:var(--green-dark)}.tl-wrap{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);margin:18px 18px 12px;overflow:hidden}.tl-summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:14px 16px;list-style:none;display:flex}.tl-summary::-webkit-details-marker{display:none}.tl-summary .lab{color:var(--green-dark);flex:1;font-size:14px;font-weight:700}.tl-summary .count{color:var(--text-light);margin-right:4px;font-size:12px}.tl-summary .chev{color:var(--text-light);font-size:14px;transition:transform .2s}details[open]>.tl-summary{border-bottom:1px solid var(--line-soft)}details[open]>.tl-summary .chev{transform:rotate(180deg)}.tl-body{padding:18px 16px 8px}.tl-list{margin:0;padding:0;list-style:none;position:relative}.tl-list:before{content:"";background:var(--line);width:2px;position:absolute;top:4px;bottom:4px;left:11px}.tl-node{--timeline-accent:var(--green-mid);grid-template-columns:24px 1fr;column-gap:12px;padding:0 0 18px;display:grid;position:relative}.tl-node:last-child{padding-bottom:0}.tl-dot{background:var(--timeline-accent);width:16px;height:16px;box-shadow:0 0 0 4px var(--white);border-radius:50%;flex-shrink:0;margin-top:4px;position:relative}.tl-card{background:var(--white);border:1px solid var(--line);border-left:3px solid var(--timeline-accent);border-radius:10px;padding:10px 12px}.tl-date{color:var(--text-light);margin-bottom:2px;font-size:11px;font-weight:600}.tl-title{color:var(--green-dark);font-size:13px;font-weight:700;line-height:1.35}.tl-detail{color:var(--text-mid);margin-top:2px;font-size:12px;line-height:1.45}.tl-meta{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.tl-meta .chip{background:var(--gold-pale);color:var(--gold-ink);text-transform:uppercase;letter-spacing:.4px;border-radius:999px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.tl-node[data-kind=account_created]{--timeline-accent:var(--gold)}.tl-node[data-kind=payment]{--timeline-accent:#16a34a}.tl-node[data-kind=plan_started]{--timeline-accent:#2563eb}.tl-node[data-kind=slot_changed]{--timeline-accent:#94a3b8}.tl-node[data-kind=break_started],.tl-node[data-kind=break_ended]{--timeline-accent:#f59e0b}.tl-node[data-kind=referral_converted]{--timeline-accent:var(--gold)}.tl-node[data-kind=plan_lapsed]{--timeline-accent:#9ca3af}.tl-node[data-kind=plan_resumed]{--timeline-accent:var(--green-mid)}.tl-node[data-kind=plan_lapsed] .tl-card{opacity:.78}.tl-node[data-kind=plan_lapsed] .tl-title{color:var(--text-mid)}.tl-node[data-kind=plan_ends] .tl-dot{background:var(--white);box-shadow:0 0 0 4px var(--white);border:2px dashed #cbd5e1}.tl-node[data-kind=plan_ends] .tl-card{background:#f8fafc;border:1.5px dashed #cbd5e1}.tl-node[data-kind=plan_ends] .tl-title{color:var(--text-mid)}.tl-node[data-kind=plan_ends] .tl-upcoming{color:#475569;text-transform:uppercase;letter-spacing:.5px;vertical-align:middle;background:#e2e8f0;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:9px;font-weight:700;display:inline-block}.tl-gap{grid-template-columns:24px 1fr;column-gap:12px;padding:0 0 18px;display:grid;position:relative}.tl-gap .tl-gap-rail{align-self:stretch;width:16px;margin:0 4px;position:relative}.tl-gap .tl-gap-rail:before{content:"";background:var(--white);width:6px;position:absolute;top:-4px;bottom:-4px;left:5px}.tl-gap .tl-gap-rail:after{content:"";border-left:2px dashed #cbd5e1;position:absolute;top:0;bottom:0;left:7px}.tl-gap-chip{color:#475569;background:#f1f5f9;border:1px dashed #94a3b8;border-radius:10px;align-self:center;padding:10px 14px;font-size:12px;line-height:1.5}.tl-gap-chip .t{color:#334155;font-size:13px;font-weight:700;display:block}.tl-gap-chip .when{color:#64748b;font-family:ui-monospace,SF Mono,monospace;font-size:11px}.tl-muted{color:var(--text-light);padding:14px 16px;font-size:13px}@media (max-width:720px){.tl-card{padding:9px 11px}.tl-title{font-size:13px}.tl-detail{font-size:12px}.tl-gap-chip{padding:9px 12px}}.lapsed-hero{color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#4b3b1f 0%,#6b4f00 100%);margin:14px 18px 16px;padding:18px 18px 16px}.lapsed-hero .label{text-transform:uppercase;letter-spacing:.6px;color:var(--gold-light);font-size:10px;font-weight:700}.lapsed-hero .name{font-family:var(--font-playfair), "Playfair Display", serif;margin-top:4px;font-size:22px;font-weight:700}.lapsed-hero .meta{opacity:.85;margin-top:4px;font-size:13px}.lapsed-hero .resume-line{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:10px;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;font-size:13px;display:flex}.lapsed-hero .resume-line .ic{font-size:14px}.lapsed-hero .resume-line strong{color:var(--gold-light);font-weight:700}.renew-intro{color:var(--text-mid);margin:0 18px 10px;font-size:13px;line-height:1.5}.renew-card{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);margin:0 18px 12px;padding:16px;transition:border-color .15s,background .15s}.renew-card.is-on{border-color:var(--green-mid);background:var(--green-soft)}.renew-card.is-toggle{cursor:pointer}.renew-card .rc-head{align-items:flex-start;gap:12px;display:flex}.renew-card .rc-icon{background:var(--gold-pale);width:38px;height:38px;color:var(--gold-ink);border-radius:10px;flex-shrink:0;place-items:center;font-size:18px;display:grid}.renew-card.is-on .rc-icon{background:var(--green-mid);color:#fff}.renew-card .rc-title-wrap{flex:1;min-width:0}.renew-card .rc-title{color:var(--green-dark);font-size:14px;font-weight:700}.renew-card .rc-sub{color:var(--text-mid);margin-top:2px;font-size:12px;line-height:1.4}.renew-card .rc-check{border:1.5px solid var(--line);background:var(--white);border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;margin-top:2px;display:grid}.renew-card.is-on .rc-check{background:var(--green-mid);border-color:var(--green-mid)}.renew-card .rc-check svg{opacity:0;width:13px;height:13px}.renew-card.is-on .rc-check svg{opacity:1}.renew-card .rc-body{margin-top:14px}.rc-selector-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);margin:0 0 8px;font-size:10px;font-weight:700}.rc-pill-row{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.rc-pill{background:var(--white);border:1px solid var(--line);color:var(--text-mid);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex;position:relative}.rc-pill.active{background:var(--green-mid);color:#fff;border-color:var(--green-mid)}.rc-prev-badge{background:var(--gold-pale);border:1px solid var(--gold);color:var(--gold-ink);text-transform:uppercase;letter-spacing:.4px;vertical-align:middle;white-space:nowrap;border-radius:999px;margin-left:2px;padding:2px 7px;font-size:9px;font-weight:700;display:inline-block}.rc-pill.active .rc-prev-badge{color:#fff;background:#ffffff2e;border-color:#ffffff4d}.rc-info-row{border-top:1px dashed var(--line-soft);justify-content:space-between;align-items:center;padding:6px 0;font-size:12px;display:flex}.rc-info-row:first-child{border-top:none}.rc-info-row .lbl{color:var(--text-light)}.rc-info-row .vl{color:var(--green-dark);font-weight:700}.rc-note{background:var(--gold-pale);color:var(--gold-ink);border:1px solid #f0d97a;border-radius:8px;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 11px;font-size:11px;line-height:1.45;display:flex}.rc-note.green{background:var(--green-soft);border-color:var(--green-light,#b7dfc4);color:var(--green-dark)}.rc-note .ic{flex-shrink:0;font-size:13px}.renew-summary{background:var(--white);border:1.5px solid var(--gold);border-radius:var(--radius-md);box-shadow:var(--shadow-mid);margin:14px 18px 12px;padding:16px}.renew-summary .rs-head{text-transform:uppercase;letter-spacing:.6px;color:var(--gold-ink);margin-bottom:10px;font-size:11px;font-weight:700}.rs-line{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;padding:8px 0;display:flex}.rs-line:first-of-type{border-top:none}.rs-line .nm{color:var(--green-dark);font-size:13px;font-weight:600}.rs-line .nm small{color:var(--text-light);margin-top:2px;font-size:11px;font-weight:500;display:block}.rs-line .pr{color:var(--green-dark);white-space:nowrap;font-size:13px;font-weight:700}.rs-divider{border:0;border-top:1px dashed var(--line);margin:8px 0}.rs-total{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.rs-total .lbl{color:var(--text-mid);font-size:13px;font-weight:700}.rs-total .amt{font-family:var(--font-playfair), "Playfair Display", serif;color:var(--green-dark);font-size:26px;font-weight:700}.rs-pay{border-radius:var(--radius-md);background:var(--gold);width:100%;color:var(--green-dark);font-size:15px;font-weight:700;font-family:var(--font-inter), "Inter", sans-serif;text-align:center;cursor:pointer;border:none;margin-top:14px;padding:14px 16px;text-decoration:none;display:block}.rs-pay[disabled]{color:var(--text-light);cursor:not-allowed;background:#e7e5e4}.rs-note{color:var(--text-light);text-align:center;margin-top:8px;font-size:11px}.renew-card .rc-slot-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);margin:4px 0 8px;font-size:10px;font-weight:700}.renew-card .rc-slot-pills{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.renew-card .rc-slot-pill{background:var(--white);border:1px solid var(--line);color:var(--text-mid);cursor:pointer;border-radius:999px;padding:7px 11px;font-family:inherit;font-size:12px;font-weight:600}.renew-card .rc-slot-pill.active{background:var(--green-mid);color:#fff;border-color:var(--green-mid)}.renew-card .rc-slot-note{color:var(--text-light);margin:0 0 6px;font-size:11px;line-height:1.5}.renew-err{color:var(--red,#c0392b);text-align:center;margin:10px 18px 0;font-size:13px}.pwa-install-banner{left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md,12px);align-items:flex-start;gap:12px;max-width:480px;margin:0 auto;padding:14px;animation:.24s ease-out pwa-install-rise;display:flex;position:fixed;box-shadow:0 10px 28px #1a3d2b2e}@keyframes pwa-install-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pwa-install-icon img{border-radius:10px;width:44px;height:44px;display:block;box-shadow:0 2px 6px #00000014}.pwa-install-body{flex:1;min-width:0}.pwa-install-title{color:var(--green-dark);margin-bottom:2px;font-size:14px;font-weight:700}.pwa-install-sub{color:var(--text-mid);margin-bottom:10px;font-size:12.5px;line-height:1.4}.pwa-install-cta{appearance:none;background:var(--green-mid);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600}.pwa-install-cta-ghost{background:var(--white);color:var(--green-dark);border:1px solid var(--line)}.pwa-install-close{color:var(--text-light);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-family:inherit;font-size:20px;line-height:1;position:absolute;top:6px;right:8px}.install-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md,12px);align-items:center;gap:12px;margin:12px 0 16px;padding:14px;display:flex;box-shadow:0 4px 14px #1a3d2b0f}.install-card-icon img{border-radius:12px;width:52px;height:52px;display:block;box-shadow:0 2px 6px #00000014}.install-card-body{flex:1;min-width:0}.install-card-title{color:var(--green-dark);margin-bottom:2px;font-size:14px;font-weight:700}.install-card-sub{color:var(--text-mid);font-size:12.5px;line-height:1.4}.install-card-cta{appearance:none;background:var(--green-mid);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:999px;flex-shrink:0;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600}.install-card-cta:active{transform:translateY(1px)}@media (max-width:380px){.install-card{flex-wrap:wrap}.install-card-cta{width:100%}}.install-sheet-backdrop{z-index:100;background:#0d1c1673;justify-content:center;align-items:flex-end;animation:.18s ease-out pwa-install-rise;display:flex;position:fixed;inset:0}.install-sheet{background:var(--white);box-sizing:border-box;width:100%;max-width:480px;padding:20px 20px 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0;position:relative;box-shadow:0 -10px 30px #1a3d2b38}@media (min-width:600px){.install-sheet-backdrop{align-items:center}.install-sheet{border-radius:16px}}.install-sheet-close{color:var(--text-light);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-family:inherit;font-size:22px;line-height:1;position:absolute;top:8px;right:10px}.install-sheet-icon img{border-radius:12px;width:48px;height:48px;margin-bottom:10px;display:block;box-shadow:0 2px 6px #00000014}.install-sheet-title{color:var(--green-dark);margin-bottom:10px;font-size:16px;font-weight:700}.install-sheet-steps{color:var(--text-mid);margin:0;padding-left:22px;font-size:13.5px;line-height:1.5}.install-sheet-steps li{margin-bottom:6px}.install-sheet-steps strong{color:var(--green-dark);font-weight:600}.install-sheet-note{color:var(--text-light);margin-top:12px;font-size:12px;line-height:1.45}
