:root{--ink:#0e0f0c;--ink2:#171916;--line:#2a2d27;--lime:#9fe870;--pale:#e2f6d5;--mute:#8d9288;--txt:#e9ece5;--r:20px}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--txt);font:16px/1.55 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}
.top{display:flex;justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:20px 20px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em;color:var(--txt);text-decoration:none}
.dot{width:14px;height:14px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px #9fe87026,0 0 0 11px #9fe8700f}
.pill{background:var(--lime);color:var(--ink);font-weight:700;padding:8px 16px;border-radius:99px;text-decoration:none;font-size:14px}
main,footer{max-width:1120px;margin:0 auto;padding:0 20px}
.hero{padding:48px 0 40px;max-width:820px}
.eyebrow{color:var(--lime);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}
.eyebrow.dark{color:#163300}
h1{font-size:clamp(40px,9vw,92px);line-height:.95;font-weight:900;letter-spacing:-.035em}
h1 em{font-style:normal;color:var(--lime)}
.lede{font-size:clamp(17px,2.2vw,21px);color:#c9cec3;margin:26px 0 18px;max-width:620px}
.honest{font-size:14px;color:var(--mute);border-left:2px solid var(--line);padding-left:14px;max-width:620px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.card{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);padding:26px;min-width:0}
h2{font-size:22px;letter-spacing:-.02em;margin-bottom:18px;display:flex;align-items:center;gap:12px}
.n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:15px;font-weight:800;flex:none}
form#add{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
label{font-size:13px;color:var(--mute);display:grid;gap:6px;min-width:0}
input,select{font:inherit;color:var(--txt);background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:11px 12px;width:100%;min-width:0}
input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.btn{font:inherit;font-weight:700;font-size:14px;border:0;border-radius:99px;padding:12px 20px;background:var(--lime);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-block;text-align:center}
.btn:hover{background:#b6f28f}
.btn.ghost{background:transparent;color:var(--txt);border:1px solid #444a40}
.btn.ghost:hover{border-color:var(--lime);background:transparent}
.btn.solid{background:var(--ink);color:var(--lime)}
.vips{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}
.vips li{display:flex;align-items:center;gap:12px;background:var(--ink);border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.av{width:34px;height:34px;border-radius:50%;background:var(--pale);color:#163300;display:grid;place-items:center;font-weight:800;flex:none}
.nm{flex:1;min-width:0;display:grid;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.nm small{color:var(--mute);font-weight:400}
.x{background:none;border:0;color:var(--mute);font-size:22px;cursor:pointer;width:36px;height:36px;border-radius:50%}
.x:hover{color:#ff8a8a}
.empty{color:var(--mute);margin:16px 0;font-size:14px}
.row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.row .btn{flex:1 1 auto}
.file{display:inline-block;color:var(--txt)}
.check{display:flex;align-items:flex-start;gap:10px;color:#c9cec3;font-size:14px}
.check input{width:auto;margin-top:4px;accent-color:var(--lime)}
.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);border:1px solid var(--line);border-radius:99px;padding:4px;margin-bottom:14px}
.seg button{font:inherit;font-weight:700;background:none;border:0;color:var(--mute);padding:10px;border-radius:99px;cursor:pointer}
.seg button[aria-selected=true]{background:var(--lime);color:var(--ink)}
.progress{height:4px;background:var(--line);border-radius:4px;overflow:hidden;margin-bottom:12px}
.progress i{display:block;height:100%;background:var(--lime);transition:width .3s}
.steps{list-style:none;padding:0;display:grid}
.steps li{border-top:1px solid var(--line)}
.steps li:first-child{border-top:0}
.steps label{display:flex;gap:14px;padding:14px 0;cursor:pointer;color:var(--txt);font-size:15px}
.steps input{position:absolute;opacity:0;width:0}
.box{width:22px;height:22px;border-radius:50%;border:2px solid #555b50;flex:none;margin-top:2px;display:grid;place-items:center}
input:checked+.box{background:var(--lime);border-color:var(--lime)}
input:checked+.box::after{content:"";width:6px;height:11px;border:solid var(--ink);border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px)}
input:focus-visible+.box{outline:2px solid var(--lime);outline-offset:2px}
.tx{display:grid;gap:2px;min-width:0}
.tx span{color:#b4b9ad;font-size:14px}
.tx b{font-weight:700}
.on .tx{opacity:.5}
.fine{color:var(--mute);font-size:13px;margin-top:10px}
.pro{margin:20px 0;background:var(--lime);color:var(--ink);border-radius:28px;padding:34px;display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center}
.pro h2{font-size:clamp(26px,4vw,40px);font-weight:900;letter-spacing:-.03em;line-height:1;margin-bottom:12px}
.pro p{max-width:46ch;margin-bottom:20px;color:#163300}
.pro .btn.solid:hover{background:#163300}
.linkbtn{background:none;border:0;font:inherit;font-size:13px;color:#163300;text-decoration:underline;cursor:pointer;margin-left:12px;padding:10px 0}
.teaser{list-style:none;padding:0;display:grid;gap:10px}
.teaser li{background:#ffffff80;border-radius:16px;padding:16px 18px;display:grid;grid-template-columns:auto 1fr;gap:2px 14px}
.teaser span{grid-column:1/-1;font-size:13px;color:#163300}
.profiles{background:#ffffff66;border-radius:18px;padding:18px;min-width:0}
.profiles h3{margin-bottom:10px}
.prof{display:grid;grid-template-columns:1fr 1fr 1fr 36px;gap:6px;margin-bottom:10px}
.prof select{grid-column:1/4}
.prof input:first-child{grid-column:1/-1}
.profiles .btn{margin:6px 8px 0 0}
footer{padding:40px 20px;color:var(--mute);font-size:13px}
#sheet{display:none}
@media (max-width:860px){.grid,.pro{grid-template-columns:1fr}.pro{padding:24px}}
@media (max-width:520px){form#add{grid-template-columns:1fr}.card{padding:20px}.hero{padding-top:28px}}
@media print{body>*:not(#sheet){display:none!important}#sheet{display:block;color:#000;background:#fff;padding:20px;font-family:system-ui}#sheet td{padding:6px 10px;border:1px solid #999}#sheet table{border-collapse:collapse;margin:14px 0}}
label small{display:inline}
