:root{--teal:#0f7c8c;--teal-700:#0b5f6c;--teal-50:#e8f5f6;--navy:#0f2a3a;--ink:#1c2b33;--muted:#5b6b75;--line:#dde5e8;--bg:#f7fbfb;--card:#fff;--ok:#1b8a5a;--warn:#b7791f;--err:#b42318;--radius:16px;--shadow:0 6px 24px rgba(15,42,58,.08)}
*{box-sizing:border-box}html{font-size:16px}
body{margin:0;font-family:Figtree,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
a{color:var(--teal-700)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;border-radius:8px}.skip:focus{left:8px;z-index:99}
.wrap{max-width:860px;margin:0 auto;padding:0 16px}.wrap.wide{max-width:1100px}
.test-banner{background:#fff4d6;color:#5a3e00;text-align:center;padding:8px 16px;font-size:.9rem;border-bottom:1px solid #f0d58a}
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.top .row{display:flex;align-items:center;gap:16px;min-height:64px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);margin-right:auto}
.brand b{display:block;font-size:1.05rem;line-height:1.1}.brand small{display:block;color:var(--teal);letter-spacing:.12em;font-size:.65rem;font-weight:700}
.mark{width:34px;height:34px;border-radius:10px;background:radial-gradient(circle at 35% 30%,#fff 0,#bfe6ea 35%,var(--teal) 100%);display:inline-block}
.nav{display:flex;gap:4px;flex-wrap:wrap}.nav a{padding:8px 10px;border-radius:10px;text-decoration:none;color:var(--navy);font-weight:600;font-size:.95rem}.nav a:hover{background:var(--teal-50)}
.who{color:var(--muted);font-size:.9rem;margin-right:8px}
.inline{display:inline}
button.link{background:none;border:0;color:var(--teal-700);text-decoration:underline;cursor:pointer;font:inherit;padding:4px}
main{padding:28px 0 48px}
h1{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(1.7rem,4vw,2.3rem);line-height:1.15;margin:0 0 8px;color:var(--navy)}
h2{font-size:1.2rem;margin:0 0 8px;color:var(--navy)}h3{font-size:1.02rem;margin:0 0 6px}
.lead{color:var(--muted);font-size:1.05rem;margin:0 0 20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin:0 0 16px}
.card.accent{border-color:rgba(15,124,140,.4);background:linear-gradient(180deg,#fff,var(--teal-50))}
.grid{display:grid;gap:16px}@media(min-width:720px){.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}}
.f{margin:0 0 14px}.f label{display:block;font-weight:600;margin:0 0 4px}.f .opt{color:var(--muted);font-weight:400;font-size:.85rem}
.f input,.f select,.f textarea{width:100%;font:inherit;padding:11px 12px;border:1px solid #c7d3d8;border-radius:10px;background:#fff;min-height:44px}
.f input:focus,.f select:focus,.f textarea:focus{outline:3px solid rgba(15,124,140,.35);border-color:var(--teal)}
.f small{display:block;color:var(--muted);margin-top:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:999px;background:var(--teal);color:#fff;border:0;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--teal-700)}.btn.secondary{background:#fff;color:var(--navy);border:1.5px solid #c7d3d8}.btn.secondary:hover{background:var(--teal-50)}
.btn.danger{background:#fff;color:var(--err);border:1.5px solid #e5b4b0}.btn-sm{min-height:36px;padding:6px 14px;font-size:.9rem}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.flash{background:#e6f6ee;color:#0e5c3a;border:1px solid #b9e4cc;padding:10px 14px;border-radius:10px}
.err{background:#fdecea;color:var(--err);border:1px solid #f3c2bd;padding:10px 14px;border-radius:10px}
.steps{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px}@media(min-width:720px){.steps{grid-template-columns:repeat(5,1fr)}}
.steps li{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:.92rem}
.steps li .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eef3f5;font-weight:700;flex:none}
.steps li.done{color:var(--ink)}.steps li.done .n{background:#d6f1e3;color:var(--ok)}
.steps li.now{border-color:var(--teal);color:var(--navy);font-weight:600}.steps li.now .n{background:var(--teal);color:#fff}
.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:700;border:1px solid}
.badge.ok{color:var(--ok);border-color:#a9dfc2;background:#eaf8f0}.badge.wait{color:var(--teal-700);border-color:#9fd3da;background:var(--teal-50)}
.badge.muted{color:var(--muted);border-color:var(--line);background:#f3f6f7}.badge.warn{color:var(--warn);border-color:#ebd39a;background:#fff7e3}
table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.85rem}
tr.rowlink:hover{background:var(--teal-50)}
dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}dl.kv dt{color:var(--muted)}dl.kv dd{margin:0}
.msgs{display:grid;gap:8px;margin:0 0 16px}.msg{max-width:80%;padding:10px 14px;border-radius:14px;background:#eef3f5}.msg.me{margin-left:auto;background:var(--teal-50)}.msg small{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}
.plan-price{font-family:Fraunces,Georgia,serif;font-size:2rem;color:var(--navy)}.plan-price small{font-size:1rem;color:var(--muted);font-family:inherit}
ul.checks{list-style:none;padding:0;margin:8px 0}ul.checks li{padding-left:24px;position:relative;margin:4px 0}ul.checks li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:700}
.muted{color:var(--muted)}.small{font-size:.9rem}
.foot{border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;padding:20px 0}
.persona{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
pre.export{white-space:pre-wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;font-size:.88rem;max-height:60vh;overflow:auto}
.split{display:grid;gap:16px}@media(min-width:900px){.split{grid-template-columns:1.2fr .8fr}}
.pay-card{border:1px dashed #9fd3da;border-radius:12px;padding:14px;background:#fff}
