:root { --green:#45944d; --green-d:#2f6e36; --lime:#9bde4a; --lime-l:#eef9e1; --ink:#2b2b2b; --muted:#6b7177; --line:#e6e8eb; --bg:#f3f5f1; --card:#fff; --warn:#fff6e5; --warn-b:#f3d08a; --ai:#fffbea; --ai-b:#f2df8f; }
* { box-sizing:border-box; }
body { margin:0; font-family:"Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif; background:var(--bg); color:var(--ink); font-size:16px; line-height:1.5; }
a { color:var(--green-d); }
.top { background:#fff; border-bottom:1px solid var(--line); padding:14px 36px; display:flex; align-items:center; gap:20px; }
.top img { height:52px; display:block; }
.top .title { font-size:17px; color:var(--muted); border-left:1px solid var(--line); padding-left:20px; }
.top .title b { color:var(--ink); font-weight:600; }
.top .user { margin-left:auto; display:flex; align-items:center; gap:12px; font-size:15px; color:var(--muted); }
.top .out { font-size:13px; }
.avatar { width:40px; height:40px; border-radius:50%; background:var(--green); color:#fff; display:grid; place-items:center; font-weight:600; font-size:14px; }
.flash { max-width:1040px; margin:16px auto 0; padding:0 28px; } .flash div { background:var(--lime-l); color:var(--green-d); border-radius:999px; padding:10px 18px; }
.hero { max-width:1040px; margin:30px auto 0; padding:0 28px; }
.hero h1 { font-size:28px; margin:0 0 6px; font-weight:600; }
.stepper { display:flex; align-items:center; margin:22px 0 8px; background:#fff; border-radius:999px; padding:10px 18px; box-shadow:0 1px 2px rgba(0,0,0,.04), 0 6px 20px rgba(0,0,0,.05); }
.st { display:flex; align-items:center; gap:12px; padding:4px 8px; border-radius:999px; text-decoration:none; }
.st .dot { width:42px; height:42px; border-radius:50%; border:2px solid var(--line); background:#fff; display:grid; place-items:center; font-weight:600; font-size:16px; color:var(--muted); }
.st .lbl { font-size:16px; color:var(--muted); }
.st.on .dot { border-color:var(--green); background:var(--green); color:#fff; box-shadow:0 0 0 6px rgba(69,148,77,.15); }
.st.on .lbl { color:var(--ink); font-weight:600; }
.st.done .dot { border-color:var(--green); color:var(--green); background:var(--lime-l); }
.bar { flex:1; height:3px; border-radius:3px; background:var(--line); margin:0 16px; } .bar.done { background:var(--green); }
main { max-width:1040px; margin:20px auto 36px; padding:0 28px; }
.card { background:var(--card); border-radius:24px; box-shadow:0 1px 2px rgba(0,0,0,.04), 0 10px 30px rgba(0,0,0,.06); padding:32px 36px; margin-bottom:22px; }
.card.narrow { max-width:440px; margin:60px auto; } .card.narrow label { display:block; font-weight:600; margin:14px 0; } .card.narrow input { display:block; width:100%; font:inherit; font-size:16px; padding:12px 16px; border-radius:14px; border:1.5px solid var(--line); margin-top:6px; }
.card h2 { margin:0 0 6px; font-size:22px; font-weight:600; } .card .sub { color:var(--muted); margin:0 0 20px; font-size:15px; }
.src { display:inline-flex; gap:10px; margin-bottom:22px; flex-wrap:wrap; }
.chip { font-size:14px; padding:6px 14px; border-radius:999px; background:#f1f3f2; color:#4a5056; } .chip.g { background:var(--lime-l); color:var(--green-d); }
.grid { display:grid; grid-template-columns:220px 1fr; gap:24px 28px; align-items:center; }
.grid > label { font-weight:600; font-size:16px; align-self:start; padding-top:12px; }
.lsub { display:block; font-weight:400; font-size:13.5px; color:var(--muted); margin-top:2px; }
.txt { width:100%; font:inherit; font-size:16px; padding:12px 16px; border-radius:16px; border:1.5px solid var(--line); }
.num { width:84px; font:inherit; font-size:16px; padding:10px 12px; border-radius:14px; border:1.5px solid var(--line); } .num.sm { width:70px; padding:5px 8px; font-size:14px; border-radius:10px; }
.seg { display:inline-flex; background:#f0f2ef; border-radius:999px; padding:5px; flex-wrap:wrap; gap:2px; }
.seg label { padding:10px 20px; border-radius:999px; font-size:15px; color:#4a5056; cursor:pointer; user-select:none; }
.seg label input { position:absolute; opacity:0; width:0; height:0; }
.seg label.on { background:#fff; color:var(--green-d); font-weight:600; box-shadow:0 2px 6px rgba(0,0,0,.12); }
.seg.sm label { padding:7px 14px; font-size:14px; }
.st-ctl { flex-wrap:nowrap; white-space:nowrap; } .st-ctl label { min-width:88px; text-align:center; }
.st-ctl label.on { color:#fff; } .st-ctl label.on.in { background:var(--green); } .st-ctl label.on.opt { background:#3b72d1; } .st-ctl label.on.no { background:#9aa0a6; }
.sp { display:flex; align-items:center; gap:10px; margin-top:8px; font-size:14px; color:var(--muted); } .sp .seg { padding:3px; } .sp .seg label { padding:4px 12px; font-size:13.5px; }
tr.skipped .sp { display:none; } tr.skipped td:first-child { color:#9aa0a6; }
.calc { font-size:14px; color:var(--green-d); background:var(--lime-l); padding:7px 14px; border-radius:999px; margin-left:12px; display:inline-flex; align-items:center; gap:6px; }
.aifield { position:relative; } .aifield textarea { width:100%; font:inherit; font-size:16px; padding:14px 18px; border-radius:18px; border:1.5px solid var(--ai-b); background:var(--ai); resize:none; line-height:1.5; }
textarea:focus, input:focus { outline:none; border-color:var(--green); box-shadow:0 0 0 4px rgba(69,148,77,.15); }
.tag-ai { position:absolute; top:-11px; right:16px; font-size:12.5px; background:#fff; border:1px solid var(--ai-b); color:#8a6d00; padding:2px 10px; border-radius:999px; z-index:1; }
.hint { color:var(--muted); font-size:13.5px; margin-top:6px; }
.warn { display:flex; gap:14px; background:var(--warn); border:1px solid var(--warn-b); border-radius:18px; padding:14px 18px; margin:0 0 12px; font-size:15px; } .warn .ic { color:#b7791f; }
.rednote { margin:10px 0 14px; font-size:14px; color:#8a1f14; background:#fdecea; border:1px solid #f5c2bc; border-radius:14px; padding:10px 14px; }
.btns { display:flex; justify-content:space-between; align-items:center; margin-top:30px; }
.btn { font:inherit; font-size:16px; padding:13px 28px; border-radius:999px; border:1.5px solid var(--green); background:var(--green); color:#fff; cursor:pointer; font-weight:600; text-decoration:none; display:inline-block; box-shadow:0 4px 12px rgba(69,148,77,.25); }
.btn.ghost { background:#fff; color:var(--green-d); box-shadow:none; } .btn.small { font-size:14px; padding:8px 18px; font-weight:500; box-shadow:none; }
.acts-tbl { width:100%; border-collapse:separate; border-spacing:0 8px; }
.acts-tbl td { padding:12px 16px; font-size:16px; vertical-align:middle; background:#f8f9f7; }
.acts-tbl td:first-child { border-radius:16px 0 0 16px; } .acts-tbl td:last-child { border-radius:0 16px 16px 0; text-align:right; width:1%; }
.acts-tbl .grp td { text-align:left; background:transparent; padding:18px 4px 2px; font-size:13px; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); font-weight:600; }
.cfg td { background:#fff !important; border:1.5px solid var(--line); border-radius:16px !important; padding:18px 20px !important; }
.cfgrid { display:grid; grid-template-columns:170px 1fr; gap:14px 20px; align-items:center; } .cfgrid > label { font-weight:600; font-size:15px; }
.alines { position:relative; display:flex; flex-direction:column; gap:12px; background:var(--ai); border:1.5px solid var(--ai-b); border-radius:18px; padding:20px 16px 16px; }
.tag-inline { position:absolute; top:-11px; right:16px; }
.arow { display:flex; gap:8px; align-items:center; } .arow textarea { flex:1; font:inherit; font-size:15px; line-height:1.45; padding:10px 16px; border-radius:20px; border:1px solid var(--ai-b); background:#fff; resize:none; overflow:hidden; }
.x { width:34px; height:34px; border-radius:50%; border:0; background:transparent; color:#9aa0a6; font-size:22px; cursor:pointer; flex:none; } .x:hover { background:#f1f3f2; color:#a8261b; }
.addline { margin-top:12px; font:inherit; font-size:15px; color:var(--green-d); background:#fff; border:1.5px dashed #b9d9a0; border-radius:999px; padding:8px 18px; cursor:pointer; }
.srcbtn { margin:8px 0 0 6px; font:inherit; font-size:13.5px; color:var(--green-d); background:var(--lime-l); border:0; border-radius:999px; padding:5px 12px; cursor:pointer; }
.pop { margin-top:10px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:14px 16px; box-shadow:0 8px 24px rgba(0,0,0,.08); }
.pop-head { display:flex; align-items:center; gap:14px; margin-bottom:10px; font-size:14px; }
.play { width:40px; height:40px; border-radius:50%; border:0; background:var(--green); color:#fff; display:grid; place-items:center; cursor:pointer; flex:none; font-size:14px; }
.quote { font-size:15px; line-height:1.55; background:#f7f9f6; border-left:3px solid var(--lime); border-radius:0 12px 12px 0; padding:10px 14px; }
.free { margin-top:26px; border-top:1px dashed var(--line); padding-top:20px; } .free > label { display:block; font-weight:600; font-size:16px; margin-bottom:10px; }
.free textarea { width:100%; font:inherit; font-size:16px; padding:14px 18px; border-radius:18px; border:1.5px solid var(--line); resize:none; }
.prop { display:flex; flex-direction:column; gap:10px; }
.prop-row { display:flex; align-items:center; gap:16px; background:#f7f9f6; border-radius:16px; padding:12px 16px; font-size:15px; cursor:pointer; } .prop-row input { width:20px; height:20px; }
.ready { display:flex; align-items:center; gap:22px; background:linear-gradient(135deg,var(--lime-l),#fff); border:1px solid #d8efbd; border-radius:22px; padding:24px 26px; }
.doc { width:60px; height:76px; border-radius:12px; background:#fff; border:1px solid #cfe6b5; display:grid; place-items:center; font-size:12px; font-weight:700; color:#2b579a; }
.ready h3 { margin:0 0 4px; font-size:20px; } .ready p { margin:0; font-size:14.5px; color:var(--muted); } .ready form.inline { margin-left:auto; } .ready .btn { white-space:nowrap; }
.leg { display:flex; align-items:center; gap:14px; font-size:15px; margin:8px 0; }
.sw { width:34px; height:22px; border-radius:6px; flex:none; border:1px solid var(--line); } .sw.y { background:#fff59d; } .sw.w { background:#fff; } .sw.x { background:#fff; font-size:11px; font-weight:700; color:#a8261b; display:grid; place-items:center; }
.est { width:100%; border-collapse:collapse; } .est th { text-align:left; font-size:12.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:600; padding:10px 8px; border-bottom:1px solid var(--line); }
.est td { padding:14px 8px; border-bottom:1px solid var(--line); font-size:15.5px; vertical-align:top; } .est .n { font-weight:600; white-space:nowrap; } .est .why { color:var(--muted); font-size:14px; }
.total { display:flex; align-items:baseline; gap:16px; margin-top:20px; padding:18px 24px; background:#f4f7f2; border-radius:999px; } .total b { font-size:28px; color:var(--green-d); }
.notes textarea { width:100%; font:inherit; font-size:16px; padding:14px 18px; border-radius:18px; border:1.5px solid var(--line); resize:none; }
.pill { display:inline-block; padding:3px 10px; border-radius:999px; font-size:13px; font-weight:600; margin-right:6px; }
.pill.g { background:var(--lime-l); color:var(--green-d); } .pill.a { background:#fff3d6; color:#8a5a00; } .pill.r { background:#fdecea; color:#8a1f14; } .pill.b { background:#eaf1fb; color:#2557a7; } .pill.s { background:#f1f3f2; color:#4a5056; }
.list { width:100%; border-collapse:collapse; } .list td { padding:14px 8px; border-bottom:1px solid var(--line); vertical-align:middle; } .list td.right { text-align:right; }
footer { max-width:1040px; margin:0 auto 40px; padding:0 28px; display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:14px; }
.powered { display:flex; align-items:center; gap:14px; } .powered img { height:56px; border-radius:14px; box-shadow:0 3px 10px rgba(0,0,0,.14); }
.hidden { display:none !important; }
.warnbox { margin-bottom:16px; } .warnhead { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; font-size:15px; }
.linkbtn { background:none; border:0; color:var(--green-d); font:inherit; font-size:14px; cursor:pointer; text-decoration:underline; }
