@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/barlowcondensed/v13/HTxwL3I-JCGChYJ8VI-L6OO_au7B4873z3nWuZEC.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/barlowcondensed/v13/HTxwL3I-JCGChYJ8VI-L6OO_au7B4873z3jWuZEC.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/barlowcondensed/v13/HTxwL3I-JCGChYJ8VI-L6OO_au7B4873z3bWuQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/barlowcondensed/v13/HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2z3nWuZEC.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/barlowcondensed/v13/HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2z3jWuZEC.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/barlowcondensed/v13/HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2z3bWuQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,html[data-theme=light]{--navy: #1b365d;--orange: #e8833a;--ink: #1b365d;--muted: #5b6b7c;--line: #d5dde8;--surface: #ffffff;--accent: #e8833a;--accent-ink: #ffffff;--danger: #b42318;--ok: #067647;--bg-top: #f5f7fa;--bg-bottom: #eef2f6;--page-bg: #eef2f6;--input-bg: #ffffff;--catalog-bg: #fafbfd}html[data-theme=dark]{--navy: #8eb4e8;--orange: #e8833a;--ink: #e8eef7;--muted: #9aabc0;--line: #2f3f55;--surface: #152033;--accent: #e8833a;--accent-ink: #ffffff;--danger: #f97066;--ok: #47cd89;--bg-top: #0f1724;--bg-bottom: #121a28;--page-bg: #0f1724;--input-bg: #1a2740;--catalog-bg: #182338}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:DM Sans,sans-serif;color:var(--ink);background:var(--page-bg)}h1,h2,h3{font-family:Barlow Condensed,sans-serif;letter-spacing:.02em;margin:0;color:var(--navy)}button,.btn{border:0;border-radius:8px;padding:.65rem 1rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}.btn-primary{background:var(--orange);color:#fff}.btn-primary:hover{filter:brightness(.95)}.btn-secondary{background:#1b365d;color:#fff}html[data-theme=dark] .btn-secondary{background:#2a4a78}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--navy)}.btn-danger{background:#fee4e2;color:var(--danger)}.pager{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:1rem;color:var(--muted)}.pager .btn:disabled{opacity:.45;cursor:default}html[data-theme=dark] .btn-danger{background:#3a1d1d}.page-header{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem}.page-header p{margin:.35rem 0 0;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.8rem .6rem;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-size:.85rem;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--muted);min-width:0}input,select,textarea{border:1px solid var(--line);border-radius:8px;padding:.65rem .75rem;font:inherit;color:var(--ink);background:var(--input-bg);width:100%;max-width:100%}textarea{min-height:90px;resize:vertical}.full{grid-column:1/-1}.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.row-actions{white-space:nowrap;vertical-align:middle}.row-actions .btn{display:inline-flex;margin-right:.4rem;margin-bottom:.25rem}.row-actions .btn:last-child{margin-right:0}.empty{color:var(--muted);padding:1rem .25rem}.error{color:var(--danger);margin:.5rem 0}.error-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin:.5rem 0}.error-row .error{margin:0}.ok{color:var(--ok);margin:.5rem 0}.muted{color:var(--muted);font-size:.9rem}.logo-upload{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-bottom:.35rem;border-bottom:1px solid var(--line);margin-bottom:.25rem}.logo-upload__preview{width:140px;min-height:72px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.5rem}.logo-upload__preview img{max-width:100%;max-height:72px;object-fit:contain;display:block}.logo-upload__actions{flex:1;min-width:200px}.logo-upload__actions .muted{margin:0}label.btn{cursor:pointer}label.btn.disabled{opacity:.55;pointer-events:none}.checkbox-row{flex-direction:row;align-items:center;gap:.55rem}.checkbox-row input[type=checkbox]{width:auto;max-width:none}fieldset.roles{border:1px solid var(--line);border-radius:8px;padding:.75rem 1rem;margin:0}fieldset.roles legend{padding:0 .35rem;color:var(--muted);font-size:.9rem}.money{font-variant-numeric:tabular-nums;font-weight:600}.budget-banner-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.budget-banner-list .budget-banner{margin-bottom:0}.budget-banner{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:.85rem;align-items:stretch;margin-bottom:1rem;padding:1rem 1.1rem;border-radius:12px;border:2px solid var(--line);background:var(--surface)}.budget-banner--ok{border-color:#12b76a;background:#ecfdf3}.budget-banner--over{border-color:var(--danger);background:#fef3f2}html[data-theme=dark] .budget-banner--ok{background:#0f2a1d;border-color:#32d583}html[data-theme=dark] .budget-banner--over{background:#3a1d1d;border-color:var(--danger)}.budget-banner__title{margin:0 0 .25rem;font-size:.95rem;color:var(--muted)}.budget-banner__job{margin:0;font-size:1.05rem;font-weight:700;color:var(--ink)}.budget-banner__metric{display:flex;flex-direction:column;justify-content:center;gap:.2rem}.budget-banner__metric span{color:var(--muted);font-size:.8rem}.budget-banner__metric strong{font-size:1.15rem;font-variant-numeric:tabular-nums}.budget-banner__diff{border-left:1px solid var(--line);padding-left:.85rem}.budget-banner__diff strong{font-size:1.55rem;line-height:1.1}.budget-banner__diff--over strong{color:var(--danger)}.budget-banner__diff--ok strong{color:#027a48}html[data-theme=dark] .budget-banner__diff--ok strong{color:#6ce9a6}@media (max-width: 900px){.budget-banner{grid-template-columns:1fr 1fr}.budget-banner__diff{border-left:none;padding-left:0;grid-column:1/-1}}.modal-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:1rem;background:#080c148c}.modal-card{width:min(460px,100%);max-height:min(90vh,720px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.15rem 1.2rem;box-shadow:0 16px 40px #00000047}.modal-card h2{margin:0 0 .35rem;font-size:1.35rem}.modal-card .modal-sub{margin:0 0 1rem;color:var(--muted);line-height:1.4}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.15rem;flex-wrap:wrap}.budget-alert{display:inline-block;margin-top:.25rem;padding:.15rem .45rem;border-radius:6px;font-size:.8rem;font-weight:700;color:var(--danger);background:#fef3f2}html[data-theme=dark] .budget-alert{background:#3a1d1d}.budget-warn{margin:0 0 .75rem;padding:.65rem .75rem;border-radius:8px;border:1px solid var(--danger);color:var(--danger);background:#fef3f2;font-weight:600}html[data-theme=dark] .budget-warn{background:#3a1d1d}.section-title{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--line);font-size:1.15rem}.catalog-block{border:1px solid var(--line);border-radius:10px;padding:.85rem;margin-bottom:.75rem;background:var(--catalog-bg)}.block-header{display:flex;gap:.75rem;align-items:end;margin-bottom:.75rem}.item-row{display:flex;gap:.6rem;align-items:end;margin-bottom:.5rem}.grow{flex:1;min-width:0}.price-input{width:140px;flex-shrink:0}body.menu-open{overflow:hidden}@media (max-width: 860px){h1{font-size:1.7rem}h2{font-size:1.25rem}.page-header{flex-direction:column;align-items:stretch;gap:.75rem}.page-header>.btn,.page-header>a.btn{width:100%;justify-content:center}.page-header .actions{margin:0!important;width:100%;flex-direction:column}.page-header .actions .btn,.page-header .actions a.btn{width:100%;justify-content:center}.form-grid{grid-template-columns:1fr}.panel{padding:.85rem}table{min-width:560px}.row-actions{white-space:normal}.row-actions .btn{margin-bottom:.35rem}.block-header{flex-direction:column;align-items:stretch}.block-header .btn,.block-header a.btn{width:100%;justify-content:center}.item-row{flex-direction:column;align-items:stretch}.price-input{width:100%}.actions{flex-direction:column}.actions .btn,.actions a.btn{width:100%;justify-content:center}}@media (max-width: 420px){table{min-width:480px;font-size:.92rem}th,td{padding:.65rem .45rem}}
