@layer components{.custv2{--cv2-purple:#7a6ff0;--cv2-purple-600:#6b60e8;--cv2-purple-soft:#cbc7f2;--cv2-purple-softer:#e4e2f8;--cv2-pink:#ed5f8f;--cv2-pink-600:#e0487c;--cv2-pink-soft:#fce4ee;--cv2-navy:#43437c;--cv2-ink:#1a1a1a;--cv2-ink-700:#2b2b2b;--cv2-ink-500:#555;--cv2-ink-400:#7a7a7a;--cv2-ink-300:#b4b4b4;--cv2-line:#e8e8ef;--cv2-bg-soft:#fafafc;--cv2-tint-pink:#ffe6ee;--cv2-tint-purple:#ece9fb;--cv2-tint-mint:#d6f4e3;--cv2-tint-yellow:#fff3cf;--cv2-tint-peach:#ffe2d2;--cv2-mint-text:#1d6f47;--cv2-gold-text:#7a5300;--cv2-shadow-sm:0 2px 6px #281e5a0f;--cv2-shadow-md:0 10px 30px #281e5a14;--cv2-shadow-strong:0 10px 28px -14px #281e5a38;--cv2-shadow-purple:0 6px 18px #7a6ff059;--cv2-shadow-dark:0 8px 22px -8px #281e5a59;--background:var(--cv2-bg-soft);--foreground:var(--cv2-ink);--card:#fff;--card-foreground:var(--cv2-ink);--popover:#fff;--popover-foreground:var(--cv2-ink);--primary:var(--cv2-purple);--primary-foreground:#fff;--secondary:var(--cv2-purple-softer);--secondary-foreground:var(--cv2-navy);--muted:#f0f0f4;--muted-foreground:var(--cv2-ink-400);--accent:var(--cv2-purple-softer);--accent-foreground:var(--cv2-navy);--border:var(--cv2-line);--input:var(--cv2-line);--ring:#7a6ff059;background:var(--cv2-bg-soft);color:var(--cv2-ink);font-family:var(--font-nunito),"Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.cv2-serif{font-family:var(--font-playfair),"Playfair Display","Times New Roman",serif;letter-spacing:-.02em;color:var(--cv2-ink);font-weight:800;line-height:1.08}.cv2-serif em,.cv2-serif .cv2-italic{color:inherit;font-style:italic;font-weight:700}.cv2-micro{letter-spacing:.12em;text-transform:uppercase;color:var(--cv2-ink-400);font-size:10.5px;font-weight:800}.cv2-card{border:1px solid var(--cv2-line);background:#fff;border-radius:16px}.cv2-card--strong{border:1.5px solid var(--cv2-ink);box-shadow:var(--cv2-shadow-strong)}.cv2-card--soft{background:var(--cv2-bg-soft)}.cv2-pill{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;font-weight:800;line-height:1.4;display:inline-flex}.cv2-pill .cv2-dot{background:currentColor;border-radius:999px;flex-shrink:0;width:6px;height:6px}.cv2-pill--next{background:var(--cv2-ink);color:#fff}.cv2-pill--next .cv2-dot{background:var(--cv2-pink)}.cv2-pill--scheduled{background:var(--cv2-purple-softer);color:var(--cv2-navy)}.cv2-pill--scheduled .cv2-dot{background:var(--cv2-purple)}.cv2-pill--active{background:var(--cv2-tint-mint);color:var(--cv2-mint-text)}.cv2-pill--active .cv2-dot{background:#2dad6c;animation:1.6s ease-in-out infinite cv2-pulse}.cv2-pill--complete{color:var(--cv2-ink-500);background:#f0f0f4}.cv2-pill--complete .cv2-dot{background:var(--cv2-ink-400)}.cv2-pill--offer{background:var(--cv2-tint-yellow);color:var(--cv2-gold-text)}.cv2-pill--offer .cv2-dot{background:#f5b400}.cv2-pill--danger{background:var(--cv2-tint-pink);color:#b23a5e}.cv2-pill--danger .cv2-dot{background:var(--cv2-pink)}.cv2-pill--onink{color:#fff;background:0 0;padding-left:0;padding-right:0}.cv2-pill--onink .cv2-dot{background:var(--cv2-pink)}@keyframes cv2-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.cv2-btn{letter-spacing:.01em;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;height:46px;padding:0 20px;font-family:inherit;font-size:14px;font-weight:800;text-decoration:none;transition:transform .15s cubic-bezier(.2,.7,.2,1),background .15s cubic-bezier(.2,.7,.2,1),box-shadow .15s cubic-bezier(.2,.7,.2,1);display:inline-flex}.cv2-btn:active{transform:scale(.98)}.cv2-btn:disabled{opacity:.45;pointer-events:none}.cv2-btn--dark{background:var(--cv2-ink);color:#fff;box-shadow:var(--cv2-shadow-dark)}.cv2-btn--dark:hover{background:var(--cv2-ink-700)}.cv2-btn--purple{background:var(--cv2-purple);color:#fff;box-shadow:var(--cv2-shadow-purple)}.cv2-btn--purple:hover{background:var(--cv2-purple-600)}.cv2-btn--pink{background:var(--cv2-pink);color:#fff;box-shadow:0 6px 18px #ed5f8f66}.cv2-btn--pink:hover{background:var(--cv2-pink-600)}.cv2-btn--outline{color:var(--cv2-ink);border:1.5px solid var(--cv2-ink);box-shadow:none;background:#fff}.cv2-btn--outline:hover{background:var(--cv2-bg-soft)}.cv2-btn--ghost{color:var(--cv2-ink-500);background:0 0;height:40px;font-size:13.5px}.cv2-btn--ghost:hover{color:var(--cv2-ink)}.cv2-btn--sm{height:38px;padding:0 16px;font-size:13px}.cv2-well{background:var(--cv2-purple-softer);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.cv2-well--line{border:1px solid var(--cv2-line);background:#fff}.cv2-well--ink{background:var(--cv2-ink)}.cv2-well--soft{background:var(--cv2-bg-soft);border:1px solid var(--cv2-line)}.cv2-avatar{color:var(--cv2-navy);background:linear-gradient(135deg,var(--cv2-purple-softer),var(--cv2-purple-soft));border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.cv2-avatar--pink{background:linear-gradient(135deg,var(--cv2-pink-soft),#ffd0e0)}.cv2-avatar--peach{background:linear-gradient(135deg,var(--cv2-tint-peach),#ffceb0)}.cv2-avatar--mint{background:linear-gradient(135deg,var(--cv2-tint-mint),#b3eccc)}.cv2-quick-tile{border:1px solid var(--cv2-line);text-align:left;cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;align-items:flex-start;gap:10px;width:100%;padding:14px;transition:background .15s,border-color .15s;display:flex}.cv2-quick-tile:hover{background:var(--cv2-bg-soft)}.cv2-quick-tile:active{transform:scale(.98)}.cv2-strip-mint{background:var(--cv2-tint-mint);color:var(--cv2-mint-text);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:12px;font-weight:700;line-height:1.4;display:flex}.cv2-strip-yellow{background:var(--cv2-tint-yellow);color:var(--cv2-gold-text);border-radius:14px;align-items:center;gap:12px;padding:12px 16px;display:flex}.cv2-tabbar{border-top:1px solid var(--cv2-line);-webkit-backdrop-filter:blur(10px);background:#ffffffeb}.cv2-tab{color:var(--cv2-ink-400);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:10px;font-weight:700;display:flex}.cv2-tab--active{color:var(--cv2-ink)}.cv2-hr{border:0;border-top:1px solid var(--cv2-line);margin:0}.cv2-hr--dashed{border-top-style:dashed}}
