*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:#f2f2f2;color:#111;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}.app{min-height:100%;display:flex;flex-direction:column}.lang-switch{position:fixed;top:14px;right:16px;z-index:40;display:flex;border:1px solid #d6d6d6;border-radius:999px;overflow:hidden;background:#fff}.lang-btn{border:0;background:transparent;padding:4px 11px;font-size:11px;letter-spacing:.06em;color:#8a8a8a}.lang-btn.on{background:#111;color:#fff}.app-foot{margin-top:auto;padding:18px 16px 24px;text-align:center;font-size:11px;color:#9a9a9a}.btn{border:1px solid #111111;background:#111;color:#fff;border-radius:3px;padding:7px 14px;font-size:13px;line-height:1.2;transition:opacity .12s ease}.btn:hover{opacity:.82}.btn:disabled{opacity:.4;cursor:default}.btn.ghost{background:transparent;color:#333;border-color:#d6d6d6}.btn.ghost:hover{border-color:#111;opacity:1}.btn.big{padding:11px 22px;font-size:14px}.link{border:0;background:none;padding:2px 6px;font-size:12px;color:#666;text-decoration:underline;text-underline-offset:2px}.link:hover{color:#111}.link.danger:hover{color:#000}.count{margin-left:8px;font-size:11px;color:#8a8a8a}.landing{flex:1;width:100%;max-width:940px;margin:0 auto;padding:0 24px 20px}.landing-actions{display:flex;gap:10px;flex-wrap:wrap}.lp-top{display:flex;align-items:center;padding:22px 92px 0 0}.lp-brand{display:flex;align-items:baseline;gap:12px;font-size:15px;font-weight:600;letter-spacing:-.01em}.lp-brand-note{font-size:11px;font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:#9a9a9a}.lp-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:center;padding:68px 0 76px}.lp-hero-copy h1{margin:0;font-size:40px;line-height:1.12;font-weight:600;letter-spacing:-.025em;max-width:16em}.lp-lead{margin:18px 0 0;font-size:15px;line-height:1.65;color:#5a5a5a;max-width:34em}.lp-badges{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 28px}.lp-badges span{padding:3px 11px;border:1px solid #dcdcdc;border-radius:999px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#7a7a7a}.lp-hero-art{display:flex;justify-content:flex-end}.sketch{width:262px;height:370px;padding:20px 18px;background:#fff;border:1px solid #e6e6e6;box-shadow:0 1px 2px #0000000d,0 14px 34px #00000012;display:flex;flex-direction:column}.sk-head{display:flex;align-items:flex-start;justify-content:space-between}.sk-logo{width:54px;height:20px;background:#111;border-radius:2px}.sk-title{width:62px;height:9px;background:#111}.sk-lines,.sk-block,.sk-foot{display:flex;flex-direction:column;gap:4px}.sk-lines{margin-top:12px}.sk-block{margin-top:16px}.sk-l{display:block;height:4px;width:100%;background:#e4e4e4;border-radius:2px}.sk-l.dark{background:#a8a8a8}.sk-l.w22{width:22%}.sk-l.w30{width:30%}.sk-l.w40{width:40%}.sk-l.w45{width:45%}.sk-l.w48{width:48%}.sk-l.w52{width:52%}.sk-l.w55{width:55%}.sk-l.w60{width:60%}.sk-l.w70{width:70%}.sk-table{margin-top:20px}.sk-tr{display:grid;grid-template-columns:1fr 34px;gap:12px;align-items:center;padding:6px 0;border-bottom:1px solid #f0f0f0}.sk-th{border-bottom:1px solid #111111;padding-bottom:5px}.sk-totals{margin-top:12px;margin-left:auto;width:58%}.sk-tot{display:grid;grid-template-columns:1fr 34px;gap:12px;align-items:center;padding:4px 0}.sk-tot.strong{border-top:1px solid #111111;padding-top:7px;margin-top:3px}.sk-foot{margin-top:auto;padding-top:14px;border-top:1px solid #f0f0f0}.lp-section{padding:44px 0;border-top:1px solid #e6e6e6}.lp-section h2{margin:0 0 26px;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8a8a8a}.lp-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.lp-section-head h2{margin-bottom:0}.lp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 40px}.lp-card h3{margin:0 0 7px;font-size:15px;font-weight:600;letter-spacing:-.01em}.lp-card p{margin:0;font-size:13px;line-height:1.6;color:#6b6b6b}.lp-steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.lp-steps li{display:flex;gap:14px;align-items:flex-start}.lp-step-n{flex:0 0 24px;height:24px;border:1px solid #111111;border-radius:999px;display:grid;place-items:center;font-size:11px;font-variant-numeric:tabular-nums}.lp-steps h3{margin:2px 0 6px;font-size:15px;font-weight:600}.lp-steps p{margin:0;font-size:13px;line-height:1.6;color:#6b6b6b}.lp-recent-list{margin:22px 0 0;padding:0;list-style:none;border-top:1px solid #eeeeee}.lp-recent-list li{border-bottom:1px solid #eeeeee}.lp-recent-list button{display:grid;grid-template-columns:70px minmax(0,1fr) 130px 120px;gap:16px;align-items:center;width:100%;padding:12px 4px;border:0;background:none;text-align:left;font-size:13px;color:#333}.lp-recent-list button:hover{background:#fafafa}.r-num{color:#8a8a8a}.r-client{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.r-date{color:#8a8a8a}.r-amt{text-align:right}.lp-privacy p{margin:0 0 24px;max-width:46em;font-size:13px;line-height:1.65;color:#6b6b6b}.bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 104px 10px 16px;background:#fff;border-bottom:1px solid #e2e2e2}.bar-l,.bar-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bar-status{font-size:12px;color:#9a9a9a;min-width:60px}.bar-meta{font-size:12px;color:#8a8a8a;font-variant-numeric:tabular-nums}.toggle{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#333;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{accent-color:#111111;margin:0}.sel{border:1px solid #d6d6d6;border-radius:3px;background:#fff;color:#333;padding:6px 8px;font-size:13px}.search{width:210px}.options{position:sticky;top:51px;z-index:29;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;background:#fafafa;border-bottom:1px solid #e2e2e2}.opt-group{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid #dcdcdc;border-radius:999px;background:#fff;font-size:12px;color:#444;cursor:pointer;-webkit-user-select:none;user-select:none}.chip input{accent-color:#111111;margin:0}.chip:has(input:checked){border-color:#111;color:#111}.editor{flex:1;display:flex;flex-direction:column}.canvas{flex:1;display:flex;justify-content:center;padding:28px 16px 48px;overflow-x:auto}.print-host{position:fixed;top:0;left:-20000px;z-index:-1;pointer-events:none;opacity:1}.sheet{background:#fff;color:#111;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:12px;line-height:1.45;flex:0 0 auto}.sheet-edit{box-shadow:0 1px 2px #0000000f,0 8px 28px #00000014}.sheet-inner{transform-origin:top left}.f{display:block;width:100%;margin:0;padding:1px 3px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:inherit;border-radius:2px;white-space:pre-wrap;overflow-wrap:anywhere;resize:none;overflow:hidden}.f:focus{outline:0}.sheet-edit .f:hover{background:#f4f4f4}.sheet-edit .f:focus{background:#f0f0f0;box-shadow:inset 0 -1px #111}.sheet-edit .f::placeholder{color:#bcbcbc}input.f[type=date]{min-height:0}.doc-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-start}.doc-head-l{flex:1 1 auto;min-width:0}.doc-head-r{flex:0 0 250px;width:250px}.logo{display:block;max-width:210px;max-height:110px;object-fit:contain;margin-bottom:10px}.company{font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.3}.company-details{font-size:10.5px;color:#4d4d4d;margin-top:2px}.doc-title{text-align:right;font-size:26px;font-weight:600;letter-spacing:.1em;color:#111;margin-bottom:12px}.meta{display:flex;flex-direction:column;gap:2px}.meta-row{display:flex;align-items:baseline;gap:8px}.meta-k{flex:0 0 96px;text-align:right;font-size:10px;letter-spacing:.04em;color:#7a7a7a;text-transform:uppercase}.meta-in{flex:1 1 auto;min-width:0}.meta-v{text-align:right;font-size:11.5px;font-variant-numeric:tabular-nums}.label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#8a8a8a;margin-bottom:3px;padding-left:3px}.parties{display:grid;grid-template-columns:1fr;gap:24px;margin-top:26px;max-width:62%}.parties-3{grid-template-columns:1fr 1fr;max-width:100%}.party-name{font-size:13px;font-weight:600}.party-details{font-size:10.5px;color:#4d4d4d}.items{margin-top:24px}.row{display:grid;grid-template-columns:1fr 58px 88px 96px;gap:8px;align-items:start;position:relative;padding:5px 0;border-bottom:1px solid #ebebeb}.row-head{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#8a8a8a;border-bottom:1px solid #111111;padding-bottom:5px}.row-head .c-qty,.row-head .c-rate,.row-head .c-amt{text-align:right}.row-head .c-desc{padding-left:3px}.c-amt{text-align:right;padding:1px 3px;font-variant-numeric:tabular-nums}.c-qty .f,.c-rate .f{font-variant-numeric:tabular-nums}.row-x{position:absolute;left:-26px;top:6px;width:18px;height:18px;line-height:1;border:0;border-radius:3px;background:transparent;color:#b0b0b0;font-size:15px;opacity:0;transition:opacity .12s ease}.row-item:hover .row-x{opacity:1}.row-x:hover{color:#111;background:#efefef}.add-line{margin-top:8px;border:0;background:none;padding:3px;font-size:11px;color:#8a8a8a}.add-line:hover{color:#111}.totals{display:flex;justify-content:flex-end;margin-top:14px}.tot-box{width:300px}.tot-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 0;font-size:11.5px}.tot-k{display:flex;align-items:center;gap:6px;color:#5a5a5a}.tot-v{min-width:96px;text-align:right;font-variant-numeric:tabular-nums}.tot-strong{margin-top:4px;padding-top:7px;border-top:1px solid #111111;font-size:14px;font-weight:600}.tot-strong .tot-k{color:#111}.tot-note{color:#9a9a9a;font-size:10.5px}.tot-in{display:inline-flex;align-items:center;gap:2px}.f.mini{width:46px;text-align:right;font-size:11px;padding:1px 3px;background:#f4f4f4;border-radius:2px}.unit{border:0;background:none;padding:0 2px;font-size:11px;color:#8a8a8a}.unit:hover{color:#111}.unit-static{cursor:default}.f.tot-edit{width:96px;text-align:right;font-size:11.5px;background:#f4f4f4;border-radius:2px;display:inline-block}.cur-code{margin-top:6px;text-align:right;font-size:9px;letter-spacing:.12em;color:#b0b0b0}.foot-blocks{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px}.foot-block .label{margin-bottom:2px}.foot-text{font-size:10.5px;color:#4d4d4d}.pay{margin-top:22px;padding-top:12px;border-top:1px solid #ebebeb}.pay-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;row-gap:1px}.pay-row{display:flex;align-items:baseline;gap:8px}.pay-k{flex:0 0 92px;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:#8a8a8a}.pay-v{flex:1 1 auto;min-width:0;font-size:10.5px}.pay-notes{margin-top:6px;font-size:10.5px;color:#4d4d4d}.saved{flex:1;display:flex;flex-direction:column}.saved-body{width:100%;max-width:940px;margin:0 auto;padding:26px 16px 40px}.list{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e2e2e2;border-radius:4px}.list th{text-align:left;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#8a8a8a;font-weight:500;padding:10px 14px;border-bottom:1px solid #e2e2e2}.list td{padding:12px 14px;border-bottom:1px solid #f0f0f0;font-size:13px;vertical-align:middle}.list tbody tr{cursor:pointer}.list tbody tr:hover{background:#fafafa}.list tbody tr:last-child td{border-bottom:0}.cell-client{color:#333}.mono{font-variant-numeric:tabular-nums}.w-num{width:120px}.w-date{width:130px;color:#7a7a7a}.w-amt{width:130px;text-align:right}.w-act{width:150px;text-align:right;white-space:nowrap}.empty{text-align:center;padding:70px 20px;color:#8a8a8a}.empty p{margin:0 0 16px;font-size:14px}@media (max-width: 860px){.lp-brand{flex-direction:column;gap:3px}.lp-hero{grid-template-columns:minmax(0,1fr);gap:40px;padding:48px 0 56px}.lp-hero-copy h1{font-size:31px}.lp-hero-art{justify-content:flex-start}.lp-grid,.lp-steps{grid-template-columns:minmax(0,1fr);gap:28px}.lp-recent-list button{grid-template-columns:70px minmax(0,1fr) 100px}.lp-recent-list .r-date{display:none}}@media (max-width: 900px){.bar{padding-right:16px;padding-top:46px}.canvas{padding:16px 8px 32px}.search{width:150px}}@media print{body{background:#fff}.bar,.options,.lang-switch,.app-foot,.row-x,.add-line{display:none!important}.canvas{padding:0}.sheet-edit{box-shadow:none}@page{size:A4;margin:0}}
