@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-cHuGMAiY.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-DwHjdM4S.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-ece1310W.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-D-yuW59g.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-CxNHBx-q.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-D9elroTD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.ctor-page{--bg:#f7f6f3;--surface:#fffefc;--side-bg:#fbfaf7;--ink:#37352f;--ink-soft:#5f5b53;--ink-muted:#767167;--ink-faint:#a8a398;--line:#e9e6de;--line-strong:#d9d5c9;--hover:#efede5;--accent:#66753e;--accent-ink:#57652f;--accent-soft:#eef1e2;--amber-ink:#92510a;--amber-bg:#fbf1de;--amber-line:#e8cd9d;--danger:#b3361e;--ok:#3f7a33;--ring:0 0 0 3px #66753e2e;--t:.16s ease;background:var(--bg);color:var(--ink);flex-direction:column;font-family:Inter Variable,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.6;display:flex;position:fixed;inset:0}.ctor-page ::placeholder{color:var(--ink-faint)}.ctor-page button{font-family:inherit}.ctor-page input,.ctor-page select{color:var(--ink);font-family:inherit}.ctor-topbar{background:var(--bg);transition:border-color var(--t);z-index:20;border-bottom:1px solid #0000;flex-shrink:0;align-items:center;gap:10px;padding:8px 16px;display:flex}.ctor-topbar.is-scrolled{border-bottom-color:var(--line)}.ctor-back{color:var(--ink-muted);cursor:pointer;transition:background var(--t), color var(--t);white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:6px 10px;font-size:13.5px;display:inline-flex}.ctor-back:hover{background:var(--hover);color:var(--ink)}.ctor-topbar-doc{opacity:0;pointer-events:none;align-items:baseline;gap:12px;min-width:0;transition:opacity .18s,transform .18s;display:flex;transform:translateY(4px)}.ctor-topbar.is-scrolled .ctor-topbar-doc{opacity:1;transform:none}.ctor-topbar-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:320px;font-size:14px;font-weight:600;overflow:hidden}.ctor-topbar-total{color:var(--accent-ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13.5px;font-weight:600}.ctor-topbar-total span{color:var(--ink-muted);font-weight:500}.ctor-topbar-spacer{flex:1}.ctor-save{color:var(--ink-faint);white-space:nowrap;transition:color var(--t);font-size:12.5px}.ctor-save.is-ok{color:var(--ok)}.ctor-save.is-err{color:var(--danger);font-weight:600}.ctor-seg{background:#eceae2;border-radius:7px;gap:2px;padding:2px;display:inline-flex}.ctor-seg button{color:var(--ink-muted);cursor:pointer;transition:background var(--t), color var(--t), box-shadow var(--t);background:0 0;border:none;border-radius:5px;padding:4px 12px;font-size:13px}.ctor-seg button:hover{color:var(--ink)}.ctor-seg button.is-active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #37352f1f}.ctor-export{color:var(--ink-soft);border:1px solid var(--line-strong);cursor:pointer;transition:background var(--t), color var(--t), border-color var(--t);white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:5px 11px;font-size:13px;font-weight:500;display:inline-flex}.ctor-export:hover:not(:disabled){background:var(--hover);color:var(--ink)}.ctor-export:disabled{opacity:.55;cursor:wait}.ctor-icon-btn{color:var(--ink-muted);cursor:pointer;transition:background var(--t), color var(--t);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.ctor-icon-btn:hover{background:var(--hover);color:var(--ink)}.ctor-icon-btn.is-active{color:var(--accent-ink);background:var(--accent-soft)}.ctor-body{flex:1;min-height:0;display:flex}.ctor-doc{flex:1;min-width:0;scroll-padding-top:60px;overflow-y:auto}.ctor-doc-inner{max-width:880px;margin:0 auto;padding:36px 64px 140px}.ctor-doc-inner.is-internal{max-width:1000px}.ctor-title{width:100%;color:var(--ink);transition:background var(--t);background:0 0;border:none;border-radius:4px;outline:none;padding:2px 0;font-family:"Source Serif 4 Variable",Georgia,Times New Roman,serif;font-size:31px;font-weight:700;line-height:1.25}.ctor-title:hover{background:#00000006}.ctor-title:focus{background:0 0}.ctor-subtitle{width:100%;color:var(--ink-muted);transition:background var(--t);background:0 0;border:none;border-radius:4px;outline:none;padding:2px 0 4px;font-size:16px;font-weight:400}.ctor-subtitle:hover{background:#00000006}.ctor-subtitle:focus{background:0 0}.props{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px 56px;margin-top:20px;padding-bottom:8px;display:grid}.props-sep{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted);border-top:1px solid var(--line);grid-column:1/-1;margin-top:16px;padding-top:14px;padding-bottom:4px;font-size:11.5px;font-weight:600}.props-sep:first-child{border-top:none;margin-top:0;padding-top:0}.prop{border-radius:5px;grid-template-columns:168px minmax(0,1fr);align-items:center;min-height:33px;display:grid}.prop-label{color:var(--ink-muted);white-space:nowrap;align-items:center;gap:8px;font-size:13.5px;display:inline-flex;overflow:hidden}.prop-label svg{opacity:.75;flex-shrink:0}.prop-value{align-items:center;gap:6px;min-width:0;display:flex}.prop-input{width:100%;min-width:0;transition:background var(--t), border-color var(--t), box-shadow var(--t);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;outline:none;padding:4px 8px;font-size:14px}.prop-input:hover{background:var(--hover)}.prop-input:focus{background:var(--surface);border-color:var(--accent);box-shadow:var(--ring);cursor:text}select.prop-input{appearance:auto}.prop-input--num{text-align:right;flex:none;width:64px}.prop-input--date{cursor:pointer;flex:1}.prop-x{color:var(--ink-faint);font-size:13px}.prop-check{color:var(--ink-soft);cursor:pointer;transition:background var(--t);border-radius:5px;align-items:center;gap:8px;padding:4px 8px;font-size:14px;display:inline-flex}.prop-check:hover{background:var(--hover)}.prop-check input{cursor:pointer}.prop-hint{color:var(--ink-muted);grid-column:1/-1;padding:0 8px 6px 176px;font-size:12.5px;line-height:1.45}.prop-seg{background:#eceae2;border-radius:6px;gap:2px;padding:2px;display:inline-flex}.prop-seg button{color:var(--ink-muted);cursor:pointer;transition:background var(--t), color var(--t);background:0 0;border:none;border-radius:4px;padding:3px 12px;font-size:13px}.prop-seg button.is-active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #37352f1f}.ctor-badge{border:1px dashed var(--line-strong);color:var(--ink-muted);cursor:pointer;font-variant-numeric:tabular-nums;white-space:nowrap;transition:background var(--t), border-color var(--t), color var(--t);background:0 0;border-radius:999px;align-items:center;padding:1px 9px;font-size:13px;line-height:1.5;display:inline-flex}.ctor-badge:hover{background:var(--hover);border-color:var(--ink-faint);color:var(--ink)}.ctor-badge.is-over{background:var(--amber-bg);border:1px solid var(--amber-line);color:var(--amber-ink);font-weight:600}.ctor-badge.is-over:hover{border-color:var(--amber-ink);background:var(--amber-bg);color:var(--amber-ink)}.ctor-badge.is-static{cursor:default;border-color:#0000}.ctor-badge.is-static:hover{color:var(--ink-muted);background:0 0}.ctor-reset{color:var(--amber-ink);cursor:pointer;opacity:.8;transition:background var(--t), opacity var(--t);background:0 0;border:none;border-radius:4px;padding:3px;display:inline-flex}.ctor-reset:hover{background:var(--amber-bg);opacity:1}.ctor-mini-input{border:1px solid var(--accent);text-align:right;background:var(--surface);width:64px;box-shadow:var(--ring);font-variant-numeric:tabular-nums;border-radius:5px;outline:none;padding:3px 7px;font-size:13.5px}.ctor-unit-btn{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;width:24px;color:var(--ink-muted);transition:background var(--t), color var(--t);border-radius:5px;padding:3px 0;font-size:12.5px}.ctor-unit-btn:hover{background:var(--hover);color:var(--ink)}.est{margin-top:12px}.est-cols{border-bottom:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);align-items:center;column-gap:10px;padding:6px 8px;font-size:11px;font-weight:600;display:grid}.est-cols span{text-align:right}.est-cols .c-name{text-align:left}.est-cols .c-unit{text-align:center}.est-grid-client{grid-template-columns:minmax(0,1fr) 44px 68px 108px 118px}.est-grid-internal{grid-template-columns:minmax(0,1fr) 40px 64px 116px 100px 104px 116px}.est-group{margin-top:26px}.est-group-head{border-bottom:1px solid var(--line-strong);align-items:baseline;gap:10px;padding:0 8px 7px;display:flex}.est-group-head svg{color:var(--accent-ink);flex-shrink:0;align-self:center}.est-group-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:18px;font-weight:600;overflow:hidden}.est-group-sum{color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13.5px;font-weight:600}.est-group-sum .dim{color:var(--ink-muted);font-weight:500}.est-row{border-bottom:1px solid var(--line);transition:background var(--t);border-radius:0;align-items:center;column-gap:10px;padding:5px 8px;font-size:14.5px;display:grid;position:relative}.est-row:hover{background:#00000007}.est-row.is-unpriced{box-shadow:inset 2px 0 0 var(--amber-line);background:#fbf1de73}.est-row.is-unpriced:hover{background:#fbf1deb3}.est-unpriced{color:var(--amber-ink);white-space:nowrap;font-size:12px;font-weight:600}.est-unpriced-cell{color:var(--amber-ink)}.est-row.is-off{color:var(--ink-faint)}.est-row.is-off .est-name{color:var(--ink-faint);text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.est-row.is-off .est-num,.est-row.is-off .est-sum{color:var(--ink-faint)}.est-gutter{opacity:0;transition:opacity var(--t);align-items:center;gap:2px;padding-right:4px;display:flex;position:absolute;top:0;bottom:0;right:100%}.est-row:hover .est-gutter,.est-row.is-off .est-gutter{opacity:1}.est-gutter input[type=checkbox]{cursor:pointer;width:14px;height:14px}.est-del{color:var(--ink-faint);cursor:pointer;transition:background var(--t), color var(--t);background:0 0;border:none;border-radius:5px;padding:4px;display:inline-flex}.est-del:hover{color:var(--danger);background:#f6e4de}.est-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);overflow:hidden}.est-unit{text-align:center;color:var(--ink-muted);font-size:13px}.est-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap;font-size:14px}.est-sum{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;font-size:14px;font-weight:600}.est-cell-badge{justify-content:flex-end;align-items:center;gap:3px;display:flex}.est-na{color:var(--ink-faint);text-align:right}.est-qty{text-align:right;font-variant-numeric:tabular-nums;width:100%;transition:background var(--t), border-color var(--t), box-shadow var(--t);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;outline:none;padding:3px 8px;font-size:14px}.est-qty:hover{background:var(--hover)}.est-qty:focus{background:var(--surface);border-color:var(--accent);box-shadow:var(--ring);cursor:text}.est-add{width:100%;color:var(--ink-faint);cursor:pointer;text-align:left;transition:background var(--t), color var(--t);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;margin-top:10px;padding:7px 8px;font-size:14px;display:flex}.est-add:hover{background:var(--hover);color:var(--ink-soft)}.est-empty{text-align:center;border:1px dashed var(--line-strong);color:var(--ink-muted);border-radius:10px;margin-top:36px;padding:48px 32px}.est-empty p{margin:0 0 16px;font-size:15px}.est-empty button{color:#fff;background:var(--accent);cursor:pointer;transition:filter var(--t);border:none;border-radius:7px;padding:8px 18px;font-size:14px;font-weight:600}.tot{border-top:2px solid var(--ink);margin-top:44px;padding-top:14px}.tot-row{justify-content:space-between;align-items:center;gap:16px;padding:5px 8px;font-size:14.5px;display:flex}.tot-label{color:var(--ink-muted);align-items:center;gap:8px;display:inline-flex}.tot-value{font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap;font-weight:500}.tot-discount-edit{align-items:center;gap:5px;display:inline-flex}.tot-discount-edit input{text-align:right;background:var(--hover);font-variant-numeric:tabular-nums;width:96px;transition:border-color var(--t), background var(--t), box-shadow var(--t);border:1px solid #0000;border-radius:6px;outline:none;padding:4px 9px;font-size:14px}.tot-discount-edit input:hover{background:#eae7de}.tot-discount-edit input:focus{background:var(--surface);border-color:var(--accent);box-shadow:var(--ring)}.tot-discount-amount{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:13px}.tot-due{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);margin-top:8px;padding:12px 8px}.tot-due .tot-label{color:var(--ink);font-size:15px;font-weight:600}.tot-due .tot-value{color:var(--ink);font-family:"Source Serif 4 Variable",Georgia,serif;font-size:26px;font-weight:700}.tot-meta{color:var(--ink-muted);padding:8px 8px 0;font-size:12.5px}.ctor-side{background:var(--side-bg);border-left:1px solid var(--line);flex-direction:column;flex-shrink:0;width:412px;min-height:0;display:flex}.side-tabs{border-bottom:1px solid var(--line);flex-shrink:0;gap:2px;padding:10px 14px 0;display:flex}.side-tab{color:var(--ink-muted);cursor:pointer;transition:color var(--t), border-color var(--t);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:6px 11px 8px;font-size:13.5px;display:inline-flex}.side-tab:hover{color:var(--ink)}.side-tab.is-active{color:var(--accent-ink);border-bottom-color:var(--accent);font-weight:600}.side-body{flex-direction:column;flex:1;min-height:0;display:flex}.cat-wrap{flex-direction:column;height:100%;min-height:0;display:flex}.cat-search{background:var(--surface);border:1px solid var(--line);transition:border-color var(--t), box-shadow var(--t);border-radius:8px;align-items:center;gap:8px;margin:12px 14px 8px;padding:7px 11px;display:flex}.cat-search:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.cat-search input{background:0 0;outline:none;flex:1;min-width:0;font-size:14px;border:none!important}.cat-search svg{color:var(--ink-faint);flex-shrink:0}.cat-clear{cursor:pointer;color:var(--ink-faint);background:0 0;border:none;padding:0 2px;font-size:17px;line-height:1}.cat-clear:hover{color:var(--ink)}.cat-filter{color:var(--ink-muted);margin:0 14px 6px;font-size:12px}.cat-list{flex:1;padding:0 14px 14px;overflow-y:auto}.cat-section{border-bottom:1px solid var(--line)}.cat-section-row{align-items:center;display:flex}.cat-section-head{cursor:pointer;text-align:left;min-width:0;color:var(--ink);transition:background var(--t);background:0 0;border:none;border-radius:6px;flex:1;align-items:center;gap:6px;padding:9px 4px;display:flex}.cat-section-head:hover{background:var(--hover)}.cat-section-head svg{color:var(--ink-faint);flex-shrink:0}.cat-section-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.cat-markup-pill{color:var(--accent-ink);background:var(--accent-soft);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:600}.cat-local-pill{color:var(--amber-ink);background:var(--amber-bg);border:1px solid var(--amber-line);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex-shrink:0;margin-left:6px;padding:0 6px;font-size:10px;font-weight:700}.cat-row{transition:background var(--t);border-left:2px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:13.5px;display:flex}.cat-row:hover{background:var(--hover)}.cat-row.is-in{border-left-color:var(--accent);background:var(--accent-soft)}.cat-row.is-in:hover{background:#e6ebd6}.cat-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;overflow:hidden}.cat-row-unit{width:36px;color:var(--ink-muted);flex-shrink:0;font-size:12px}.cat-row-cost{text-align:right;width:86px;color:var(--ink-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12.5px}.cat-row-actions{flex-shrink:0;gap:2px;display:none}.cat-row:hover .cat-row-actions{display:inline-flex}.cat-row-state{flex-shrink:0;justify-content:center;width:18px;display:flex}.cat-qty{border:1px solid var(--line);text-align:right;background:var(--surface);width:58px;transition:border-color var(--t), box-shadow var(--t);border-radius:5px;outline:none;flex-shrink:0;padding:3px 7px;font-size:13px}.cat-qty:focus{border-color:var(--accent);box-shadow:var(--ring)}.cat-sub-head{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;padding:8px 4px 3px;font-size:11.5px;font-weight:700}.cat-hint{color:var(--ink-muted);padding:8px 4px;font-size:12.5px}.cat-ghost-btn{border:1px dashed var(--line-strong);cursor:pointer;color:var(--ink-muted);transition:background var(--t), color var(--t), border-color var(--t);background:0 0;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12.5px;display:inline-flex}.cat-ghost-btn:hover{background:var(--hover);color:var(--ink);border-color:var(--ink-faint)}.cat-add-row{gap:6px;padding:5px 6px 9px;display:flex}.cat-add-block{border:1px dashed var(--line-strong);cursor:pointer;width:100%;color:var(--ink-muted);transition:background var(--t), color var(--t);background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:5px;margin:12px 0 4px;padding:8px 12px;font-size:13px;display:flex}.cat-add-block:hover{background:var(--hover);color:var(--ink)}.cat-icon-btn{cursor:pointer;color:var(--ink-faint);transition:background var(--t), color var(--t);background:0 0;border:none;border-radius:4px;padding:3px;display:inline-flex}.cat-icon-btn:hover{background:var(--hover);color:var(--ink)}.cat-form{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;gap:7px;margin:4px 4px 10px;padding:10px;display:flex}.cat-form-title{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;font-weight:700}.cat-form-row{align-items:center;gap:6px;display:flex}.cat-form input,.cat-form select{border:1px solid var(--line-strong);background:var(--surface);transition:border-color var(--t), box-shadow var(--t);border-radius:6px;outline:none;padding:5px 9px;font-size:13.5px}.cat-form input:focus,.cat-form select:focus{border-color:var(--accent);box-shadow:var(--ring)}.cat-form-save{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:5px 13px;font-size:13px;font-weight:600}.cat-form-cancel{border:1px solid var(--line-strong);cursor:pointer;color:var(--ink-soft);background:0 0;border-radius:6px;padding:5px 13px;font-size:13px}.cat-form-hint,.cat-suffix{color:var(--ink-muted);font-size:12.5px}.cat-overlay{z-index:50;background:#2b292473;justify-content:center;align-items:flex-start;padding-top:10vh;display:flex;position:fixed;inset:0}.cat-modal{background:var(--surface);border-radius:12px;flex-direction:column;width:min(580px,92vw);max-height:70vh;padding:16px;display:flex;box-shadow:0 16px 48px #2b29243d}.cat-modal-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.cat-modal-title{color:var(--ink);font-size:14px;font-weight:600}.cat-modal-body{min-height:0;overflow-y:auto}.cat-pick-row{cursor:pointer;text-align:left;width:100%;color:var(--ink);transition:background var(--t);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13.5px;display:flex}.cat-pick-row:hover{background:var(--hover)}.cat-pick-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cat-pick-meta{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:140px;font-size:11.5px;overflow:hidden}.cat-pick-unit{width:36px;color:var(--ink-muted);flex-shrink:0;font-size:12px}.cat-pick-cost{text-align:right;width:90px;color:var(--ink-soft);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12.5px}.lab-wrap,.trav-wrap{flex-direction:column;height:100%;min-height:0;display:flex}.lab-note{color:var(--ink-muted);padding:12px 16px 10px;font-size:12.5px;line-height:1.5}.lab-note .is-ok{color:var(--ok);font-weight:600}.lab-list{flex:1;padding:0 16px 16px;overflow-y:auto}.lab-block{border-bottom:1px solid var(--line);padding:10px 0 12px}.lab-block-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.lab-block-name{color:var(--ink);flex:1;font-size:13.5px;font-weight:600}.lab-tax{color:var(--ink-muted);white-space:nowrap;background:#edeae0;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:600}.lab-block-total{color:var(--ink);font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:700}.lab-collapsed{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:7px 0;display:flex}.lab-collapsed-name{min-width:120px;color:var(--ink-faint);flex:1;font-size:13px}.lab-add{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.lab-flat{border-bottom:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;display:flex}.lab-flat-name{min-width:96px;color:var(--ink);flex:1;font-size:12.5px}.lab-flat-x{color:var(--ink-faint);font-size:12px}.lab-flat-sum{text-align:right;font-variant-numeric:tabular-nums;min-width:78px;color:var(--ink-soft);font-size:12.5px}.lab-flat.is-unpriced{box-shadow:inset 2px 0 0 var(--amber-line);background:#fbf1de73;padding-left:6px}.lab-flat-sum.is-warn{color:var(--amber-ink,#b45309);font-weight:600}.lab-flat-sum.is-free{color:var(--accent-ink,#5b6b34);font-weight:600}.lab-row{border-bottom:1px dashed var(--line);flex-direction:column;gap:6px;padding:8px 0 9px;display:flex}.lab-row:last-of-type{border-bottom:none}.lab-row.is-unpriced{box-shadow:inset 2px 0 0 var(--amber-line);background:#fbf1de73;padding-left:6px}.lab-rate-tag.is-warn{color:var(--amber-ink,#b45309);font-weight:600}.lab-row-top{align-items:center;gap:6px;display:flex}.lab-row-bot{align-items:center;gap:10px;padding-left:1px;display:flex}.lab-row input{border:1px solid var(--line);background:var(--surface);transition:border-color var(--t), box-shadow var(--t);border-radius:5px;outline:none;padding:4px 7px;font-size:12.5px}.lab-row input:focus{border-color:var(--accent);box-shadow:var(--ring)}.lab-rate-wrap{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.lab-rate-tag{color:var(--ink-faint);white-space:nowrap;font-size:11px}.lab-num-wrap{flex-shrink:0;align-items:center;gap:3px;display:inline-flex}.lab-num-suffix{color:var(--ink-faint);font-size:11px}.lab-num{text-align:right;width:50px}.lab-rub{text-align:right;width:72px}.lab-auto{justify-content:space-between;align-items:center;padding:3px 2px;font-size:12.5px;display:flex}.lab-auto-label{color:var(--ink-muted);align-items:center;gap:6px;display:inline-flex}.lab-auto-label svg{color:var(--ink-faint)}.lab-auto-amount{color:var(--ink-soft);font-variant-numeric:tabular-nums}.lab-del{cursor:pointer;color:var(--ink-faint);transition:background var(--t), color var(--t);background:0 0;border:none;border-radius:4px;padding:4px;display:inline-flex}.lab-del:hover{color:var(--danger);background:#f6e4de}.trav-scroll{flex:1;padding:0 16px 16px;overflow-y:auto}.trav-card{border-bottom:1px solid var(--line);padding:10px 0 12px}.trav-card-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.trav-card-title{color:var(--ink);margin-bottom:8px;font-size:13.5px;font-weight:600}.trav-role{flex:1;min-width:0}.trav-conditions{flex-wrap:wrap;gap:10px 18px;margin-top:8px;display:flex}.trav-check{color:var(--ink);cursor:pointer;align-items:center;gap:7px;font-size:12.5px;display:inline-flex}.trav-check-hint{color:var(--accent-ink);font-variant-numeric:tabular-nums}.trav-rate-hint{color:var(--ink-faint);font-size:11px}.trav-rate-hint.is-warn{color:var(--amber-ink,#b45309);font-weight:600}.trav-conditions-note{color:var(--ink-faint);margin-top:6px;font-size:11px;line-height:1.4}.trav-grid{grid-template-columns:1fr 1fr;gap:7px 14px;display:grid}.trav-field{flex-direction:column;gap:2px;display:flex}.trav-field-label{color:var(--ink-muted);font-size:11.5px}.trav-city{border:1px solid var(--line);background:var(--surface);width:100%;transition:border-color var(--t), box-shadow var(--t);border-radius:6px;outline:none;padding:5px 9px;font-size:13.5px}.trav-city:focus{border-color:var(--accent);box-shadow:var(--ring)}.trav-city-hint{color:var(--ink-muted);padding:6px 0;font-size:12.5px}.trav-sums{background:var(--accent-soft);border-radius:8px;margin-top:12px;padding:10px 12px}.trav-sum-row{justify-content:space-between;gap:8px;padding:2px 0;font-size:12.5px;display:flex}.trav-sum-label{color:var(--ink-soft)}.trav-sum-note{color:var(--ink-faint,#9a958a);font-size:11.5px}.trav-sum-value{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.cx-trigger{width:100%;min-width:0;color:var(--ink);text-align:left;cursor:pointer;transition:background var(--t), border-color var(--t), box-shadow var(--t);border-radius:6px;outline:none;align-items:center;gap:6px;font-family:inherit;font-size:14px;display:inline-flex}.cx-trigger:disabled{cursor:default;opacity:.55}.cx-trigger-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cx-trigger-text.is-placeholder{color:var(--ink-faint)}.cx-trigger-chev{color:var(--ink-faint);transition:transform var(--t), color var(--t);flex-shrink:0}.cx-trigger:hover .cx-trigger-chev{color:var(--ink-muted)}.cx-trigger.is-open .cx-trigger-chev{color:var(--accent-ink);transform:rotate(180deg)}.cx-trigger-cal{color:var(--ink-faint);flex-shrink:0}.cx-trigger.is-open .cx-trigger-cal,.cx-trigger:hover .cx-trigger-cal{color:var(--accent-ink)}.cx-trigger--date .cx-trigger-text{font-variant-numeric:tabular-nums}.cx-trigger--ghost{background:0 0;border:1px solid #0000;padding:4px 8px}.cx-trigger--ghost:hover{background:var(--hover)}.cx-trigger--ghost.is-open{background:var(--surface);border-color:var(--accent);box-shadow:var(--ring)}.cx-trigger--field{background:var(--surface);border:1px solid var(--line);padding:5px 9px}.cx-trigger--field:hover{border-color:var(--line-strong)}.cx-trigger--field.is-open{border-color:var(--accent);box-shadow:var(--ring)}.cx-trigger--sm{gap:4px;padding:4px 8px;font-size:12.5px}.cx-pop{z-index:60;background:var(--surface);border:1px solid var(--line);transform-origin:top;border-radius:10px;max-width:min(420px,100vw - 16px);padding:5px;font-family:inherit;animation:.13s cx-pop-in;position:fixed;box-shadow:0 12px 32px #2b292429,0 2px 6px #2b292414}@keyframes cx-pop-in{0%{opacity:0;transform:translateY(-4px)scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cx-pop{animation:none}.cx-trigger-chev{transition:color var(--t)}}.cx-list{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex-direction:column;gap:1px;max-height:280px;display:flex;overflow-y:auto}.cx-list::-webkit-scrollbar{width:8px}.cx-list::-webkit-scrollbar-track{background:0 0}.cx-list::-webkit-scrollbar-thumb{background:var(--line-strong);border:2px solid var(--surface);background-clip:padding-box;border-radius:8px}.cx-list::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}.cx-opt{color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:14px;display:flex}.cx-opt-label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.cx-opt-hint,.cx-trigger-hint{color:var(--ink);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:13px;font-weight:600}.cx-trigger-hint{margin-left:auto;padding-left:8px}.cx-opt-check{color:var(--accent-ink);flex-shrink:0}.cx-opt.is-active{background:var(--hover)}.cx-opt.is-selected{color:var(--accent-ink);font-weight:600}.cx-opt.is-selected .cx-opt-hint{color:var(--accent-ink)}.cx-opt.is-selected.is-active{background:var(--accent-soft)}.cx-opt.is-disabled{color:var(--ink-faint);cursor:default}.cx-opt--empty{cursor:default}.cx-opt--empty:hover{background:0 0}.cx-combo{align-items:center;display:flex;position:relative}.cx-combo-input{width:100%;min-width:0;color:var(--ink);background:var(--surface);border:1px solid var(--line);transition:border-color var(--t), box-shadow var(--t);border-radius:6px;outline:none;padding:5px 28px 5px 9px;font-family:inherit;font-size:13.5px}.cx-combo-input:focus{border-color:var(--accent);box-shadow:var(--ring)}.cx-combo-chev{color:var(--ink-faint);cursor:pointer;position:absolute;right:8px}.cx-combo-chev:hover{color:var(--ink-muted)}.cx-cal{-webkit-user-select:none;user-select:none;padding:6px}.cx-cal-head{justify-content:space-between;align-items:center;padding:2px 4px 8px;display:flex}.cx-cal-title{color:var(--ink);font-size:13.5px;font-weight:600}.cx-cal-nav{color:var(--ink-muted);cursor:pointer;transition:background var(--t), color var(--t);background:0 0;border:none;border-radius:6px;padding:5px;display:inline-flex}.cx-cal-nav:hover{background:var(--hover);color:var(--ink)}.cx-cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cx-cal-wd{text-align:center;color:var(--ink-faint);padding:2px 0 4px;font-size:11px;font-weight:600}.cx-cal-day{font-variant-numeric:tabular-nums;width:32px;height:30px;color:var(--ink);cursor:pointer;transition:background var(--t), color var(--t);background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;margin:0 auto;font-size:13px;display:flex}.cx-cal-day:hover:not(:disabled){background:var(--hover)}.cx-cal-day.is-out{color:var(--ink-faint)}.cx-cal-day.is-today{border-color:var(--line-strong);font-weight:600}.cx-cal-day.is-selected,.cx-cal-day.is-selected:hover{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.cx-cal-day:disabled{color:var(--ink-faint);opacity:.4;cursor:default}.cx-cal-foot{border-top:1px solid var(--line);justify-content:space-between;gap:8px;margin-top:4px;padding:8px 4px 2px;display:flex}.cx-cal-link{color:var(--accent-ink);cursor:pointer;transition:background var(--t);background:0 0;border:none;border-radius:5px;padding:3px 6px;font-size:12.5px;font-weight:500}.cx-cal-link:hover{background:var(--accent-soft)}.ctor-loading{color:#767167;background:#f7f6f3;justify-content:center;align-items:center;font-family:Inter Variable,Inter,sans-serif;font-size:15px;display:flex;position:fixed;inset:0}
