:root{--wavvy-bg: #ffffff;--wavvy-surface: #fafafa;--wavvy-text: #111111;--wavvy-text-secondary: #1a1a1a;--wavvy-muted: #5c5c5c;--wavvy-border: rgba(17, 17, 17, .08);--wavvy-border-strong: rgba(17, 17, 17, .1);--wavvy-accent: #376c50;--wavvy-accent-secondary: #4fc385;--wavvy-accent-soft: rgba(55, 108, 80, .12);--wavvy-accent-wash: rgba(55, 108, 80, .06);--wavvy-accent-hover: #2f5c44;--wavvy-cta: #111111;--wavvy-cta-hover: #2a2a2a;--wavvy-max: 1120px;--wavvy-shell-max: 1320px;--wavvy-pad: clamp(1.25rem, 4vw, 2.5rem);--wavvy-shell-pad-x: clamp(.8rem, 2.6vw, 1.6rem);--wavvy-font: "Nunito", sans-serif;--wavvy-copy-size: 1.05rem;--wavvy-copy-line-height: 1.6;--wavvy-radius-sm: 8px;--wavvy-radius-md: 14px;--wavvy-radius-lg: 28px;--wavvy-radius-pill: 999px}*{box-sizing:border-box}body{margin:0;font-family:var(--wavvy-font);font-size:var(--wavvy-copy-size);line-height:var(--wavvy-copy-line-height);color:var(--wavvy-text);background:var(--wavvy-bg);overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer;border:0}button:focus-visible{outline:2px solid var(--wavvy-accent);outline-offset:3px}.hidden{display:none!important}.app-shell{min-height:100vh;display:grid;place-items:center;padding:var(--wavvy-pad)}.login-card,.dashboard{width:min(var(--wavvy-max),100%)}.login-card{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}.hero-panel,.auth-panel,.card,.modal-card{background:var(--wavvy-bg);border:1px solid var(--wavvy-border);border-radius:var(--wavvy-radius-md)}.hero-panel{padding:clamp(1.75rem,4vw,2.375rem);position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 0%,var(--wavvy-accent-soft) 100%)}.hero-panel:after{content:"";position:absolute;width:240px;height:240px;background:var(--wavvy-accent-wash);border-radius:50%;right:-80px;bottom:-80px}.logo{display:flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;color:var(--wavvy-text)}.logo-image{width:40px;height:40px;border-radius:10px;object-fit:contain;flex-shrink:0}h1{font-size:clamp(2.25rem,6vw,3.75rem);font-weight:800;line-height:1.05;letter-spacing:-.03em;margin:clamp(2rem,5vw,3.375rem) 0 18px;text-wrap:balance;color:var(--wavvy-text)}h2{font-size:clamp(1.45rem,3.2vw,2rem);font-weight:800;line-height:1.15;letter-spacing:-.03em;margin:0 0 8px;color:var(--wavvy-text)}h3{font-size:clamp(1.35rem,2.8vw,1.85rem);font-weight:800;line-height:1.2;letter-spacing:-.02em;margin:0;color:var(--wavvy-text)}p{color:var(--wavvy-muted);line-height:1.55}.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;position:relative;z-index:1}.pill{background:var(--wavvy-accent-soft);color:var(--wavvy-accent);padding:8px 12px;border-radius:var(--wavvy-radius-pill);font-size:.82rem;font-weight:700}.auth-panel{padding:clamp(1.5rem,4vw,2rem)}.auth-options{display:grid;gap:12px;margin-top:26px}.btn{padding:.65rem 1.35rem;font-size:.95rem;font-weight:700;transition:background .2s,transform .2s}.login-card .btn{border-radius:var(--wavvy-radius-pill);background:var(--wavvy-cta);color:#fff;border:1px solid transparent}.login-card .btn:hover{background:var(--wavvy-cta-hover)}.login-card .btn.secondary{background:transparent;color:var(--wavvy-text);border:1px solid var(--wavvy-border)}.login-card .btn.secondary:hover{background:var(--wavvy-accent-wash)}.dashboard .btn,.modal-card .btn{border-radius:var(--wavvy-radius-sm);background:var(--wavvy-accent);color:#fff}.dashboard .btn:hover,.modal-card .btn:hover{background:var(--wavvy-accent-hover)}.btn.ghost,.dashboard .btn.ghost{background:none;color:var(--wavvy-accent);border:none;font-weight:700}.input,textarea{width:100%;border:1px solid var(--wavvy-border);background:var(--wavvy-bg);border-radius:var(--wavvy-radius-sm);padding:13px 14px;outline:none;color:var(--wavvy-text)}.input:focus,textarea:focus{border-color:var(--wavvy-accent);box-shadow:0 0 0 4px var(--wavvy-accent-soft)}.divider{display:flex;align-items:center;gap:12px;color:var(--wavvy-muted);font-size:.82rem;font-weight:600;margin:18px 0}.divider:before,.divider:after{content:"";height:1px;background:var(--wavvy-border);flex:1}.dashboard{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:start}.sidebar{position:sticky;top:24px;padding:24px}.nav{margin-top:28px;display:grid;gap:8px}.nav button{text-align:left;background:transparent;padding:12px;border-radius:var(--wavvy-radius-sm);color:var(--wavvy-muted);font-weight:800;font-size:.9rem}.nav button.active,.nav button:hover{background:var(--wavvy-accent-wash);color:var(--wavvy-accent)}.profile{margin-top:28px;padding:14px;background:var(--wavvy-surface);border-radius:var(--wavvy-radius-md);border:1px solid var(--wavvy-border)}.profile strong{color:var(--wavvy-text);font-weight:700}.main{display:grid;gap:18px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:24px}.balance{display:flex;gap:10px;align-items:center;background:var(--wavvy-accent-soft);color:var(--wavvy-accent);border-radius:var(--wavvy-radius-pill);padding:10px 14px;font-size:.82rem;font-weight:800}.grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.card{padding:24px}.task-card{border:1px solid var(--wavvy-border);border-radius:var(--wavvy-radius-md);padding:18px;margin-top:16px;background:var(--wavvy-surface)}.task-title{font-size:clamp(1.35rem,2.8vw,1.5rem);font-weight:800;line-height:1.2;letter-spacing:-.02em;margin:0;color:var(--wavvy-text)}.task-meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.meta{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--wavvy-accent);background:var(--wavvy-accent-soft);border:1px solid var(--wavvy-border);padding:7px 10px;border-radius:var(--wavvy-radius-pill)}.progress{height:10px;background:var(--wavvy-accent-wash);border-radius:var(--wavvy-radius-pill);overflow:hidden;margin-top:12px}.bar{height:100%;background:linear-gradient(90deg,var(--wavvy-accent),var(--wavvy-accent-secondary));transition:.25s}.test-stage{min-height:520px;display:grid;align-content:start;gap:16px}.tx-row{display:flex;justify-content:space-between;gap:8px;align-items:start}.tag{background:var(--wavvy-accent-soft);color:var(--wavvy-accent);border-radius:var(--wavvy-radius-pill);padding:6px 9px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.phone{max-width:390px;margin:0 auto;border:10px solid var(--wavvy-text);border-radius:var(--wavvy-radius-lg);background:var(--wavvy-surface);overflow:hidden;box-shadow:0 25px 55px #1111111f}.phone-header{background:var(--wavvy-text);color:#fff;padding:10px 18px 18px;display:flex;justify-content:space-between;align-items:center}.phone-body{padding:16px;display:grid;gap:12px}.tx{background:white;border:1px solid var(--wavvy-border);border-radius:var(--wavvy-radius-md);padding:14px;display:grid;gap:10px}.choice-list{display:grid;gap:10px}.choice{text-align:left;padding:14px;border-radius:var(--wavvy-radius-md);border:1px solid var(--wavvy-border);background:white}.choice.selected{border-color:var(--wavvy-accent);background:var(--wavvy-accent-soft)}.recommend{padding:14px;border-radius:var(--wavvy-radius-md);border:1px dashed rgba(55,108,80,.35);background:var(--wavvy-accent-wash)}.feedback-area{display:grid;gap:12px}.modal{position:fixed;inset:0;background:rgba(17,17,17,.45);display:grid;place-items:center;padding:var(--wavvy-pad);z-index:20}.modal-card{width:min(520px,100%);padding:26px}.modal-card .btn{margin-top:18px}.confetti{font-size:48px}.small{font-size:.82rem;font-weight:600;color:var(--wavvy-muted);line-height:1.45}.small.tight-top{margin:4px 0 0}.small.no-bottom{margin-bottom:0}.toast{position:fixed;right:20px;bottom:20px;background:var(--wavvy-cta);color:#fff;padding:14px 16px;border-radius:var(--wavvy-radius-md);font-weight:700;z-index:30}@media (max-width: 991px){.login-card,.dashboard,.grid{grid-template-columns:1fr}.sidebar{position:static}.topbar{align-items:flex-start;flex-direction:column}}
