:root{color:#1c1916;background:#efe8dc;font-family:Segoe UI,Helvetica Neue,sans-serif;font-size:16px;line-height:1.4}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,.button{border:1px solid #1e4638;background:#1e4638;color:#f7f3ea;border-radius:6px;padding:8px 12px;text-decoration:none;cursor:pointer}button.ghost,.button.ghost{background:transparent;color:#1e4638}button.on{background:#1e4638;color:#fff}button.textish{border:0;background:transparent;color:#5e564c;padding:0 0 0 4px;font-size:12px}h1,h2,h3{font-weight:650;letter-spacing:0}a{color:#1e4638}.app-shell{min-height:100vh}.toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:12px 20px;background:#f7f3ea;border-bottom:1px solid #d7cfc2;position:sticky;top:0;z-index:2}.toolbar-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.save{margin:0;color:#5e564c;font-size:14px}.sync-alert{position:sticky;top:0;z-index:10;padding:10px 20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid #d9b6b1;background:#f8e3e0;color:#702620}.sync-alert.warn{border-color:#dfca91;background:#fff3cf;color:#5f4a13}.sync-alert span{font-size:13px}.sync-login{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sync-login input{width:190px;padding:6px 8px;background:#fff}.sync-login button{padding:6px 12px}.save.error,.cell-error,.inline-warn{color:#8d2f2a}.banner{margin:0;padding:10px 20px;background:#efe2c0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.banner.warn{background:#f0d2cf}.desk{padding:18px 12px 64px;background:#d5d0c8}.sheet{width:min(1100px,100%);margin:0 auto;background:#fff;border:1px solid #111;padding:10px}.head-grid,table.grid{width:100%;border-collapse:collapse}.head-grid th,.head-grid td,.grid th,.grid td{border:1px solid #111}.head-grid th{background:#ececec;font-weight:650;font-size:13px;text-align:left;padding:4px 8px;white-space:nowrap;width:1%}.head-grid td{background:#fff;padding:0}.head-grid input,.head-grid select{border:0;border-radius:0;background:transparent;padding:8px 10px}.order-no{font-weight:700;text-align:center;letter-spacing:.04em;padding:6px 10px}.version{color:#5e564c;font-size:12px;margin:6px 0}.totals{display:grid;gap:8px 18px;grid-template-columns:1fr 1fr}label{display:grid;gap:4px;font-size:13px;color:#5e564c}input,select,textarea{width:100%;border:1px solid #d3cbbd;background:#fffdf8;border-radius:4px;padding:8px}.head-grid input,.head-grid select,.grid input,.grid select{border:0;border-radius:0;background:transparent}textarea{min-height:72px;resize:vertical}.table-wrap{overflow-x:auto}table.grid{min-width:920px}.grid th,.grid td{border:1px solid #111;vertical-align:middle;padding:0}.grid th{background:#ececec;font-weight:650;font-size:13px;padding:8px 7px;text-align:center}.grid td.entry{background:#fff}.grid td.calc{background:#f7f7f7;padding:7px 8px;white-space:nowrap}.grid input,.grid select{border:0;border-radius:0;background:transparent;padding:7px 8px}.grid td.entry:focus-within{box-shadow:inset 0 0 0 2px #1e4638}.grid td.num,.grid th:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}.grid td:nth-child(8),.grid th:nth-child(8){min-width:112px}.grid td.price{min-width:132px}.total-row td{background:#fff;font-weight:700;padding:6px 8px}.add-row{margin-top:8px}.sign{text-align:right;color:#555;font-weight:500;font-size:12px}.price-line{display:flex;align-items:center}.price-line span{padding-right:8px;color:#5e564c;white-space:nowrap;font-size:13px}.cell-error,.assumption,.hint{font-size:13px}.hint,.assumption{color:#6d6458}.extra-row td{background:#f6f1e7;padding:12px}.extra-grid,.prod,.pay-form,.filters,.inline{display:flex;flex-wrap:wrap;gap:10px}.extra-grid label,.prod label{min-width:160px}.ops{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.op{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:8px;width:100%}.totals{grid-template-columns:1fr 1fr;margin-top:16px}.totals div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e4dccf;padding:6px 0}.totals .grand strong{font-size:24px}.totals .charges{grid-column:1 / -1;display:grid;gap:8px;border:0;padding:4px 0 0}.totals .charge-row{display:grid;grid-template-columns:1fr 180px;gap:8px;border:0;padding:0}.charge-help{margin:0;color:#6d6458;font-size:13px}.charges button{justify-self:start}.discount select,.discount input{width:auto}.comment,.formula{margin-top:12px}.confirm-row{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.confirm-row input{max-width:360px}.client-field{position:relative}.menu{position:absolute;z-index:3;top:100%;left:0;right:0;background:#fff;border:1px solid #d3cbbd;display:grid}.menu button{background:#fff;color:#1c1916;border:0;border-bottom:1px solid #efe8dc;text-align:left}.drawer{position:fixed;top:0;right:0;width:min(460px,100%);height:100vh;overflow:auto;background:#fbf7f0;border-left:1px solid #d3cbbd;padding:20px;z-index:4}.page,.admin main{padding:24px}.plain{background:#f7f3ea;min-height:100vh}table.data{width:100%;border-collapse:collapse;background:#fff}.data th,.data td{border-bottom:1px solid #e4dccf;text-align:left;padding:10px}.data tr{cursor:pointer}.filters{margin:12px 0 18px;align-items:end}.admin{display:grid;grid-template-columns:220px 1fr;min-height:100vh;background:#f4efe6}.admin aside{padding:20px;background:#1e4638;color:#f7f3ea;display:flex;flex-direction:column;gap:10px}.admin aside a{color:#f7f3ea;text-decoration:none}.admin aside button{background:transparent;color:#f7f3ea;border-color:#d7cfc2}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{background:#fff;color:#1c1916;border:1px solid #e4dccf;text-align:left;display:grid;gap:6px;min-height:110px}.metric strong{font-size:22px}.metric small,.lead{color:#5e564c}.formulas div{margin-bottom:10px}.formulas dt{font-weight:650}.board{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0}.board section{background:#fff;padding:8px;border:1px solid #e4dccf;display:grid;gap:8px;align-content:start}.stack{display:grid;gap:8px;max-width:520px;margin-bottom:24px}.questions{display:grid;gap:8px}.check{display:flex;gap:8px;align-items:center}.file input{margin-top:6px}@media(max-width:900px){.toolbar,.facts,.sheet-top,.admin,.metrics,.board{display:flex;flex-direction:column}.admin{display:block}.admin aside{flex-direction:row;flex-wrap:wrap}.identity{justify-items:start}}@media print{.app-shell{display:none!important}body{background:#fff}.print-sheet{display:none}body[data-print=client] .print-sheet[data-doc=client],body[data-print=job] .print-sheet[data-doc=job],body[data-print=issue] .print-sheet[data-doc=issue]{display:block}.print-head{display:flex;justify-content:space-between;gap:16px}table{width:100%;border-collapse:collapse}th,td{border:1px solid #222;padding:4px;font-size:12px}thead{display:table-header-group}tr,.print-head{break-inside:avoid}.signs{display:flex;justify-content:space-between;margin-top:28px}@page{size:A4;margin:12mm}}.print-sheet{display:none}
