:root{--ink:#1b1a17;--muted:#5c574e;--line:#e4ded2;--paper:#fbf9f5;--accent:#14532d;--accent-ink:#ffffff;--focus:#1d4ed8}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-serif,Georgia,Iowan Old Style,Times New Roman,serif;font-size:18px;line-height:1.6}main{max-width:42rem;margin:0 auto;padding:4rem 1.25rem 3rem}h1{font-size:clamp(2rem,6vw,2.9rem);line-height:1.15;letter-spacing:-.02em;margin:0 0 1rem}h2{font-size:1.35rem;margin:2.5rem 0 .75rem;letter-spacing:-.01em}.lede{font-size:1.2rem;color:var(--muted);margin:0 0 2rem}.wordmark{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:650;letter-spacing:-.02em;font-size:1.05rem;text-decoration:none;color:var(--ink)}.steps{padding-left:1.2rem;margin:0 0 2rem}.steps li{margin-bottom:.4rem}.signup{border:1px solid var(--line);background:#fff;border-radius:12px;padding:1.5rem;margin:2.5rem 0}.signup h2{margin-top:0}.row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}input[type=email]{flex:1 1 15rem;min-width:0;font:inherit;padding:.7rem .85rem;border:1px solid #b9b1a2;border-radius:8px;background:#fff;color:var(--ink)}button,input[type=email]{font-family:ui-sans-serif,system-ui,sans-serif;font-size:1rem}button{font-weight:600;padding:.7rem 1.4rem;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--accent-ink);cursor:pointer}button:hover:not(:disabled){background:#0f3d21}button:disabled{opacity:.55;cursor:progress}button.linklike{font-size:inherit;font-weight:400;padding:0;border:0;background:none;color:inherit;text-decoration:underline}button.linklike:hover:not(:disabled){background:none;color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.fine{font-size:.9rem;margin:.85rem 0 0}.fine,.note{color:var(--muted)}.note{border-left:3px solid var(--line);padding-left:1rem}.status{margin:1rem 0 0;font-size:1rem}.status[data-tone=ok]{color:var(--accent);font-weight:600}.status[data-tone=bad]{color:#9f1239;font-weight:600}footer{border-top:1px solid var(--line);margin-top:3.5rem;padding-top:1.5rem;font-size:.9rem}footer,footer a{color:var(--muted)}a{color:var(--accent)}.legal{font-size:1rem}.legal h1{font-size:2rem}main:has(.tool){max-width:64rem}.tool h2{margin-top:0}.tool input,.tool select,.tool textarea{font-family:ui-sans-serif,system-ui,sans-serif;font-size:1rem;padding:.55rem .7rem;border:1px solid #b9b1a2;border-radius:8px;background:#fff;color:var(--ink)}.card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:1.5rem;margin:0 0 1.5rem}.drop{border:2px dashed #b9b1a2;border-radius:12px;background:var(--paper);padding:2rem 1.25rem;text-align:center}.drop p{margin:0 0 1rem}.drop.dragging{border-color:var(--accent);border-style:solid;background:#f1f6f2}.tool label[for=month]{display:block;font-family:ui-sans-serif,system-ui,sans-serif;margin-bottom:.35rem}.tool label[for=month],.warnings{font-size:.95rem;color:var(--muted)}.warnings{margin:1rem 0 0;padding-left:1.2rem}.warnings li{margin-bottom:.3rem}.clients{width:100%;border-collapse:collapse;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.95rem}.clients td,.clients th{text-align:left;padding:.5rem .5rem .5rem 0;border-bottom:1px solid var(--line);vertical-align:middle}.clients thead th{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.clients td input[type=text]{width:100%}.clients td:nth-child(4){width:8.5rem}.clients td:nth-child(4) input{width:100%}.clients input[type=checkbox]{width:1.15rem;height:1.15rem}.numeric{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:560px){.clients thead{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.clients tr{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.clients td{border-bottom:0;padding:0}.clients td:first-child{flex:0 0 auto}.clients td:nth-child(2){flex:1 1 12rem}.clients td:nth-child(3),.clients td:nth-child(4),.clients td:nth-child(5){flex:0 1 auto;width:auto}.clients td:nth-child(4) input{width:5.5rem}.clients td[data-label]:before{content:attr(data-label) " ";font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-right:.3rem}.clients td.numeric{text-align:left}}.bad-hint{display:block;margin-top:.25rem;font-size:.8rem;color:#9f1239}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));grid-gap:1rem;gap:1rem}.fields label{display:flex;flex-direction:column;gap:.35rem;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.95rem;color:var(--muted)}.fields input,.fields textarea{width:100%}.fields input[type=email]{flex:0 0 auto}.fields textarea{resize:vertical;font-family:ui-sans-serif,system-ui,sans-serif}.print-area{margin-top:2rem}.invoice{background:#fff;border:1px solid var(--line);border-radius:12px;padding:2rem;margin-bottom:1.5rem}.invoice-head{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:1rem}.invoice-head h2{margin:0}.invoice-head p{margin:.2rem 0 0}.invoice-from,.invoice-period{color:var(--muted)}.invoice-from{text-align:right;font-size:.95rem}.invoice-from strong{color:var(--ink)}.invoice-to{margin:1.25rem 0 0}.label{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif}.lines{width:100%;border-collapse:collapse;margin-top:1.5rem;font-size:.95rem}.lines td,.lines th{text-align:left;padding:.45rem 0;border-bottom:1px solid var(--line)}.lines thead th{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;font-family:ui-sans-serif,system-ui,sans-serif}.lines td.numeric,.lines th.numeric{text-align:right}.lines tfoot td,.lines tfoot th{border-bottom:none;border-top:2px solid var(--ink);padding-top:.7rem;font-weight:700}.total{font-size:1.15rem}.invoice-terms{margin:1.5rem 0 0;font-size:.95rem;color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}@media print{.no-print,.wordmark,footer{display:none!important}body{background:#fff;font-size:12pt}main,main:has(.tool){max-width:none;padding:0}.print-area{margin-top:0}.invoice{border:none;border-radius:0;padding:0;margin:0;break-after:page;page-break-after:always}.invoice:last-child{break-after:auto;page-break-after:auto}.invoice-head h2{font-size:1.4rem}}.cta-row{margin:0 0 .5rem}.cta{display:inline-block;font-family:ui-sans-serif,system-ui,sans-serif;font-size:1.05rem;font-weight:600;text-decoration:none;padding:.8rem 1.5rem;border-radius:8px;background:var(--accent);color:var(--accent-ink)}.cta:hover{background:#0f3d21}.unlock-form{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.85rem}.unlock-form label{flex:0 0 100%;font-size:.9rem;font-weight:600;color:var(--muted)}.unlock-form input{flex:1 1 18rem;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;letter-spacing:.02em;padding:.7rem .85rem;border:1px solid #b9b1a2;border-radius:8px;background:#fff;color:var(--ink)}