:root{--bg:#f5f6f7;--panel:#fff;--ink:#171717;--muted:#74747c;--line:#e3e3e6;--green:#10a37f;--dark:#252529;--blue:#58c5df;--mint:#b8ddd6;--warn:#fff0c7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}.rail{position:fixed;inset:0 auto 0 0;width:88px;background:linear-gradient(180deg,#17171a,#25312d);color:#ddd;z-index:20;display:flex;flex-direction:column;align-items:center;padding:16px 6px}.menu{font-size:28px;margin-bottom:22px}.rail button{border:0;background:transparent;color:#aeb4b1;width:74px;padding:11px 2px;border-radius:10px;font-size:11px;cursor:pointer}.rail button span{display:block;font-size:20px;margin-bottom:4px}.rail button.active,.rail button:hover{background:#343b38;color:#fff}.rail .help{margin-top:auto}.page{margin-left:88px;min-height:100vh;padding-bottom:88px}.tabsbar{position:sticky;top:0;z-index:12;background:rgba(245,246,247,.92);backdrop-filter:blur(14px);padding:0 38px}.tabs{max-width:1120px;margin:auto;height:58px;display:flex;background:linear-gradient(180deg,#39393f,#25252a);border-radius:0 0 13px 13px;overflow-x:auto;box-shadow:0 6px 18px rgba(0,0,0,.12)}.tab{min-width:92px;border:0;border-right:1px solid #4b4b52;background:transparent;color:#fff;padding:8px 13px;text-align:left;cursor:pointer;font-weight:650}.tab small{display:block;color:#bfc0c5;font-size:10px;margin-top:2px}.tab.active{background:linear-gradient(180deg,#12ae88,#0c8b6e)}.tab.add{min-width:105px}.content{max-width:1120px;margin:auto;padding:14px 0}.geometry-strip{background:#fff;border:1px solid var(--line);border-radius:0 0 9px 9px;padding:9px 14px;box-shadow:0 3px 12px rgba(0,0,0,.05);font-size:12px}.geometry-strip b{margin-right:7px}.dot{color:#a0a0a7;margin:0 6px}.head{padding:18px 2px 10px}.head h1{font-size:29px;letter-spacing:-.035em;margin:0 0 8px}.actions{display:flex;gap:7px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;padding:7px 11px;border-radius:7px;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.03)}.btn:hover{background:#f1f1f2}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.client{line-height:1.55;padding:8px 2px 16px}.client input{border:0;border-bottom:1px dashed #aaa;background:transparent;font-weight:650;padding:2px 4px;min-width:310px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 3px 14px rgba(0,0,0,.045)}.measure-table{overflow:auto;margin-bottom:26px}table{border-collapse:collapse;width:100%}th,td{padding:9px 11px;text-align:left;border-bottom:1px solid #ededee}th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#888891;font-weight:650}td input{width:100%;min-width:55px;border:1px solid transparent;background:transparent;padding:5px;border-radius:5px}td input:focus{outline:0;border-color:#10a37f;background:white;box-shadow:0 0 0 3px rgba(16,163,127,.1)}.measure-table td{text-align:center}.measure-table th{text-align:center}.measure-table td:first-child,.measure-table th:first-child{text-align:left}.tree{margin-top:12px}.major,.sub{display:flex;align-items:center;gap:8px;border-radius:7px;margin:4px 0;padding:7px 10px;font-weight:750;cursor:pointer}.major{background:var(--blue)}.sub{background:var(--mint);margin-left:20px}.major .sum,.sub .sum{margin-left:auto}.work{display:grid;grid-template-columns:28px minmax(310px,1fr) 90px 70px 92px 65px 105px 34px;align-items:center;min-height:34px;border-bottom:1px solid #e6e6e8;margin-left:38px}.work:hover{background:#fafafa}.work.included{background:var(--warn)}.work .name{font-style:italic}.work input[type=number]{width:100%;border:0;border-left:1px solid #d6d6da;padding:6px;background:rgba(255,255,255,.48)}.work .price,.work .amount{text-align:right;padding:0 10px;font-weight:650}.work .unit{text-align:center}.check{accent-color:var(--green);width:15px;height:15px}.screen{display:none}.screen.active{display:block}.summary-table tr:nth-child(even),.params-table tr:nth-child(even){background:#f3f3f4}.summary-table .totalrow,.params-table .totalrow{font-weight:800;background:#e9e9eb}.empty{padding:50px;text-align:center;color:var(--muted)}.dock{position:fixed;left:126px;right:38px;bottom:10px;z-index:15;max-width:1120px;margin:auto;background:linear-gradient(180deg,#38383e,#27272c);border-radius:13px;padding:9px;display:grid;grid-template-columns:minmax(220px,320px) auto minmax(260px,1fr);gap:10px;box-shadow:0 12px 35px rgba(0,0,0,.25)}.dock input{border:0;border-radius:8px;padding:11px 14px;outline:0}.filters{display:flex;align-items:center;gap:3px}.filters button{border:0;background:transparent;color:#fff;padding:9px 8px;border-radius:7px;font-weight:700;font-size:12px;cursor:pointer}.filters button.active{background:#10a37f}.counter{display:inline-grid;place-items:center;background:#55555d;border-radius:8px;min-width:18px;padding:2px 4px;margin-left:3px}.formula{display:flex;gap:7px}.formula input{width:100%}.formula button{white-space:nowrap}.toast{position:fixed;right:24px;bottom:88px;background:#202123;color:#fff;padding:11px 15px;border-radius:9px;opacity:0;transform:translateY(8px);transition:.2s;z-index:30}.toast.show{opacity:1;transform:none}@media(max-width:900px){.rail{width:62px}.rail button{width:52px;font-size:0}.rail button span{font-size:20px}.page{margin-left:62px}.tabsbar{padding:0 8px}.content{padding:10px}.dock{left:72px;right:10px;grid-template-columns:1fr}.work{grid-template-columns:25px minmax(220px,1fr) 75px 55px 70px 52px 90px 30px;margin-left:10px}.dock{position:static;margin:10px}.page{padding-bottom:10px}}@media print{.rail,.tabsbar,.dock,.actions{display:none}.page{margin:0;padding:0}.content{max-width:none}.tree .work:not(.included){display:none}.card{box-shadow:none}}
.work{cursor:pointer}.work:hover{background:#eef8f5}.work input[type=number]{cursor:text}
