@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";body{background:var(--background);color:var(--foreground);font-family:var(--font-ui);font-size:.9375rem;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.frames-page{padding:48px 32px 96px;max-width:1600px;margin:0 auto}.frames-page>h1{margin:0 0 8px}.frames-page>.lead{color:var(--muted-foreground);max-width:64ch;margin:0 0 48px}.frame-group{margin-bottom:64px}.frame-group-h{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:24px;border-bottom:1px solid var(--border)}.frame-group-h h2{margin:0}.frame-group-h .ref{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--tertiary-foreground)}.frame-group-h .lead-sm{color:var(--muted-foreground);font-size:.875rem}.frame-row{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}.frame{display:flex;flex-direction:column;gap:10px}.frame-label{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--muted-foreground);display:flex;gap:8px;align-items:baseline}.frame-label .tag{background:var(--card-nested);border:1px solid var(--border);padding:2px 8px;border-radius:999px;color:var(--foreground)}.frame-desktop{width:1440px;height:900px;background:var(--background);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow-md);overflow:hidden;position:relative}.frame-desktop-tall{height:1100px}.frame-desktop-short{height:760px}.frame-phone{width:390px;height:844px;background:var(--background);border:10px solid #2a2418;border-radius:44px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}.phone-notch{position:absolute;top:8px;left:50%;transform:translate(-50%);width:110px;height:26px;background:#2a2418;border-radius:16px;z-index:50}.phone-bar{position:absolute;top:0;left:0;right:0;height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-size:.8125rem;font-weight:600;z-index:40;color:var(--foreground)}.phone-bar .icons{display:flex;gap:6px;align-items:center;color:var(--foreground)}.phone-content{position:absolute;top:44px;right:0;bottom:0;left:0;overflow:hidden;display:flex;flex-direction:column}.ic{width:16px;height:16px;stroke-width:2;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.ic-paw{stroke:none;fill:currentColor}.ic-sm{width:14px;height:14px}.ic-md{width:20px;height:20px}.ic-lg{width:24px;height:24px}.app-shell{display:flex;height:100%}.sidebar{width:240px;background:var(--background);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 12px}.sb-brand{display:flex;align-items:center;gap:10px;padding:8px 12px 24px;font-family:var(--font-display);font-weight:700;font-size:1.0625rem}.sb-brand .ic-paw{color:var(--brand-primary);width:22px;height:22px}.sb-section-label{font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tertiary-foreground);padding:16px 12px 6px;font-weight:600}.sb-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;cursor:pointer;color:var(--foreground);font-size:.9375rem;font-weight:500;position:relative;text-decoration:none}.sb-item:hover{background:var(--card-nested)}.sb-item[data-active=true]{background:var(--brand-primary-soft);color:var(--brand-primary)}.sb-item[data-active=true]:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;background:var(--brand-primary);border-radius:0 3px 3px 0}.sb-item .count{margin-left:auto;font-size:.75rem;color:var(--muted-foreground);background:var(--card-nested);padding:2px 8px;border-radius:999px}.sb-item[data-active=true] .count{background:#ff6b4a2e;color:var(--brand-primary)}.sb-spacer{flex:1}.main{flex:1;overflow:auto;display:flex;flex-direction:column}.topbar{height:64px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--background);position:sticky;top:0;z-index:10}.topbar-l{display:flex;align-items:center;gap:12px}.topbar-r{display:flex;align-items:center;gap:8px}.breadcrumb{font-size:.8125rem;color:var(--muted-foreground);display:flex;align-items:center;gap:6px}.breadcrumb .crumb-active{color:var(--foreground);font-weight:500}.page-body{padding:32px;display:flex;flex-direction:column;gap:32px}.page-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-h h1{margin:0}.page-h .eyebrow{color:var(--muted-foreground);font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase;font-weight:500;margin-bottom:6px}.avatar{width:40px;height:40px;border-radius:50%;background:var(--card-nested);display:grid;place-items:center;font-weight:600;color:var(--muted-foreground);flex-shrink:0;overflow:hidden;font-family:var(--font-display);font-size:.875rem}.avatar-sm{width:28px;height:28px;font-size:.75rem}.avatar-lg{width:56px;height:56px;font-size:1.125rem}.avatar-xl{width:80px;height:80px;font-size:1.5rem;border-radius:24px}.avatar-coral{background:var(--brand-primary-soft);color:var(--brand-primary)}.avatar-cream{background:var(--card-nested);color:var(--muted-foreground)}.avatar-info{background:color-mix(in oklch,var(--info) 14%,transparent);color:var(--info)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-ui);font-weight:600;font-size:.9375rem;line-height:1;padding:0 16px;height:40px;min-height:40px;border-radius:var(--radius-button);border:1px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none}.btn-default{background:var(--brand-primary);color:var(--brand-primary-fg)}.btn-secondary{background:var(--brand-secondary);color:#fff}.btn-outline{background:var(--card);color:var(--foreground);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--foreground)}.btn-destructive{background:var(--destructive);color:#fff}.btn-link{background:transparent;color:var(--brand-primary);padding:0;height:auto;text-decoration:underline;text-underline-offset:3px}.btn-sm{height:32px;padding:0 12px;font-size:.8125rem;border-radius:10px}.btn-sm .ic{width:14px;height:14px}.btn-lg{height:48px;padding:0 20px;font-size:1rem}.btn-icon{width:40px;height:40px;padding:0}.btn-icon.btn-sm{width:32px;height:32px}.btn-fab{position:absolute;right:16px;bottom:96px;height:56px;min-width:56px;padding:0 20px;border-radius:999px;background:var(--brand-primary);color:#fff;font-weight:600;box-shadow:var(--shadow-lg);display:inline-flex;align-items:center;gap:8px;border:none;z-index:25}.input,.textarea,.select{width:100%;font-family:var(--font-ui);font-size:.9375rem;color:var(--foreground);background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-input);padding:10px 12px;min-height:40px}.input::-moz-placeholder{color:var(--tertiary-foreground)}.input::placeholder{color:var(--tertiary-foreground)}.input-search{padding-left:36px;background:var(--card) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239b8f7e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>") 12px center no-repeat}.field-label{display:block;font-size:.8125rem;font-weight:500;color:var(--muted-foreground);margin-bottom:6px}.textarea{min-height:88px;resize:vertical;line-height:1.55}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px}.card-tight{padding:16px}.card-hero{border-radius:var(--radius-hero);padding:28px}.card-raised{box-shadow:var(--shadow-md)}.card-nested{background:var(--card-nested);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px}.card-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.card-h h3{margin:0}.card-eyebrow{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);font-weight:500}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:500}.badge .dot{width:6px;height:6px;border-radius:50%}.badge-neutral{background:var(--card-nested);color:var(--muted-foreground);border:1px solid var(--border)}.badge-coral{background:var(--brand-primary-soft);color:var(--brand-primary)}.badge-sage{background:var(--brand-secondary-soft);color:color-mix(in oklch,var(--brand-secondary) 80%,black)}.badge-warning{background:color-mix(in oklch,var(--warning) 14%,transparent);color:var(--warning)}.badge-destructive{background:color-mix(in oklch,var(--destructive) 12%,transparent);color:var(--destructive)}.badge-info{background:color-mix(in oklch,var(--info) 14%,transparent);color:var(--info)}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-size:.8125rem;font-weight:500;background:var(--card);color:var(--foreground);border:1px solid var(--border-strong);cursor:pointer}.chip[data-active=true]{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.chip-sm{padding:4px 10px;font-size:.75rem}.tabs-underline{display:flex;gap:4px;border-bottom:1px solid var(--border)}.tabs-underline .tab[data-active=true]{color:var(--foreground);border-bottom-color:var(--brand-primary)}.tabs-pill{display:inline-flex;padding:4px;gap:4px;background:var(--card-nested);border-radius:999px}.tabs-pill .tab{padding:8px 16px;font-size:.8125rem;font-weight:500;color:var(--muted-foreground);border-radius:999px;cursor:pointer}.tabs-pill .tab[data-active=true]{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-sm)}.switch{position:relative;display:inline-block;width:40px;height:24px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-strong);border-radius:999px;cursor:pointer}.switch .slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:var(--shadow-sm);transition:transform .16s}.switch input:checked+.slider{background:var(--brand-primary)}.switch input:checked+.slider:before{transform:translate(16px)}.phone-topbar{padding:8px 16px;display:flex;align-items:center;justify-content:space-between;background:var(--background);border-bottom:1px solid transparent}.phone-topbar .brand{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:700;font-size:1rem}.phone-topbar .brand .ic-paw{color:var(--brand-primary);width:16px;height:16px}.phone-scroll{flex:1;overflow:auto;padding:16px 16px 120px;display:flex;flex-direction:column;gap:16px;scrollbar-width:none}.phone-scroll::-webkit-scrollbar{display:none}.bnav{position:absolute;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--border);padding:8px 16px 28px;display:grid;grid-template-columns:repeat(4,1fr);z-index:30}.bnav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;color:var(--muted-foreground);font-size:.6875rem;font-weight:500;text-decoration:none;cursor:pointer}.bnav-item .ic{width:22px;height:22px}.bnav-item[data-active=true]{color:var(--brand-primary)}.tg-dot{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--muted-foreground)}.tg-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand-secondary)}.tg-dot.off:before{background:var(--border-strong)}.row-list{display:flex;flex-direction:column}.row-list>.row-item{padding:14px 0;border-top:1px solid var(--border);display:flex;align-items:center;gap:14px}.row-list>.row-item:first-child{border-top:0;padding-top:4px}.row-list>.row-item:last-child{padding-bottom:4px}.row-grow{flex:1;min-width:0}.row-meta{font-size:.8125rem;color:var(--muted-foreground)}.streak-row{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.streak-day{background:var(--card-nested);border-radius:12px;padding:10px 6px;text-align:center;font-size:.6875rem;color:var(--muted-foreground);display:flex;flex-direction:column;align-items:center;gap:6px}.streak-day .ic-paw{width:16px;height:16px;color:var(--tertiary-foreground)}.streak-day[data-state=done]{background:var(--brand-secondary-soft)}.streak-day[data-state=done] .ic-paw{color:var(--brand-secondary)}.streak-day[data-state=today]{background:var(--brand-primary-soft)}.streak-day[data-state=today] .ic-paw{color:var(--brand-primary)}.streak-day .d{font-weight:600;color:var(--foreground);font-size:.75rem;font-feature-settings:"tnum" 1}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px 20px}.stat .label{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);font-weight:500}.stat .val{font-family:var(--font-display);font-weight:700;font-size:1.875rem;letter-spacing:-.02em;margin-top:4px;font-feature-settings:"tnum" 1}.stat .sub{color:var(--muted-foreground);font-size:.8125rem;margin-top:4px}.empty{text-align:center;padding:40px 24px;display:flex;flex-direction:column;align-items:center;gap:12px}.empty .empty-ic{width:56px;height:56px;border-radius:18px;background:var(--brand-secondary-soft);display:grid;place-items:center;color:var(--brand-secondary)}.empty .empty-ic .ic-paw{width:28px;height:28px}.empty h4{margin:0}.empty p{margin:0;color:var(--muted-foreground);max-width:36ch}.ph-photo{background:repeating-linear-gradient(135deg,var(--card-nested) 0 12px,color-mix(in oklch,var(--card-nested) 60%,white) 12px 24px);border:1px dashed var(--border-strong);border-radius:16px;display:grid;place-items:center;color:var(--tertiary-foreground);font-family:JetBrains Mono,monospace;font-size:.75rem}.cal-grid{display:grid;grid-template-columns:64px repeat(7,1fr);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;background:var(--card)}.cal-head{padding:12px 8px;background:var(--card-nested);font-size:.75rem;color:var(--muted-foreground);text-align:center;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.cal-head:last-child{border-right:0}.cal-time{padding:10px 8px;font-size:.6875rem;color:var(--tertiary-foreground);text-align:right;border-right:1px solid var(--border);border-top:1px solid var(--border);font-family:var(--font-ui);font-feature-settings:"tnum" 1}.cal-cell{border-top:1px solid var(--border);border-right:1px solid var(--border);min-height:56px;position:relative}.cal-cell:last-child{border-right:0}.cal-event{position:absolute;left:4px;right:4px;border-radius:10px;background:var(--brand-primary-soft);border:1px solid color-mix(in oklch,var(--brand-primary) 30%,transparent);color:var(--brand-primary);padding:6px 8px;font-size:.75rem;line-height:1.3;overflow:hidden}.cal-event.evt-sage{background:var(--brand-secondary-soft);border-color:color-mix(in oklch,var(--brand-secondary) 30%,transparent);color:color-mix(in oklch,var(--brand-secondary) 70%,black)}.cal-event.evt-cream{background:var(--card-nested);border-color:var(--border);color:var(--foreground)}.cal-event .ttl{font-weight:600}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.err-card{display:flex;gap:14px;padding:18px;background:color-mix(in oklch,var(--destructive) 6%,var(--card));border:1px solid color-mix(in oklch,var(--destructive) 30%,var(--border));border-radius:var(--radius-card)}.err-card .ic-wrap{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:color-mix(in oklch,var(--destructive) 12%,transparent);color:var(--destructive);flex-shrink:0}.err-card .ttl{font-weight:600}.err-card .desc{color:var(--muted-foreground);font-size:.875rem;margin-top:2px}.fab-anchor{position:absolute;right:16px;bottom:92px;z-index:25}.state-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.page{max-width:1180px;margin:0 auto;padding:48px 32px 96px}.pg-sub{color:var(--muted-foreground);max-width:64ch;margin-bottom:48px}.section{margin-top:48px}.section-h{display:flex;align-items:baseline;gap:16px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.section-h h2{margin:0}.section-h .hint{color:var(--tertiary-foreground);font-size:.8125rem;font-family:JetBrains Mono,monospace}.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0}.col-label{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--muted-foreground);margin-bottom:6px}.stack{display:flex;flex-direction:column;gap:20px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media(max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-ui);font-weight:600;font-size:.9375rem;line-height:1;padding:0 16px;height:40px;min-height:40px;border-radius:var(--radius-button);border:1px solid transparent;cursor:pointer;transition:background .12s,border-color .12s,color .12s,transform 80ms;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active{transform:translateY(1px)}.btn[disabled],.btn:disabled{opacity:.5;cursor:not-allowed}.btn .ic{width:16px;height:16px}.btn-default:hover{background:color-mix(in oklch,var(--brand-primary) 88%,black)}.btn-secondary:hover{background:color-mix(in oklch,var(--brand-secondary) 88%,black)}.btn-outline:hover,.btn-ghost:hover{background:var(--card-nested)}.btn-destructive:hover{background:color-mix(in oklch,var(--destructive) 90%,black)}.input,.textarea,.select{width:100%;font-family:var(--font-ui);font-size:.9375rem;color:var(--foreground);background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-input);padding:10px 12px;min-height:40px;transition:border-color .12s,box-shadow .12s}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--tertiary-foreground)}.input::placeholder,.textarea::placeholder{color:var(--tertiary-foreground)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-soft)}.input-search{padding-left:36px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239b8f7e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>");background-repeat:no-repeat;background-position:12px center}.input-error{border-color:var(--destructive)}.input-error:focus{box-shadow:0 0 0 3px color-mix(in oklch,var(--destructive) 18%,transparent)}.field-hint{font-size:.75rem;color:var(--muted-foreground);margin-top:6px}.field-error{font-size:.75rem;color:var(--destructive);margin-top:6px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px;box-shadow:var(--shadow-sm)}.card-raised{box-shadow:var(--shadow-md);border:1px solid var(--border)}.card-title{font-family:var(--font-display);font-weight:600;font-size:1.125rem;margin:0 0 6px}.card-desc{color:var(--muted-foreground);margin:0}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-chip);font-size:.75rem;font-weight:500;line-height:1.4;border:1px solid transparent}.badge-neutral{background:var(--card-nested);color:var(--muted-foreground);border-color:var(--border)}.badge-sage{background:var(--brand-secondary-soft);color:color-mix(in oklch,var(--brand-secondary) 85%,black)}.badge-warning{background:color-mix(in oklch,var(--warning) 12%,transparent);color:var(--warning)}.badge-info{background:color-mix(in oklch,var(--info) 12%,transparent);color:var(--info)}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-chip);font-size:.8125rem;font-weight:500;background:var(--card);color:var(--foreground);border:1px solid var(--border-strong);cursor:pointer}.chip:hover{background:var(--card-nested)}.tabs-underline{display:flex;gap:8px;border-bottom:1px solid var(--border);padding:0 4px}.tabs-underline .tab{padding:12px 16px;font-weight:500;color:var(--muted-foreground);border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px}.tabs-pill{display:inline-flex;padding:4px;gap:4px;background:var(--card-nested);border-radius:var(--radius-chip)}.tabs-pill .tab{padding:8px 16px;font-size:.8125rem;font-weight:500;color:var(--muted-foreground);border-radius:var(--radius-chip);cursor:pointer}.switch{position:relative;display:inline-block;width:40px;height:24px}.switch .slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-strong);border-radius:999px;cursor:pointer;transition:background .16s}.switch .slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .16s;box-shadow:var(--shadow-sm)}.checkbox{width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:4px;background:var(--card);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.checkbox[data-checked=true]{background:var(--brand-primary);border-color:var(--brand-primary)}.checkbox[data-checked=true] svg{display:block}.checkbox svg{display:none;width:12px;height:12px;color:#fff}.radio{width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:50%;background:var(--card);cursor:pointer;position:relative}.radio[data-checked=true]{border-color:var(--brand-primary)}.radio[data-checked=true]:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;background:var(--brand-primary);border-radius:50%}.tt-host{position:relative;display:inline-block}.tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);background:var(--foreground);color:var(--background);font-size:.75rem;padding:6px 10px;border-radius:8px;white-space:nowrap;box-shadow:var(--shadow-md)}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--foreground)}.skel{background:linear-gradient(90deg,var(--card-nested) 25%,color-mix(in oklch,var(--card-nested) 70%,white) 50%,var(--card-nested) 75%);background-size:200% 100%;animation:shimmer 1.6s infinite linear;border-radius:8px;height:12px}.toast{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);max-width:360px}.toast .ic-wrap{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.toast-success .ic-wrap{background:var(--brand-secondary-soft);color:var(--brand-secondary)}.toast-error .ic-wrap{background:color-mix(in oklch,var(--destructive) 12%,transparent);color:var(--destructive)}.toast-info .ic-wrap{background:var(--brand-primary-soft);color:var(--brand-primary)}.toast .ttl{font-weight:600;font-size:.875rem}.toast .desc{font-size:.8125rem;color:var(--muted-foreground);margin-top:2px}.modal-frame{background:#2a241852;border-radius:var(--radius-card);padding:32px;display:grid;place-items:center;min-height:260px}.modal{background:var(--popover);border-radius:var(--radius-modal);width:min(420px,100%);box-shadow:var(--shadow-lg);overflow:hidden}.modal-header{padding:24px 24px 12px}.modal-body{padding:0 24px;color:var(--muted-foreground)}.modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:20px 24px}.sheet-frame{background:#2a241852;border-radius:var(--radius-card);padding:0;min-height:320px;position:relative;overflow:hidden}.sheet-bottom{position:absolute;left:0;right:0;bottom:0;background:var(--popover);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding:12px 20px 24px}.sheet-grabber{width:36px;height:4px;background:var(--border-strong);border-radius:999px;margin:0 auto 12px}.sheet-right{position:absolute;top:0;right:0;bottom:0;width:320px;background:var(--popover);padding:24px;box-shadow:-10px 0 24px #2a241814}.sidebar-frame{background:var(--card-nested);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;height:520px;display:flex}.sidebar{width:240px;background:var(--background);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 12px;gap:4px}.sb-brand{display:flex;align-items:center;gap:10px;padding:8px 12px 20px;font-family:var(--font-display);font-weight:700;font-size:1.0625rem}.sb-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;cursor:pointer;color:var(--foreground);font-size:.9375rem;font-weight:500;position:relative}.sb-item[data-active=true]:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--brand-primary);border-radius:0 3px 3px 0}.sb-item .ic{width:18px;height:18px}.sb-profile{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border);margin:8px -12px -20px;padding:16px 20px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--card-nested);display:grid;place-items:center;font-weight:600;font-size:.8125rem;color:var(--muted-foreground);flex-shrink:0;overflow:hidden}.avatar-sage{background:var(--brand-secondary-soft);color:color-mix(in oklch,var(--brand-secondary) 80%,black)}.phone-frame{width:390px;height:200px;background:var(--background);border:1px solid var(--border-strong);border-radius:28px;position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.bnav{position:absolute;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--border);padding:8px 16px 24px;display:grid;grid-template-columns:repeat(4,1fr)}.bnav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;color:var(--muted-foreground);font-size:.6875rem;font-weight:500;cursor:pointer}.bnav-item[data-active=true] .ic{transform:translateY(-2px)}.meta-code{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--tertiary-foreground)}.legend-line{width:24px;height:2px;background:var(--border-strong)}.ic{width:16px;height:16px;stroke-width:2;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.pg-eyebrow{color:var(--muted-foreground)}.pg-title{margin:8px 0}.section-h{display:flex;align-items:baseline;gap:16px;margin-bottom:24px}.section-h .hint{color:var(--tertiary-foreground);font-size:.8125rem}.swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.swatch{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:14px;box-shadow:var(--shadow-sm)}.swatch .chip{width:100%;height:96px;border-radius:12px;border:1px solid var(--border)}.swatch .name{margin-top:12px;font-weight:600;font-size:.875rem}.swatch .var{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--muted-foreground)}.swatch .hex{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--tertiary-foreground);margin-top:2px}.ramp{display:grid;grid-template-columns:220px 1fr;gap:12px 32px;align-items:baseline}.ramp .meta{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--muted-foreground);padding-top:14px}.ramp .sample{padding:12px 0;border-top:1px solid var(--border)}.ramp .sample:first-of-type{border-top:0}.space-row{display:flex;align-items:end;gap:24px;flex-wrap:wrap}.space-cell{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.space-bar{background:var(--brand-primary-soft);border:1px dashed var(--brand-primary);height:32px;border-radius:6px}.space-label{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--muted-foreground)}.demo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.demo{background:var(--card);padding:24px;min-height:120px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--border)}.demo .demo-label{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--muted-foreground)}.radii-demo{background:var(--card-nested);border:1px solid var(--border);padding:20px;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;min-height:120px}.radii-demo .box{background:var(--brand-primary);width:60%;height:48px}.a11y-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.a11y{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px}.a11y .pair{padding:16px;border-radius:12px;font-size:.9375rem}.a11y .meta{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--muted-foreground);margin-top:10px}.paw{width:24px;height:24px;display:inline-block;vertical-align:middle}.auth-split{display:grid;grid-template-columns:1fr 1fr;height:100%}.auth-hero{background:var(--bg-illustration);border-right:1px solid var(--border);padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-hero .photo-strip{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,rgba(42,36,24,.04) 0 24px,transparent 24px 48px),radial-gradient(circle at 70% 70%,color-mix(in oklch,var(--brand-primary) 14%,transparent),transparent 50%);opacity:.12;pointer-events:none}.auth-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:1.125rem;position:relative}.auth-pull{position:relative}.auth-pull h1{margin:0 0 12px;font-family:var(--font-display);font-weight:700;font-size:2.5rem;line-height:1.05;letter-spacing:-.02em;max-width:16ch}.auth-pull p{color:var(--muted-foreground);max-width:36ch;margin:0}.auth-form{padding:56px;display:flex;flex-direction:column;justify-content:center;max-width:480px;width:100%}.auth-form h2{margin:0 0 6px;font-family:var(--font-display);font-weight:700;font-size:1.75rem;letter-spacing:-.01em}.auth-form .sub{color:var(--muted-foreground);margin:0 0 28px}.auth-form .divider-or{display:flex;align-items:center;gap:12px;color:var(--tertiary-foreground);font-size:.75rem;margin:24px 0}.auth-form .divider-or:before,.auth-form .divider-or:after{content:"";flex:1;height:1px;background:var(--border)}.auth-foot{color:var(--tertiary-foreground);font-size:.8125rem;margin-top:28px}.auth-foot a{color:var(--muted-foreground);text-decoration:underline}.invite-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-hero);box-shadow:var(--shadow-lg);padding:32px;width:420px;display:flex;flex-direction:column;gap:20px}.invite-avatars{position:relative;height:80px;display:flex;align-items:center;gap:12px}.invite-avatars .a{border:3px solid var(--card)}.invite-line{flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--border-strong) 0 6px,transparent 6px 12px)}.onb-page{width:100%;height:100%;display:grid;place-items:center;background:var(--bg-illustration)}.onb-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-hero);padding:40px;width:540px;box-shadow:var(--shadow-md)}.onb-steps{display:flex;gap:6px;margin-bottom:24px}.onb-steps .dot{flex:1;height:4px;background:var(--border-strong);border-radius:2px}.onb-steps .dot[data-active=true]{background:var(--brand-primary)}.onb-card h2{margin:0 0 8px;font-family:var(--font-display);font-weight:700;font-size:1.75rem;letter-spacing:-.01em}.onb-card .sub{color:var(--muted-foreground);margin:0 0 24px}.specialty-chips{display:flex;gap:8px;flex-wrap:wrap}.specialty-chips .chip[data-active=true]{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.settings-shell{display:grid;grid-template-columns:280px 1fr;gap:24px}.settings-tabs{display:flex;flex-direction:column;gap:4px}.settings-tabs .tab{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;color:var(--muted-foreground);font-weight:500;cursor:pointer}.settings-tabs .tab[data-active=true]{background:var(--card);color:var(--foreground);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--border)}.setting-row:first-child{border-top:0;padding-top:0}.setting-row .lbl{font-weight:600;font-size:.9375rem}.setting-row .desc{color:var(--muted-foreground);font-size:.8125rem;margin-top:2px}.empty-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.empty-tile{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:28px;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;gap:12px}.tg-frame{width:390px;height:844px;background:#18222d;border:10px solid #2a2418;border-radius:44px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}.tg-notch{position:absolute;top:8px;left:50%;transform:translate(-50%);width:110px;height:26px;background:#18222d;border-radius:16px;z-index:50}.tg-bar{position:absolute;top:0;left:0;right:0;height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-size:.8125rem;font-weight:600;color:#fff;z-index:40}.tg-header{position:absolute;top:44px;left:0;right:0;height:64px;background:#1f2c39;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid #233241;z-index:30}.tg-header .bot-av{width:36px;height:36px;border-radius:50%;background:var(--brand-primary);display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-weight:700}.tg-header .name{color:#fff;font-weight:600;font-size:.9375rem}.tg-header .sub{color:#8696a5;font-size:.75rem}.tg-back{color:#6da7d8;font-size:1.25rem}.tg-body{position:absolute;top:108px;left:0;right:0;bottom:56px;padding:14px 12px;display:flex;flex-direction:column;gap:10px;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.02),transparent 30%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.02),transparent 30%),#0e1a25}.tg-day{color:#8696a5;font-size:.6875rem;text-align:center;padding:4px 0}.tg-bubble{max-width:78%;padding:8px 12px;border-radius:14px;font-size:.875rem;line-height:1.4;background:#1f2c39;color:#e8edf2;align-self:flex-start;box-shadow:0 1px #0003}.tg-bubble.me{background:#2b5278;color:#fff;align-self:flex-end}.tg-bubble .time{font-size:.6875rem;color:#8696a5;margin-top:2px;display:block;text-align:right}.tg-bubble.me .time{color:#ffffffb3}.tg-bubble b{color:#fff;font-weight:600}.tg-bubble.me b{color:#fff}.tg-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.tg-btn{background:#2b5278;color:#fff;padding:6px 12px;border-radius:999px;font-size:.75rem;font-weight:500;border:1px solid #3a6892}.tg-btn.sage{background:color-mix(in oklch,var(--brand-secondary) 50%,#2b5278);border-color:var(--brand-secondary)}.tg-input-row{position:absolute;bottom:0;left:0;right:0;height:56px;background:#1f2c39;border-top:1px solid #233241;display:flex;align-items:center;gap:8px;padding:0 16px}.tg-input{flex:1;background:#0e1a25;border:1px solid #233241;border-radius:14px;padding:8px 12px;color:#8696a5;font-size:.8125rem}.photo-avatar-large{width:96px;height:96px;border-radius:28px;background:var(--card-nested);border:1px dashed var(--border-strong);display:grid;place-items:center;color:var(--tertiary-foreground);font-family:JetBrains Mono,monospace;font-size:.6875rem}.auth-mobile-stack{display:flex;flex-direction:column}.auth-mobile-stack .auth-hero{padding:32px 24px;border-right:0;border-bottom:1px solid var(--border)}.auth-mobile-stack .auth-hero h1{font-size:1.75rem}.auth-mobile-stack .auth-form{padding:32px 24px}.greet-hero{background:var(--bg-illustration);border-radius:var(--radius-hero);border:1px solid var(--border);padding:22px;display:flex;gap:14px;align-items:center}.greet-hero h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:-.01em}.greet-hero .sub{color:var(--muted-foreground);margin-top:2px;font-size:.875rem}.task-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px;display:flex;flex-direction:column;gap:12px}.task-card .head{display:flex;align-items:center;justify-content:space-between;gap:10px}.task-card h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.0625rem;line-height:1.25}.task-card .preview{color:var(--muted-foreground);font-size:.875rem}.task-actions{display:flex;gap:8px}.task-actions .btn{flex:1}.next-card{background:linear-gradient(135deg,var(--brand-primary-soft) 0%,transparent 100%),var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px}.next-card .when{font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:-.01em;margin-top:4px}.trainer-note{background:color-mix(in oklch,var(--info) 6%,var(--card));border:1px solid color-mix(in oklch,var(--info) 30%,var(--border));border-radius:var(--radius-card);padding:16px 18px;display:flex;gap:12px}.trainer-note .avatar{flex-shrink:0}.trainer-note h4{margin:0 0 4px;font-family:var(--font-display);font-size:.9375rem}.trainer-note p{margin:0;color:var(--muted-foreground);font-size:.875rem}.task-hero{background:var(--card-nested);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:12px}.step{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--border)}.step:first-child{border-top:0;padding-top:0}.step .num{width:28px;height:28px;border-radius:50%;background:var(--brand-primary-soft);color:var(--brand-primary);font-family:var(--font-display);font-weight:600;display:grid;place-items:center;flex-shrink:0}.product-card{background:var(--brand-secondary-soft);border:1px solid color-mix(in oklch,var(--brand-secondary) 30%,transparent);border-radius:var(--radius-card);padding:12px;display:flex;gap:12px;align-items:center}.product-card .img{width:56px;height:56px;border-radius:12px;background:var(--card);border:1px solid var(--border);display:grid;place-items:center;color:var(--tertiary-foreground);font-family:JetBrains Mono,monospace;font-size:.6875rem;flex-shrink:0}.product-card .meta{color:color-mix(in oklch,var(--brand-secondary) 70%,black);font-size:.75rem}.ci-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.ci-opt{background:var(--card-nested);border:1px solid var(--border);border-radius:14px;padding:14px;text-align:center;cursor:pointer}.ci-opt[data-active=true]{background:var(--brand-primary-soft);border-color:var(--brand-primary);color:var(--brand-primary)}.ci-opt .lbl{font-weight:600;font-size:.9375rem}.ci-opt .sub{font-size:.75rem;color:var(--muted-foreground);margin-top:4px}.ci-opt[data-active=true] .sub{color:var(--brand-primary)}.stars{display:flex;gap:8px;justify-content:center;padding:8px 0}.star{width:36px;height:36px;border-radius:50%;background:var(--card-nested);display:grid;place-items:center;color:var(--tertiary-foreground);border:1px solid var(--border)}.star[data-filled=true]{background:var(--brand-primary-soft);color:var(--brand-primary);border-color:var(--brand-primary)}.ss-section{background:var(--card-nested);border-radius:16px;padding:16px}.ss-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.ss-list li{display:flex;gap:10px;align-items:flex-start}.ss-list li:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand-secondary);margin-top:8px;flex-shrink:0}.ss-list li.coral:before{background:var(--brand-primary)}.tg-card{background:linear-gradient(135deg,color-mix(in oklch,var(--info) 12%,transparent),transparent),var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px;display:flex;gap:16px;align-items:center}.tg-card .ic-wrap{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#229ed9;color:#fff;flex-shrink:0}.qr-box{width:120px;height:120px;background:repeating-linear-gradient(90deg,var(--foreground) 0 6px,transparent 6px 12px),repeating-linear-gradient(0deg,var(--foreground) 0 6px,transparent 6px 12px),var(--card);border:1px solid var(--border);border-radius:12px}.frame-web{width:1180px;background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md)}.web-topbar{height:64px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--background)}.web-topbar .brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:1.0625rem}.web-topbar nav{display:flex;gap:24px}.web-topbar nav a{color:var(--muted-foreground);text-decoration:none;font-weight:500;font-size:.9375rem}.web-topbar nav a[data-active=true]{color:var(--foreground)}.web-content{padding:32px 80px 56px;max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.sheet-frame-bg{background:#2a241852}.dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:flex-start}.today-hero{background:radial-gradient(circle at 90% 10%,rgba(255,107,74,.1),transparent 50%),var(--card);border:1px solid var(--border);border-radius:var(--radius-hero);padding:28px 32px;display:flex;justify-content:space-between;gap:24px;align-items:flex-end}.today-hero .meta{color:var(--muted-foreground)}.today-hero h2{margin:8px 0 6px;font-family:var(--font-display);font-weight:700;font-size:1.875rem;letter-spacing:-.02em}.today-hero .sub{color:var(--muted-foreground);max-width:48ch}.session-row{display:flex;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--border)}.session-row:first-child{border-top:0;padding-top:4px}.session-row .time{width:88px;flex-shrink:0;font-family:var(--font-display);font-weight:600;font-size:1rem;font-feature-settings:"tnum" 1;color:var(--foreground)}.session-row .time .ampm{font-size:.6875rem;color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;display:block}.followup-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--border)}.followup-row:first-child{border-top:0;padding-top:4px}.activity-feed>li{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--border);list-style:none}.activity-feed>li:first-child{border-top:0;padding-top:4px}.activity-feed{margin:0;padding:0}.activity-feed .dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.activity-feed .dot.sage{background:var(--brand-secondary-soft);color:var(--brand-secondary)}.activity-feed .dot.coral{background:var(--brand-primary-soft);color:var(--brand-primary)}.activity-feed .dot.warn{background:color-mix(in oklch,var(--warning) 14%,transparent);color:var(--warning)}.activity-feed .when{font-size:.75rem;color:var(--tertiary-foreground)}.clients-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.client-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px 20px;display:grid;grid-template-columns:56px 1fr auto;-moz-column-gap:16px;column-gap:16px;row-gap:10px;align-items:center}.client-card .meta{color:var(--muted-foreground);font-size:.8125rem}.client-card .plan{grid-column:2 / -1;font-size:.8125rem;color:var(--muted-foreground);padding-top:8px;border-top:1px dashed var(--border)}.client-card .plan b{color:var(--foreground);font-weight:600}.profile-header{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-hero);padding:24px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.profile-header .h-r{flex:1;min-width:280px}.profile-header h2{margin:4px 0;font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:-.01em}.goal-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.next-session-card{background:linear-gradient(135deg,var(--brand-primary-soft) 0%,transparent 100%),var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px 20px}.next-session-card .when{font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:-.01em}.hw-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px 18px}.hw-item h4{margin:0 0 6px}.hw-item .meta{color:var(--muted-foreground);font-size:.8125rem}.plan-form{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:flex-start}.hw-card-edit{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px;display:flex;flex-direction:column;gap:14px}.seg{display:inline-flex;padding:4px;gap:4px;background:var(--card-nested);border-radius:999px}.seg button{padding:6px 12px;font-size:.8125rem;font-weight:500;color:var(--muted-foreground);background:transparent;border:none;border-radius:999px;cursor:pointer;font-family:var(--font-ui)}.seg button[data-active=true]{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-sm)}.grab{color:var(--tertiary-foreground);cursor:grab}.save-bar{position:sticky;bottom:0;background:var(--card);border-top:1px solid var(--border);padding:16px 32px;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 -8px 24px #2a24180a}.ss-modal{width:640px;background:var(--popover);border-radius:var(--radius-modal);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--border)}.ss-modal .h{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.ss-modal .b{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.ss-modal .f{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.week-cal{display:grid;grid-template-columns:72px repeat(7,1fr);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.wc-head{padding:14px 10px;background:var(--card-nested);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.wc-head:last-child{border-right:0}.wc-head .dow{font-size:.75rem;color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;font-weight:500}.wc-head .dom{font-family:var(--font-display);font-weight:600;font-size:1.125rem}.wc-head[data-today=true] .dom{color:var(--brand-primary)}.wc-time{padding:8px;font-size:.6875rem;color:var(--tertiary-foreground);text-align:right;border-right:1px solid var(--border);border-top:1px solid var(--border);font-feature-settings:"tnum" 1}.wc-cell{border-top:1px solid var(--border);border-right:1px solid var(--border);min-height:56px;position:relative;padding:4px}.wc-cell:last-child{border-right:0}.wc-event{position:absolute;left:4px;right:4px;border-radius:10px;padding:6px 8px;background:var(--brand-primary-soft);border:1px solid color-mix(in oklch,var(--brand-primary) 30%,transparent);color:color-mix(in oklch,var(--brand-primary) 85%,black);font-size:.75rem;line-height:1.25;overflow:hidden}.wc-event.evt-sage{background:var(--brand-secondary-soft);border-color:color-mix(in oklch,var(--brand-secondary) 30%,transparent);color:color-mix(in oklch,var(--brand-secondary) 75%,black)}.wc-event.evt-cream{background:var(--card-nested);border-color:var(--border);color:var(--foreground)}.wc-event .ttl{font-weight:600}.pill-meta{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--muted-foreground)}.divider{height:1px;background:var(--border);margin:12px 0}.plan-hero{background:linear-gradient(135deg,var(--brand-primary-soft) 0%,transparent 80%),var(--card);border:1px solid var(--border);border-radius:var(--radius-hero);padding:22px;display:flex;flex-direction:column;gap:14px}.plan-hero h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:-.01em}.plan-hero .sub{color:var(--muted-foreground);font-size:.875rem}.plan-hero .meta-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plan-hero .week-pill{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-chip);padding:4px 12px;font-size:.75rem;font-weight:500;color:var(--foreground);font-feature-settings:"tnum" 1}.plan-hero .week-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--brand-primary)}.pbar{height:6px;background:var(--card-nested);border-radius:999px;overflow:hidden}.pbar>i{display:block;height:100%;background:var(--brand-secondary);border-radius:999px}.plan-row{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);min-height:64px}.plan-row .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.plan-row .ttl{font-weight:600;font-size:.9375rem;color:var(--foreground);line-height:1.25}.plan-row .meta{font-size:.8125rem;color:var(--muted-foreground);display:flex;align-items:center;gap:8px}.plan-row .meta .dot-sep{width:3px;height:3px;border-radius:50%;background:var(--tertiary-foreground);flex-shrink:0}.plan-row .right{display:flex;align-items:center;gap:8px;flex-shrink:0}.pchip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-chip);font-size:.75rem;font-weight:600;background:var(--brand-secondary-soft);color:color-mix(in oklch,var(--brand-secondary) 80%,black);font-feature-settings:"tnum" 1}.pchip.warn{background:color-mix(in oklch,var(--warning) 14%,transparent);color:var(--warning)}.pchip.muted{background:var(--card-nested);color:var(--muted-foreground)}.upcoming-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);color:var(--muted-foreground);cursor:pointer;min-height:56px}.upcoming-row .wk{font-family:var(--font-display);font-weight:600;font-size:.8125rem;color:var(--tertiary-foreground);font-feature-settings:"tnum" 1;flex-shrink:0;width:60px}.upcoming-row .lbl{flex:1;color:var(--muted-foreground);font-size:.9375rem}.upcoming-row .chev{color:var(--tertiary-foreground);flex-shrink:0}.col-head{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--card-nested);border:1px solid var(--border);border-radius:var(--radius-card);cursor:pointer;min-height:52px}.col-head .wk{font-family:var(--font-display);font-weight:600;font-size:.8125rem;color:var(--tertiary-foreground);width:60px;flex-shrink:0;font-feature-settings:"tnum" 1}.col-head .lbl{flex:1;font-weight:600;font-size:.9375rem}.col-head .right{color:var(--brand-secondary);font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:6px}.col-head .chev{color:var(--tertiary-foreground);transition:transform .16s}.col-head[data-open=true]{border-radius:var(--radius-card) var(--radius-card) 0 0}.col-head[data-open=true] .chev{transform:rotate(180deg)}.col-body{background:var(--card);border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius-card) var(--radius-card);padding:4px 16px}.col-body .completed-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.col-body .completed-row:first-child{border-top:0}.col-body .completed-row .ic-wrap{width:24px;height:24px;border-radius:50%;background:var(--brand-secondary-soft);color:var(--brand-secondary);display:grid;place-items:center;flex-shrink:0}.col-body .completed-row .ic-wrap .ic{width:12px;height:12px}.col-body .completed-row .lbl{flex:1;font-size:.875rem}.col-body .completed-row .meta{font-size:.75rem;color:var(--muted-foreground)}.plan-sec-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.plan-sec-h .lbl{color:var(--muted-foreground)}.plan-sec-h .aside{font-size:.75rem;color:var(--tertiary-foreground);font-feature-settings:"tnum" 1}.v-stack-sm{display:flex;flex-direction:column;gap:8px}.v-stack-md{display:flex;flex-direction:column;gap:12px}.pg-hero{display:flex;gap:12px;align-items:stretch}.pg-hero>.stat-tile{flex:1;padding:16px;border-radius:var(--radius-card);background:var(--card);border:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.pg-hero>.stat-tile.streak{background:linear-gradient(135deg,var(--brand-primary-soft) 0%,transparent 90%),var(--card)}.pg-hero .lbl-row{display:flex;align-items:center;gap:8px;color:var(--muted-foreground);font-size:.75rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.pg-hero .ic-flame{width:28px;height:28px;border-radius:8px;background:var(--brand-primary-soft);color:var(--brand-primary);display:grid;place-items:center;flex-shrink:0}.pg-hero .ic-flame .ic{width:16px;height:16px}.pg-hero .ic-check-wrap{width:28px;height:28px;border-radius:8px;background:var(--brand-secondary-soft);color:color-mix(in oklch,var(--brand-secondary) 80%,black);display:grid;place-items:center;flex-shrink:0}.pg-hero .ic-check-wrap .ic{width:16px;height:16px}.pg-hero .val{font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:-.01em;font-feature-settings:"tnum" 1;color:var(--foreground)}.pg-hero .sub{font-size:.75rem;color:var(--muted-foreground)}.pg-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.pg-chips::-webkit-scrollbar{display:none}.pg-chips .chip{white-space:nowrap;flex-shrink:0}.pg-chips .chip[data-active=true]{background:var(--brand-primary-soft);color:var(--brand-primary);border-color:color-mix(in oklch,var(--brand-primary) 30%,transparent)}.ci-row{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);cursor:pointer;min-height:64px}.ci-row .grow{flex:1;min-width:0}.ci-row .ttl{font-weight:600;font-size:.9375rem;line-height:1.25;color:var(--foreground)}.ci-row .meta{font-size:.8125rem;color:var(--muted-foreground);margin-top:2px;font-feature-settings:"tnum" 1}.ci-row .right{flex-shrink:0;display:flex;align-items:center;gap:8px}.sec-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.sec-h .aside{font-size:.75rem;color:var(--tertiary-foreground);font-feature-settings:"tnum" 1}.sheet-scrim{background:#2a24186b;position:absolute;top:0;right:0;bottom:0;left:0;z-index:20}.sheet{position:absolute;left:0;right:0;bottom:0;z-index:22;background:var(--popover);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;border-top:1px solid var(--border);box-shadow:0 -16px 40px #2a241829;display:flex;flex-direction:column;max-height:calc(100% - 24px)}.sheet.tall{height:calc(100% - 24px)}.sheet-handle{width:36px;height:4px;background:var(--border-strong);border-radius:999px;margin:8px auto 0;flex-shrink:0}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--popover);position:sticky;top:0;z-index:1}.sheet-header .ttl{font-family:var(--font-display);font-weight:600;font-size:1.0625rem}.sheet-body{overflow:auto;padding:16px;display:flex;flex-direction:column;gap:14px;flex:1;scrollbar-width:none}.sheet-body::-webkit-scrollbar{display:none}.sheet-footer{border-top:1px solid var(--border);padding:14px 16px 28px;background:var(--popover);flex-shrink:0}.field{display:flex;flex-direction:column;gap:6px}.field-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-input);min-height:56px;cursor:pointer}.field-row.error{border-color:var(--destructive);background:color-mix(in oklch,var(--destructive) 4%,var(--card))}.field-row .lbl{font-size:.8125rem;color:var(--muted-foreground)}.field-row .val{font-weight:600;font-size:.9375rem;color:var(--foreground);margin-top:2px}.field-row .val.placeholder{color:var(--tertiary-foreground);font-weight:400}.field-row .grow{flex:1;min-width:0}.field-row .chev{color:var(--tertiary-foreground);flex-shrink:0}.field-row.with-avatar{gap:12px}.field-row .req{color:var(--destructive);margin-left:2px}.field-error{font-size:.75rem;color:var(--destructive);display:flex;align-items:center;gap:6px;margin-top:2px}.field-error .ic{width:12px;height:12px}.help-text{font-size:.75rem;color:var(--muted-foreground);margin-top:2px}.field-group-h{font-family:var(--font-ui);font-weight:500;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--tertiary-foreground);margin:6px 0 -4px}.seg-dur{display:flex;padding:4px;background:var(--card-nested);border-radius:var(--radius-chip);gap:4px}.seg-dur button{flex:1;background:transparent;border:0;border-radius:var(--radius-chip);padding:8px 10px;font-family:var(--font-ui);font-weight:500;font-size:.8125rem;color:var(--muted-foreground);cursor:pointer;font-feature-settings:"tnum" 1}.toggle-row{display:flex;align-items:center;gap:12px;padding:14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);min-height:56px}.toggle-row .ic-wrap{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.toggle-row .ic-wrap.tg{background:#229ed9;color:#fff}.toggle-row .ic-wrap.gcal{background:var(--card-nested);color:var(--info)}.toggle-row .grow{flex:1;min-width:0}.toggle-row .ttl{font-weight:600;font-size:.9375rem;line-height:1.25}.toggle-row .sub{font-size:.75rem;color:var(--muted-foreground);margin-top:2px}.toggle-row .right{flex-shrink:0}.toggle-row .connect-link{font-weight:600;color:var(--brand-primary);font-size:.8125rem;display:inline-flex;align-items:center;gap:4px;text-decoration:none}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.confirm-sheet{position:absolute;left:0;right:0;bottom:0;z-index:22;background:var(--popover);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;box-shadow:0 -16px 40px #2a241829;padding:12px 20px 28px;display:flex;flex-direction:column;gap:14px}.confirm-sheet .ic-wrap-lg{width:48px;height:48px;border-radius:14px;background:color-mix(in oklch,var(--destructive) 12%,transparent);color:var(--destructive);display:grid;place-items:center;align-self:flex-start}.bg-dash{position:absolute;top:0;right:0;bottom:0;left:0;padding:0;background:var(--background);display:flex;flex-direction:column;filter:blur(.5px)}.bg-dash .row{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:14px;display:flex;align-items:center;gap:12px;margin-bottom:10px}.bg-dash .row .time{width:56px;font-family:var(--font-display);font-weight:600;font-size:.875rem;color:var(--foreground);font-feature-settings:"tnum" 1}.bg-dash .row .name{font-weight:600;font-size:.875rem}.bg-dash .row .meta{font-size:.75rem;color:var(--muted-foreground)}:root{--color-coral: #E8614D;--color-coral-light: #FDECEA;--color-coral-mid: #F4A090;--color-sage: #7DAB8A;--color-sage-light: #EBF3ED;--color-sage-mid: #B2CEBA;--color-cream: #FAF7F2;--color-cream-dark: #F0EBE1;--color-ink: #1E1A16;--color-ink-mid: #5C5248;--color-ink-faint: #A89F94;--color-white: #FFFFFF;--color-error: #C0392B;--color-error-light: #FDEDEB;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 999px;--shadow-card: 0 2px 12px rgba(30,26,22,.08);--shadow-sheet:0 -4px 24px rgba(30,26,22,.12);--shadow-fab: 0 4px 16px rgba(232,97,77,.35);--font-display: "Georgia", "Times New Roman", serif;--font-body: system-ui, -apple-system, sans-serif;--nav-h: 64px;--header-h: 52px;--cal-header-h: 48px;--day-header-h: 36px}.app-header{position:sticky;top:0;z-index:100;background:var(--color-white);border-bottom:1px solid var(--color-cream-dark);height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 16px}.app-header-brand{font-family:var(--font-display);font-size:18px;color:var(--color-coral)}.app-header-persona{width:32px;height:32px;border-radius:50%;background:var(--color-coral);display:flex;align-items:center;justify-content:center;color:var(--color-white);font-size:13px;font-weight:600}.persona-chips{display:flex;gap:6px}.chip{font-size:11px;font-weight:500;border-radius:var(--radius-full);padding:3px 10px;border:1.5px solid var(--color-cream-dark);color:var(--color-ink-mid);background:transparent;cursor:pointer}.chip.active{background:var(--color-coral);border-color:var(--color-coral);color:var(--color-white)}.cal-nav{display:flex;align-items:center;gap:4px}.cal-nav-btn{width:32px;height:32px;border-radius:var(--radius-full);border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-ink-mid);font-size:16px}.cal-nav-btn:active{background:var(--color-cream-dark)}.cal-month-label{font-size:15px;font-weight:600;color:var(--color-ink);letter-spacing:-.2px;white-space:nowrap}.cal-today-chip{font-size:11px;font-weight:500;border-radius:var(--radius-full);padding:3px 10px;border:1.5px solid var(--color-coral);color:var(--color-coral);background:transparent;cursor:pointer;white-space:nowrap}.cal-view-tabs{display:flex;border:1.5px solid var(--color-cream-dark);border-radius:var(--radius-full);overflow:hidden}.cal-view-tab{font-size:10px;font-weight:600;padding:3px 8px;border:none;background:transparent;color:var(--color-ink-faint);cursor:pointer}.cal-view-tab.active{background:var(--color-coral);color:var(--color-white)}.dow-row{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-white);border-bottom:1px solid var(--color-cream-dark);height:var(--day-header-h)}.dow-cell{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--color-ink-faint);letter-spacing:.3px}.dow-cell.weekend{color:var(--color-coral-mid)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-cream-dark);gap:1px;border-top:1px solid var(--color-cream-dark)}.cal-day{background:var(--color-white);min-height:72px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;cursor:pointer;position:relative;transition:background .12s}.cal-day:active{background:var(--color-coral-light)}.cal-day.outside{background:var(--color-cream)}.cal-day.outside .day-num{color:var(--color-ink-faint);opacity:.5}.cal-day.today .day-num-wrap{outline:2px solid var(--color-coral);outline-offset:1px;border-radius:50%}.cal-day.selected .day-num-wrap{background:var(--color-coral);border-radius:50%}.cal-day.selected .day-num{color:var(--color-white)}.day-num-wrap{width:26px;height:26px;display:flex;align-items:center;justify-content:center}.day-num{font-size:13px;font-weight:500;color:var(--color-ink);line-height:1}.day-dots{display:flex;gap:3px;margin-top:6px;align-items:center;justify-content:center;flex-wrap:wrap;max-width:42px}.dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot.confirmed{background:var(--color-coral)}.dot.tentative{background:transparent;border:1.5px solid var(--color-sage)}.dot.more{width:auto;font-size:9px;font-weight:700;color:var(--color-ink-faint);background:var(--color-cream-dark);border-radius:var(--radius-full);padding:1px 4px}.day-strip{background:var(--color-white);border-top:1px solid var(--color-cream-dark);animation:slideDown .22s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.strip-header{padding:12px 16px 8px;display:flex;align-items:center;justify-content:space-between}.strip-date{font-size:13px;font-weight:600;color:var(--color-ink)}.strip-add-pill{font-size:12px;font-weight:600;color:var(--color-coral);background:var(--color-coral-light);border-radius:var(--radius-full);padding:5px 14px;border:none;cursor:pointer;white-space:nowrap}.strip-session{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--color-cream-dark);cursor:pointer}.strip-session:active{background:var(--color-cream)}.strip-time{font-size:12px;font-weight:600;color:var(--color-ink-mid);min-width:42px}.strip-info{flex:1;min-width:0}.strip-client{font-size:13px;font-weight:600;color:var(--color-ink)}.strip-dog{font-size:11px;color:var(--color-ink-faint);margin-top:1px}.strip-status{font-size:10px;font-weight:700;border-radius:var(--radius-full);padding:3px 9px;letter-spacing:.2px}.strip-status.confirmed{background:var(--color-sage-light);color:var(--color-sage)}.strip-status.tentative{background:var(--color-coral-light);color:var(--color-coral)}.strip-chevron{color:var(--color-ink-faint);font-size:14px}.strip-empty{padding:20px 16px;text-align:center}.strip-empty-label{font-size:13px;color:var(--color-ink-faint);margin-bottom:12px}.strip-empty-cta{font-size:13px;font-weight:600;color:var(--color-coral);background:var(--color-coral-light);border-radius:var(--radius-full);padding:8px 20px;border:none;cursor:pointer}.fab:active{transform:scale(.93)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;width:393px;height:var(--nav-h);background:var(--color-white);border-top:1px solid var(--color-cream-dark);display:flex;align-items:center;justify-content:space-around;padding-bottom:8px;z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;min-width:60px;padding:4px 8px}.nav-icon{font-size:20px;line-height:1}.nav-label{font-size:10px;font-weight:500;color:var(--color-ink-faint)}.nav-item.active .nav-label{color:var(--color-coral);font-weight:700}.nav-item.active .nav-icon{filter:none}.skeleton{background:linear-gradient(90deg,var(--color-cream-dark) 25%,var(--color-cream) 50%,var(--color-cream-dark) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.error-icon{font-size:18px;flex-shrink:0;margin-top:1px}.error-body{flex:1}.error-title{font-size:13px;font-weight:700;color:var(--color-error)}.error-desc{font-size:12px;color:var(--color-error);opacity:.8;margin-top:2px}.error-retry{font-size:12px;font-weight:700;color:var(--color-error);background:none;border:none;cursor:pointer;padding:0;margin-top:6px;text-decoration:underline}.variant-label{position:sticky;top:calc(var(--header-h) + var(--cal-header-h));z-index:85;background:var(--color-sage);color:var(--color-white);font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:4px 12px;text-align:center}.scroll-pad{height:calc(var(--nav-h) + 80px)}:root{--color-coral: #E8614D;--color-coral-light: #FDECEA;--color-coral-mid: #F4A090;--color-sage: #7DAB8A;--color-sage-light: #EBF3ED;--color-sage-mid: #B2CEBA;--color-cream: #FAF7F2;--color-cream-dark: #F0EBE1;--color-ink: #1E1A16;--color-ink-mid: #5C5248;--color-ink-faint: #A89F94;--color-white: #FFFFFF;--color-error: #C0392B;--color-error-light: #FDEDEB;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 999px;--shadow-fab: 0 4px 16px rgba(232,97,77,.35);--font-display: "Georgia", "Times New Roman", serif;--font-body: system-ui, -apple-system, sans-serif;--nav-h: 64px;--header-h: 52px;--cal-header-h: 48px;--dow-h: 40px;--time-col-w: 38px;--day-col-count: 7;--slot-h: 56px;--hours-start: 8;--hours-end: 20}.cal-header{position:sticky;top:var(--header-h);z-index:90;background:var(--color-white);border-bottom:1px solid var(--color-cream-dark);height:var(--cal-header-h);display:flex;align-items:center;justify-content:space-between;padding:0 12px;gap:8px}.cal-nav-btn{width:32px;height:32px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-ink-mid);font-size:16px}.cal-month-label{font-size:14px;font-weight:600;color:var(--color-ink);white-space:nowrap}.week-dow-row{position:sticky;top:calc(var(--header-h) + var(--cal-header-h));z-index:80;background:var(--color-white);border-bottom:1px solid var(--color-cream-dark);display:flex;height:var(--dow-h)}.week-dow-spacer{width:var(--time-col-w);flex-shrink:0}.week-dow-day{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.week-dow-name{font-size:10px;font-weight:600;color:var(--color-ink-faint);letter-spacing:.3px}.week-dow-num{font-size:14px;font-weight:600;color:var(--color-ink)}.week-dow-day.today .week-dow-num{width:24px;height:24px;border-radius:50%;background:var(--color-coral);color:var(--color-white);display:flex;align-items:center;justify-content:center}.week-scroll{overflow-y:auto;overflow-x:hidden;background:var(--color-white);position:relative;padding-bottom:calc(var(--nav-h) + 80px)}.week-grid{display:flex;position:relative;min-height:calc(12 * var(--slot-h))}.week-time-rail{width:var(--time-col-w);flex-shrink:0;position:relative;border-right:1px solid var(--color-cream-dark)}.week-time-slot{height:var(--slot-h);display:flex;align-items:flex-start;justify-content:flex-end;padding:4px 6px 0 0;font-size:10px;font-weight:500;color:var(--color-ink-faint);border-bottom:1px solid var(--color-cream-dark)}.week-days{display:flex;flex:1;position:relative}.week-day-col{flex:1;position:relative;border-right:1px solid var(--color-cream-dark)}.week-day-col:last-child{border-right:none}.week-hour-line{position:absolute;left:0;right:0;height:1px;background:var(--color-cream-dark)}.week-now-line{position:absolute;left:0;right:0;height:2px;background:var(--color-coral);z-index:10;pointer-events:none}.week-now-dot{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--color-coral)}.week-session-block{position:absolute;border-radius:var(--radius-sm);padding:5px 6px;cursor:pointer;overflow:hidden;transition:opacity .12s}.week-session-block:active{opacity:.8}.week-session-block.confirmed{background:var(--color-coral);color:var(--color-white)}.week-session-block.tentative{background:var(--color-white);border:2px solid var(--color-sage);color:var(--color-sage)}.wsb-client{font-size:10px;font-weight:700;line-height:1.2}.wsb-dur{font-size:9px;opacity:.8;margin-top:2px}.week-day-col:active{background:#e8614d0a}.fab{position:fixed;bottom:calc(var(--nav-h) + 16px);right:20px;width:52px;height:52px;border-radius:50%;background:var(--color-coral);color:var(--color-white);border:none;cursor:pointer;font-size:24px;font-weight:300;box-shadow:var(--shadow-fab);display:flex;align-items:center;justify-content:center;z-index:80;transition:transform .12s}.nav-icon{font-size:20px}.error-banner{margin:12px;border-radius:var(--radius-md);background:var(--color-error-light);border:1px solid #F1A89E;padding:12px 14px;display:flex;gap:10px;align-items:flex-start}.variant-label{background:var(--color-sage);color:var(--color-white);font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:4px 12px;text-align:center}.empty-week-msg{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;text-align:center;gap:8px}.empty-week-icon{font-size:36px}.empty-week-label{font-size:14px;font-weight:600;color:var(--color-ink-mid)}.empty-week-sub{font-size:12px;color:var(--color-ink-faint)}:root{--color-coral: #E8614D;--color-coral-light: #FDECEA;--color-coral-mid: #F4A090;--color-sage: #7DAB8A;--color-sage-light: #EBF3ED;--color-sage-mid: #B2CEBA;--color-cream: #FAF7F2;--color-cream-dark: #F0EBE1;--color-ink: #1E1A16;--color-ink-mid: #5C5248;--color-ink-faint: #A89F94;--color-white: #FFFFFF;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 999px;--shadow-card: 0 2px 12px rgba(30,26,22,.08);--shadow-fab: 0 4px 16px rgba(232,97,77,.35);--font-display: "Georgia", "Times New Roman", serif;--font-body: system-ui, -apple-system, sans-serif;--nav-h: 64px;--header-h: 52px}html,body{width:393px;min-height:852px;background:var(--color-cream);font-family:var(--font-body);color:var(--color-ink);overflow-x:hidden}.cal-day-strip{background:var(--color-white);border-top:1px solid var(--color-cream-dark)}.cal-ds-header{padding:14px 16px 10px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-cream-dark)}.cal-ds-date-full{font-size:14px;font-weight:700;color:var(--color-ink);letter-spacing:-.1px}.cal-ds-date-sub{font-size:11px;color:var(--color-ink-faint);margin-top:1px}.cal-ds-new-pill{flex-shrink:0;font-size:12px;font-weight:700;color:var(--color-coral);background:var(--color-coral-light);border-radius:var(--radius-full);padding:6px 14px;border:none;cursor:pointer;white-space:nowrap;transition:background .12s}.cal-ds-new-pill:active{background:var(--color-coral-mid);color:var(--color-white)}.cal-ds-row{display:flex;align-items:center;gap:0;padding:0 16px;border-bottom:1px solid var(--color-cream-dark);cursor:pointer;min-height:68px;transition:background .1s}.cal-ds-row:active{background:var(--color-cream)}.cal-ds-row:last-child{border-bottom:none}.cal-ds-time-block{width:50px;flex-shrink:0;padding:16px 0}.cal-ds-time-start{font-size:13px;font-weight:700;color:var(--color-ink)}.cal-ds-time-dur{font-size:10px;color:var(--color-ink-faint);margin-top:2px}.cal-ds-divider{width:2px;flex-shrink:0;align-self:stretch;margin:10px 12px;border-radius:2px}.cal-ds-divider.confirmed{background:var(--color-coral)}.cal-ds-divider.tentative{background:var(--color-sage-mid)}.cal-ds-info{flex:1;min-width:0;padding:14px 0}.cal-ds-client{font-size:14px;font-weight:700;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-ds-dog{font-size:12px;color:var(--color-ink-faint);margin-top:3px;display:flex;align-items:center;gap:4px}.cal-ds-dog-breed{color:var(--color-ink-mid)}.cal-ds-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.cal-ds-status{font-size:10px;font-weight:700;border-radius:var(--radius-full);padding:4px 10px;white-space:nowrap}.cal-ds-status.confirmed{background:var(--color-sage-light);color:var(--color-sage)}.cal-ds-status.tentative{background:var(--color-coral-light);color:var(--color-coral)}.cal-ds-status.cancelled{background:var(--color-cream-dark);color:var(--color-ink-faint)}.cal-ds-chevron{color:var(--color-ink-faint);font-size:16px}.cal-ds-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px 28px;gap:12px;text-align:center}.cal-ds-empty-icon{font-size:32px}.cal-ds-empty-label{font-size:14px;color:var(--color-ink-faint)}.cal-ds-empty-cta{font-size:14px;font-weight:700;color:var(--color-coral);background:var(--color-coral-light);border-radius:var(--radius-full);padding:10px 24px;border:none;cursor:pointer;transition:background .12s}.cal-ds-empty-cta:active{background:var(--color-coral);color:var(--color-white)}.cal-ds-sheet-wrap{background:var(--color-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -4px 24px #1e1a161f;overflow:hidden;margin-top:8px}.cal-ds-sheet-handle{display:flex;justify-content:center;padding:10px 0 0}.cal-ds-sheet-handle-bar{width:36px;height:4px;border-radius:2px;background:var(--color-cream-dark)}.cal-ds-count-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;color:var(--color-ink-faint);background:var(--color-cream-dark);border-radius:var(--radius-full);padding:2px 8px;margin-left:8px}.slide-down{animation:slideDown .22s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.owner-web-frame{display:none;min-height:100vh;background:var(--background, var(--color-cream))}@media(min-width:768px){.owner-web-frame{display:flex}}.owner-side-rail{width:240px;flex-shrink:0;border-right:1px solid var(--border, var(--color-cream-dark));padding:24px 20px;display:flex;flex-direction:column;gap:18px;background:var(--card, var(--color-white));position:sticky;top:0;height:100vh}.owner-side-rail a,.owner-side-rail button{font:inherit}.owner-web-main{flex:1;min-width:0;display:flex;justify-content:center;padding:32px 16px}.owner-web-main>.owner-web-inner{width:100%;max-width:28rem}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-24{bottom:6rem}.right-0{right:0}.right-3{right:var(--space-3)}.right-5{right:1.25rem}.top-0{top:0}.top-3{top:var(--space-3)}.top-\[4\.5rem\]{top:4.5rem}.top-\[7\.5rem\]{top:7.5rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-7{grid-column:span 7 / span 7}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-top:var(--space-3);margin-bottom:var(--space-3)}.mb-1\.5{margin-bottom:.375rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:var(--space-1)}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:var(--space-12)}.h-14{height:3.5rem}.h-16{height:var(--space-16)}.h-2{height:var(--space-2)}.h-3{height:var(--space-3)}.h-4{height:var(--space-4)}.h-5{height:1.25rem}.h-6{height:var(--space-6)}.h-7{height:1.75rem}.h-8{height:var(--space-8)}.h-9{height:2.25rem}.h-px{height:1px}.max-h-\[90vh\]{max-height:90vh}.min-h-20{min-height:5rem}.min-h-24{min-height:6rem}.min-h-28{min-height:7rem}.min-h-40{min-height:10rem}.min-h-72{min-height:18rem}.min-h-\[4\.75rem\]{min-height:4.75rem}.min-h-\[5rem\]{min-height:5rem}.min-h-\[calc\(100vh-3rem\)\]{min-height:calc(100vh - 3rem)}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:var(--space-12)}.w-14{width:3.5rem}.w-16{width:var(--space-16)}.w-2\/3{width:66.666667%}.w-24{width:6rem}.w-3\/5{width:60%}.w-4{width:var(--space-4)}.w-40{width:10rem}.w-5{width:1.25rem}.w-6{width:var(--space-6)}.w-7{width:1.75rem}.w-8{width:var(--space-8)}.w-9{width:2.25rem}.w-\[640px\]{width:640px}.w-\[min\(88vw\,22rem\)\]{width:min(88vw,22rem)}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-9{min-width:2.25rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-\[2\.75rem\]{max-width:2.75rem}.max-w-\[22ch\]{max-width:22ch}.max-w-\[32ch\]{max-width:32ch}.max-w-\[92\%\]{max-width:92%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-4{--tw-translate-x: var(--space-4);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[38px_repeat\(7\,minmax\(0\,1fr\)\)\]{grid-template-columns:38px repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-1\.5{gap:.375rem}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-px{gap:1px}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(var(--space-1) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-1) * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(var(--space-2) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-2) * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(var(--space-3) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-3) * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(var(--space-4) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-4) * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(var(--space-6) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-6) * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[18px\]{border-radius:18px}.rounded-\[28px\]{border-radius:28px}.rounded-button{border-radius:var(--radius-button)}.rounded-card{border-radius:var(--radius-card)}.rounded-chip{border-radius:var(--radius-chip)}.rounded-full{border-radius:9999px}.rounded-hero{border-radius:var(--radius-hero)}.rounded-input{border-radius:var(--radius-input)}.rounded-sm{border-radius:.125rem}.rounded-t-sheet{border-top-left-radius:var(--radius-sheet);border-top-right-radius:var(--radius-sheet)}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-border{border-color:var(--border)}.border-brand-primary{border-color:var(--brand-primary)}.border-brand-secondary{border-color:var(--brand-secondary)}.border-destructive{border-color:var(--destructive)}.border-success{border-color:var(--success)}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.bg-\[\#0e1a25\]{--tw-bg-opacity: 1;background-color:rgb(14 26 37 / var(--tw-bg-opacity, 1))}.bg-\[\#1f2c39\]{--tw-bg-opacity: 1;background-color:rgb(31 44 57 / var(--tw-bg-opacity, 1))}.bg-\[\#229ED9\],.bg-\[\#229ed9\]{--tw-bg-opacity: 1;background-color:rgb(34 158 217 / var(--tw-bg-opacity, 1))}.bg-\[\#2b5278\]{--tw-bg-opacity: 1;background-color:rgb(43 82 120 / var(--tw-bg-opacity, 1))}.bg-\[\#f17b63\]{--tw-bg-opacity: 1;background-color:rgb(241 123 99 / var(--tw-bg-opacity, 1))}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-border-strong{background-color:var(--border-strong)}.bg-brand-primary{background-color:var(--brand-primary)}.bg-brand-primary-soft{background-color:var(--brand-primary-soft)}.bg-brand-secondary{background-color:var(--brand-secondary)}.bg-brand-secondary-soft{background-color:var(--brand-secondary-soft)}.bg-card{background-color:var(--card)}.bg-card-nested{background-color:var(--card-nested)}.bg-destructive{background-color:var(--destructive)}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/5{background-color:#ffffff0d}.bg-\[radial-gradient\(circle_at_70\%_20\%\,rgba\(255\,107\,74\,0\.08\)\,transparent_40\%\)\,radial-gradient\(circle_at_20\%_80\%\,rgba\(123\,168\,127\,0\.08\)\,transparent_35\%\)\]{background-image:radial-gradient(circle at 70% 20%,rgba(255,107,74,.08),transparent 40%),radial-gradient(circle at 20% 80%,rgba(123,168,127,.08),transparent 35%)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:1.25rem}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.pb-24{padding-bottom:6rem}.pb-4{padding-bottom:var(--space-4)}.pb-6{padding-bottom:var(--space-6)}.pt-12{padding-top:var(--space-12)}.pt-2{padding-top:var(--space-2)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-display{font-family:var(--font-display)}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-5xl{font-size:3rem;line-height:1}.text-\[0\.625rem\]{font-size:.625rem}.text-\[0\.6875rem\]{font-size:.6875rem}.text-\[2\.25rem\]{font-size:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-6{line-height:1.5rem}.leading-\[1\.02\]{line-height:1.02}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-\[-0\.03em\]{letter-spacing:-.03em}.tracking-\[0\.04em\]{letter-spacing:.04em}.tracking-\[0\.24em\]{letter-spacing:.24em}.tracking-wide{letter-spacing:.025em}.text-brand-primary{color:var(--brand-primary)}.text-brand-primary-fg{color:var(--brand-primary-fg)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-tertiary{color:var(--tertiary-foreground)}.text-warning{color:var(--warning)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/40{color:#fff6}.text-white\/45{color:#ffffff73}.text-white\/60{color:#fff9}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.opacity-70{opacity:.7}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_-8px_24px_rgba\(42\,36\,24\,0\.04\)\]{--tw-shadow: 0 -8px 24px rgba(42,36,24,.04);--tw-shadow-colored: 0 -8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: var(--shadow-lg);--tw-shadow-colored: var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-brand-primary{--tw-ring-color: var(--brand-primary)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--brand-primary: #ff6b4a;--brand-primary-fg: #ffffff;--brand-primary-soft: rgba(255, 107, 74, .12);--brand-secondary: #7ba87f;--brand-secondary-soft: rgba(123, 168, 127, .16);--background: #fbf6ec;--card: #ffffff;--card-raised: #ffffff;--card-nested: #f5efe4;--border: #e8e2d6;--border-strong: #d5cdbe;--popover: #ffffff;--muted: #f5efe4;--foreground: #2a2418;--muted-foreground: #6b6051;--tertiary-foreground: #9b8f7e;--foreground-on-primary: #ffffff;--success: #7ba87f;--warning: #d97757;--destructive: #b85450;--info: #6b8e7f;--bg-illustration: radial-gradient(circle at top right, rgba(255, 107, 74, .06), transparent 40%), linear-gradient(180deg, #fbf6ec 0%, #f7efe1 100%);--ring: #ff6b4a;--shadow-sm: 0 1px 2px rgba(42, 36, 24, .04);--shadow-md: 0 4px 14px rgba(42, 36, 24, .06);--shadow-lg: 0 16px 40px rgba(42, 36, 24, .08);--radius-input: 10px;--radius-button: 12px;--radius-chip: 999px;--radius-card: 16px;--radius-hero: 20px;--radius-modal: 20px;--radius-sheet: 24px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--font-display: "Space Grotesk", system-ui, sans-serif;--font-ui: "Inter", system-ui, sans-serif}html,body,#root{min-height:100%}html,body{margin:0;padding:0}body{background:var(--bg-illustration);color:var(--foreground);font-family:var(--font-ui);font-size:.9375rem;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*,*:before,*:after{box-sizing:border-box}a{color:inherit}:where(button,a,input,textarea,select,[role=button],[tabindex]):focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:4px}.t-display1{font-family:var(--font-display);font-weight:700;font-size:2.5rem;letter-spacing:-.02em;line-height:1.05}.t-headline{font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:-.01em;line-height:1.2}.t-title{font-family:var(--font-display);font-weight:600;font-size:1.125rem;line-height:1.3}.t-label{font-family:var(--font-ui);font-weight:500;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.t-body{font-family:var(--font-ui);font-weight:400;font-size:.9375rem;line-height:1.55}.t-body-strong{font-family:var(--font-ui);font-weight:600;font-size:.9375rem;line-height:1.55}.t-tnum{font-feature-settings:"tnum" 1}.app-bg{min-height:100vh;background:var(--bg-illustration)}.btn-ghost-destructive{background:transparent;color:var(--destructive);border:1px solid color-mix(in oklch,var(--destructive) 30%,transparent)}.btn-ghost-destructive:hover{background:color-mix(in oklch,var(--destructive) 6%,transparent)}.seg-dur{display:flex;gap:4px;padding:4px;background:var(--card-nested);border-radius:var(--radius-chip)}.seg-dur button{flex:1;border:0;border-radius:var(--radius-chip);background:transparent;padding:8px 10px;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.8125rem;font-weight:500;cursor:pointer}.seg-dur button[data-active=true]{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-sm)}.cal-view-tabs{display:flex;border:1.5px solid var(--border);border-radius:var(--radius-full);overflow:hidden}.cal-view-tab{border:0;background:transparent;color:var(--tertiary-foreground);font-size:.75rem;font-weight:600;padding:4px 10px}.cal-view-tab.active{background:var(--brand-primary);color:var(--brand-primary-fg)}.pbar{height:6px;background:var(--brand-secondary-soft);border-radius:var(--radius-full);overflow:hidden}.pbar>i{display:block;height:100%;background:var(--brand-secondary);border-radius:inherit}.pbar.warn>i{background:var(--warning)}.pchip{display:inline-flex;align-items:center;border-radius:var(--radius-chip)}.last\:border-b-0:last-child{border-bottom-width:0px}.last\:border-r-0:last-child{border-right-width:0px}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:text-destructive:hover{color:var(--destructive)}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:grid-cols-\[120px_1fr\]{grid-template-columns:120px 1fr}}@media(min-width:768px){.md\:sticky{position:sticky}.md\:top-4{top:var(--space-4)}.md\:col-span-2{grid-column:span 2 / span 2}.md\:block{display:block}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:min-h-\[7rem\]{min-height:7rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[1fr_320px\]{grid-template-columns:1fr 320px}.md\:grid-cols-\[1fr_360px\]{grid-template-columns:1fr 360px}.md\:items-start{align-items:flex-start}.md\:gap-6{gap:var(--space-6)}}@media(min-width:1024px){.lg\:flex{display:flex}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[1\.2fr_0\.8fr\]{grid-template-columns:1.2fr .8fr}.lg\:grid-cols-\[1\.3fr_0\.9fr\]{grid-template-columns:1.3fr .9fr}.lg\:grid-cols-\[1fr_0\.8fr\]{grid-template-columns:1fr .8fr}.lg\:p-8{padding:var(--space-8)}}
