:root{
  --primary:#312E81;--primary-dark:#1E1B4B;--accent:#7C6EE6;--accent-soft:#EEEAFE;
  --bg:#F7F7FB;--surface:#FFFFFF;--text:#171725;--muted:#6B6B7A;--border:#E7E5EF;
  --success:#2E9B6F;--warning:#C98A2E;--danger:#C65D6B;--shadow:0 16px 45px rgba(49,46,129,.09);
  --radius:22px;--radius-sm:14px;
}
body.theme-bold{--primary:#102A43;--primary-dark:#071A2C;--accent:#147D92;--accent-soft:#E5F7FA;--bg:#F3F7F9;--text:#102A43;--muted:#526978;--border:#DCE7EB;--shadow:0 16px 45px rgba(16,42,67,.10)}
body.theme-bright{--primary:#5A275B;--primary-dark:#351536;--accent:#E57254;--accent-soft:#FFF0E8;--bg:#FFF9F5;--text:#2C2230;--muted:#756775;--border:#F0E1DB;--shadow:0 16px 45px rgba(90,39,91,.09)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-bottom:88px}
button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}
.hidden{display:none!important}.topbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent)}
.brand-button{border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:0}.logo-mark{width:36px;height:36px;border-radius:13px;background:var(--primary);display:block;position:relative;box-shadow:var(--shadow)}
.logo-mark .meld-path{position:absolute;left:8px;width:20px;height:3px;background:white;border-radius:999px;transform-origin:right center}
.logo-mark .meld-top{top:11px;transform:rotate(28deg)}
.logo-mark .meld-bottom{bottom:11px;transform:rotate(-28deg)}
.logo-mark .meld-dot{position:absolute;right:5px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.brand{font-weight:850;letter-spacing:.08em;color:var(--primary-dark)}.top-actions{display:flex;gap:8px}
main{max-width:820px;margin:0 auto;padding:24px 18px 40px}.hero{padding:18px 0 8px}.eyebrow{color:var(--accent);font-weight:850;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}
h1,h2,h3{margin:0 0 10px;line-height:1.08}h1{font-size:clamp(2rem,7vw,3.5rem);letter-spacing:-.045em}h2{font-size:1.35rem;letter-spacing:-.02em}h3{font-size:1.03rem}p{line-height:1.56;color:var(--muted);margin:0 0 14px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin:14px 0}.card.soft{background:linear-gradient(145deg,var(--surface),var(--accent-soft))}.card.flat{box-shadow:none}.insight{border-left:4px solid var(--accent)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:560px){.grid.three{grid-template-columns:1fr}.desktop-two{grid-template-columns:1fr!important}}
.stack{display:grid;gap:10px}.row{display:flex;gap:10px;align-items:center}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1}.center{text-align:center}
.primary,.secondary,.ghost,.danger{border-radius:var(--radius-sm);padding:13px 16px;font-weight:780;border:1px solid transparent;min-height:46px}.primary{background:var(--primary);color:white}.primary:hover{background:var(--primary-dark)}.secondary{background:var(--accent-soft);color:var(--primary-dark)}.ghost{background:var(--surface);border-color:var(--border);color:var(--text)}.danger{background:#fff4f5;color:var(--danger);border-color:#f2d5db}.small{padding:8px 11px;min-height:auto;font-size:.88rem}.full{width:100%}
.input,textarea,select{width:100%;border:1px solid var(--border);border-radius:15px;padding:14px;background:var(--surface);color:var(--text);outline:none}textarea{min-height:150px;resize:vertical}.input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}
.label{display:block;font-size:.88rem;font-weight:780;margin:12px 0 7px}.help{font-size:.82rem;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--border);background:var(--surface);padding:10px 12px;border-radius:999px;color:var(--muted);font-weight:680}.chip.selected{background:var(--accent-soft);color:var(--primary-dark);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}
.task{display:flex;align-items:flex-start;gap:11px;padding:12px 0;border-bottom:1px solid var(--border)}.task:last-child{border-bottom:0}.task input[type=checkbox]{width:21px;height:21px;margin-top:2px;accent-color:var(--primary)}.task-title{font-weight:760;color:var(--text)}.meta{font-size:.82rem;color:var(--muted);margin-top:4px}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:850;background:var(--accent-soft);color:var(--primary-dark)}.badge.success{background:#E7F7F0;color:#1D7352}.badge.warn{background:#FFF5DF;color:#8A611E}
.progress{height:9px;background:color-mix(in srgb,var(--border) 75%,transparent);border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);border-radius:999px}.kpi{font-size:2rem;font-weight:880;letter-spacing:-.04em;color:var(--primary-dark)}
.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick button{text-align:left;min-height:78px}.notice{font-size:.86rem;background:#FFF8E9;color:#73551D;border:1px solid #F1DFB4;border-radius:14px;padding:12px}.success-box{font-size:.9rem;background:#ECF8F3;color:#1D684D;border:1px solid #CFEBDD;border-radius:14px;padding:12px}.error-box{font-size:.9rem;background:#FFF2F4;color:#8A3D48;border:1px solid #F2D2D8;border-radius:14px;padding:12px}
.auth-wrap{max-width:580px;margin:0 auto}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:4px;margin:14px 0}.auth-tab{border:0;background:transparent;padding:11px;border-radius:12px;font-weight:780;color:var(--muted)}.auth-tab.active{background:var(--accent-soft);color:var(--primary-dark)}
.stage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.stage-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:13px;text-align:left;color:var(--text);font-weight:720}.stage-card.selected{border-color:var(--accent);background:var(--accent-soft)}
.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.theme-option{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:10px;text-align:center}.theme-option.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.theme-swatch{height:38px;border-radius:10px;margin-bottom:7px}.swatch-calm{background:linear-gradient(135deg,#312E81,#7C6EE6)}.swatch-bold{background:linear-gradient(135deg,#102A43,#147D92)}.swatch-bright{background:linear-gradient(135deg,#5A275B,#E57254)}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:78px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(16px);border-top:1px solid var(--border);display:flex;justify-content:center;z-index:30;padding-bottom:env(safe-area-inset-bottom)}.nav-btn{width:min(20%,150px);border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.nav-btn span{font-size:1.24rem}.nav-btn small{font-size:.71rem;font-weight:760}.nav-btn.active{color:var(--primary)}
dialog{border:0;border-radius:24px;width:min(92vw,590px);max-height:88vh;overflow:auto;padding:20px;background:var(--surface);color:var(--text);box-shadow:0 30px 100px rgba(0,0,0,.2)}dialog::backdrop{background:rgba(20,18,38,.45);backdrop-filter:blur(4px)}.modal-close{margin-top:10px}
#toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);background:var(--primary-dark);color:white;padding:10px 14px;border-radius:999px;opacity:0;pointer-events:none;transition:.2s;z-index:50;font-size:.9rem;max-width:88vw;text-align:center}#toast.show{opacity:1}
.empty{text-align:center;padding:30px 8px}.muted{color:var(--muted)}.hr{height:1px;background:var(--border);margin:16px 0}.ref-box{word-break:break-all;background:var(--accent-soft);border-radius:12px;padding:10px;font-size:.82rem}.price{font-size:1.6rem;font-weight:880;color:var(--primary-dark)}
.plan-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.link-button{border:0;background:transparent;color:var(--primary);font-weight:780;padding:0}.legal{font-size:.78rem;color:var(--muted);line-height:1.5}.legal a{color:var(--primary)}.checkline{display:flex;gap:9px;align-items:flex-start;margin-top:12px}.checkline input{width:19px;height:19px;margin-top:2px;accent-color:var(--primary)}
