:root{--bg:#f6f7f9;--card:#fff;--ink:#16181d;--muted:#6b7280;--line:#e5e7eb;--brand:#1f6feb;--ok:#15803d;--warn:#b45309;--bad:#b91c1c}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.top{background:#111827;color:#fff}.top .wrap{display:flex;justify-content:space-between;align-items:center;height:52px}
.top .muted{color:#cbd5e1}.logo{font-weight:700;letter-spacing:.3px}.top form{margin:0}
h1{font-size:1.5rem;margin:20px 0 4px}h2{font-size:1.05rem;margin:0 0 12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0}
.narrow{max-width:420px;margin:40px auto}.center{text-align:center}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid2>.card{margin:16px 0 0}.grid2.wide-right{grid-template-columns:1.1fr 1fr}
@media(max-width:760px){.grid2,.grid2.wide-right{grid-template-columns:1fr;gap:0}}
.stack{display:flex;flex-direction:column;gap:10px}label{display:block;font-weight:600;font-size:.9rem}label input,label textarea{margin-top:4px}
input,textarea{font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:8px;width:100%;font-weight:400}
.btn{font:inherit;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 14px;cursor:pointer;text-decoration:none;color:var(--ink);display:inline-block}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.danger{color:var(--bad);border-color:#fecaca}
.btn.ghost{background:transparent}.top .btn.ghost{color:#fff;border-color:#374151}.btn.small{padding:5px 10px;font-size:.85rem}.btn:disabled{opacity:.4}
.btn.big{padding:10px 30px;font-weight:700}
.muted{color:var(--muted)}.small{font-size:.82rem}.error{color:var(--bad)}code{background:#f1f5f9;padding:1px 4px;border-radius:4px}
.list{display:flex;flex-direction:column;gap:10px}
.row{display:grid;grid-template-columns:1.1fr 1.5fr 1.9fr;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:12px}
.row.revoked{opacity:.55}.who{display:flex;flex-direction:column}.name{font-weight:700;color:var(--ink);text-decoration:none}
.stat{display:flex;flex-direction:column;gap:5px}.actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.actions form{margin:0}
.linkbox{font-size:.78rem;padding:5px 8px;flex:1 1 100%;color:var(--muted);background:#f9fafb}
@media(max-width:760px){.row{grid-template-columns:1fr}}
.pill{display:inline-block;font-size:.78rem;font-weight:600;padding:2px 9px;border-radius:999px;background:#eef2ff;color:#3730a3;max-width:100%;vertical-align:middle}
.pill.not-opened{background:#f3f4f6;color:var(--muted)}.pill.in-progress{background:#fef3c7;color:var(--warn)}.pill.done{background:#dcfce7;color:var(--ok)}.pill.revoked{background:#fee2e2;color:var(--bad)}
.bar{height:6px;background:#eef0f3;border-radius:6px;overflow:hidden}.bar span{display:block;height:100%;background:var(--brand)}
.steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.steps li{display:flex;gap:10px;align-items:flex-start}
.dot{flex:0 0 26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eef0f3;font-size:.8rem;font-weight:700}
.steps li.locked .dot{font-size:.7rem}.steps li.done .dot{background:var(--ok);color:#fff}.steps li.current .dot{background:var(--brand);color:#fff}
.steps li.done strong{color:var(--muted)}.steps li.current{background:#f8fafc;border:1px solid #dbeafe;border-radius:10px;padding:10px}
.stepbody{flex:1}.stepbody .body{white-space:pre-wrap;margin:6px 0 10px}.stepbody a{color:var(--brand);word-break:break-all}.stepbody form{margin:0}
.placeholder{background:#fff7ed;border:1px dashed #fdba74;color:#9a3412;border-radius:8px;padding:6px 10px;font-size:.85rem;margin:6px 0 10px}
.finish{font-weight:700;color:var(--ok)}
.chat{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto;padding:4px}
.msg{display:flex;flex-direction:column;max-width:85%}.msg.user{align-self:flex-end;align-items:flex-end}
.bubble{padding:9px 12px;border-radius:14px;background:#f1f5f9;white-space:pre-wrap;word-wrap:break-word}.msg.user .bubble{background:var(--brand);color:#fff}
.time{font-size:.7rem;color:var(--muted);margin:2px 6px}
.composer{display:flex;gap:8px;margin-top:12px}.composer input{flex:1}
.gate p{margin:8px 0}.gate .paybox{border:1px solid #dbeafe;background:#f8fafc;border-radius:10px;padding:14px;margin:14px 0;text-align:center}
.gate .price{font-size:1.8rem;font-weight:800;margin:0}.btn.wide{width:100%}.gate .promo{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.notice{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:8px;padding:8px 10px;font-size:.9rem}
.pill.acc-paid,.pill.acc-promo{background:#dcfce7;color:var(--ok)}.pill.acc-owner{background:#e0e7ff;color:#3730a3}.pill.acc-unpaid{background:#f3f4f6;color:var(--muted)}
.check{display:flex;gap:8px;align-items:center;font-weight:600}.check input{width:auto;margin:0}
.codes{width:100%;border-collapse:collapse;font-size:.9rem}.codes td,.codes th{text-align:left;padding:6px 4px;border-top:1px solid var(--line)}.codes form{margin:0}
.inline{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.inline label{flex:1 1 160px}
.backform{margin-top:8px}
.welcome{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;border-radius:10px;padding:12px 14px;margin:14px 0;font-weight:600}

/* save and return */
.savebox { margin-top: 18px; border: 1px solid var(--line, #e5e1da); border-radius: 12px; padding: 12px 14px; background: rgba(0,0,0,.015); }
.savebox summary { cursor: pointer; font-weight: 600; }
.savebox form { margin-top: 10px; }
input.pin, .savebox input[name=pin] { display: block; letter-spacing: .4em; font-size: 1.2em; max-width: 9em; }

/* public landing page */
.landing .hero{max-width:720px;margin:28px 0 8px}.landing .hero h1{font-size:1.9rem;line-height:1.2;margin:8px 0}
.landing .lead{font-size:1.08rem;color:#374151}
.checks{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.steplist{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:4px}.mt{margin-top:18px}
.start .price{font-size:2rem;font-weight:800;margin:0;text-align:center}.start>.muted.small{text-align:center}
.fine{max-width:720px}.foot{border-top:1px solid var(--line);margin:24px 0 32px;padding-top:8px}.foot a{color:inherit}
.pill.src-self{background:#e0f2fe;color:#075985}
@media(max-width:760px){.landing .hero h1{font-size:1.5rem}}

/* in-page step tools */
.widget{margin:10px 0;display:flex;flex-direction:column;gap:8px}.widget h3{font-size:1rem;margin:10px 0 2px}
.widget .row{display:flex;gap:8px}.widget .row input{flex:1}
.widget .ok,.savedline.ok{color:var(--ok);font-weight:600}.widget .bad,p.bad{color:var(--bad);font-weight:600}.widget .warn{color:var(--warn);font-weight:600}
.nameresult p{margin:4px 0}.savedline{margin:0}.inline label.mi{flex:0 0 90px}
.kv{width:100%;border-collapse:collapse;font-size:.88rem}.kv th,.kv td{text-align:left;vertical-align:top;padding:5px 4px;border-top:1px solid var(--line)}.kv th{width:42%;font-weight:600;color:#374151}
.sheet{border:1px solid var(--line);border-radius:10px;padding:8px 10px}.sheet summary{cursor:pointer;font-weight:600}
.howto{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
fieldset{border:1px dashed var(--line);border-radius:8px;padding:8px}
.gov{border:1px solid #dbeafe;background:#f8fafc;border-radius:10px;padding:12px;margin:6px 0}.gov p{margin:6px 0 0}
.steplink{color:inherit;text-decoration:none}.steplink:hover strong,.steplink:focus strong{text-decoration:underline}
li.shown{outline:2px solid #93c5fd;border-radius:10px}
.viewing{background:#eff6ff;border-radius:8px;padding:6px 10px}
.einform .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 12px;margin:8px 0}
.einform label{display:flex;flex-direction:column;font-size:.9em}
.einform label.blank input{border-color:#f59e0b;background:#fffbeb}
.note{background:#f1f5f9;border-radius:8px;padding:6px 10px}
/* My LLC Documents */
.docs-h1{font-size:1.4rem;margin:4px 0}
.docslink{margin:10px 0}
.filed{border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px}
.filed h3{margin:0}.row2{display:flex;gap:8px;flex-wrap:wrap}.row2 label{flex:1;min-width:150px;display:flex;flex-direction:column;font-size:.88rem}
.facts td{word-break:break-word}.copyval{font-family:ui-monospace,Menlo,monospace;font-size:.92rem}
.suggest{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:8px 10px;margin-bottom:8px}.suggest p{margin:0 0 6px}
.factform{display:flex;flex-direction:column;gap:6px;margin-top:8px}.factform label{display:flex;flex-direction:column;font-size:.88rem}
.checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.checklist li.done{color:var(--ok)}
.doclist{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:10px}.doclist li{border-top:1px solid var(--line);padding-top:8px}
.doclist p{margin:4px 0}.docactions{display:flex;gap:6px;flex-wrap:wrap}
.upload{display:flex;flex-direction:column;gap:6px;border:1px dashed var(--line);border-radius:10px;padding:10px}
.fwdaddr{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fwdaddr code{font-size:1rem;background:#f3f4f6;padding:6px 8px;border-radius:6px;word-break:break-all}
.gmailconfirm{border:2px solid #2563eb;background:#eff6ff;margin-bottom:14px}
.rawtext{white-space:pre-wrap;word-break:break-word;font-size:.82rem;max-height:420px;overflow:auto;background:#f9fafb;padding:8px;border-radius:6px}
.pill.muted{background:#f3f4f6;color:#6b7280}
