@import url("https://rsms.me/inter/inter.css");:root{--bg:#f6f7f9;--panel:#ffffff;--panel-subtle:#f1f4f7;--border:#d8dee6;--border-strong:#b9c3cf;--text:#18202a;--muted:#647083;--accent:#0f766e;--accent-strong:#0b5f59;--warning:#9a5b00;--danger:#b42318;--ok:#12703d;--shadow:0 1px 2px rgba(16,24,40,0.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter;font-feature-settings:"cv02","cv03","cv04","cv11"}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh}.topbar{background:#111827;color:#fff;gap:20px;justify-content:space-between;min-height:64px;padding:12px 24px}.brand,.topbar{align-items:center;display:flex}.brand{gap:12px;min-width:0}.brand-mark{align-items:center;background:var(--accent);border-radius:6px;display:inline-flex;font-weight:700;height:36px;justify-content:center;width:36px}.brand-title{font-size:16px;font-weight:700;line-height:1.2}.brand-subtitle{color:#cbd5e1;font-size:12px;margin-top:2px}.topbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.content{margin:0;max-width:none;padding:20px;width:100%}.grid,.workspace{display:grid;gap:16px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.panel-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:16px}.page-header{align-items:center}.page-header-side{align-items:flex-end;display:grid;gap:10px;justify-items:end}.project-context{color:var(--muted);font-size:12px;margin-top:6px}.totals-context{color:var(--accent-strong);font-size:12px;font-weight:700}.project-switch{min-width:260px;width:100%}.empty-project-select{align-items:center;background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--muted);display:flex;min-height:38px;padding:8px 10px}.project-inline-form{align-items:end;background:#fbfcfe;border:1px solid var(--border);border-radius:6px;display:grid;gap:12px;grid-template-columns:minmax(260px,1fr) 110px auto;padding:14px}.project-tab-grid{display:grid;gap:14px;grid-template-columns:minmax(260px,420px) minmax(360px,1fr)}.project-summary-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-stat{background:#f8fafc;border:1px solid var(--border);border-radius:6px;display:grid;gap:4px;padding:10px}.summary-label{color:var(--muted);font-size:12px}.project-detail-panel{background:#fff;border:1px solid var(--border);border-radius:8px;display:grid;gap:14px;padding:14px}.detail-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.detail-title{font-size:14px;margin:0}.readonly-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.readonly-field{background:#f8fafc;border:1px solid var(--border);border-radius:6px;display:grid;gap:5px;min-height:58px;padding:10px}.readonly-field.wide{grid-column:span 2}.readonly-field strong{line-height:1.35;overflow-wrap:anywhere}.readonly-map{grid-column:span 2}.embedded-form{border:0;box-shadow:none;padding:0}.location-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.location-map-card{background:#f8fafc;border:1px solid var(--border);border-radius:8px;display:grid;gap:12px;padding:12px}.map-panel{display:grid;gap:8px}.interactive-map,.map-frame{background:#eef2f6;border:1px solid var(--border);border-radius:6px;height:260px;width:100%}.interactive-map,.map-frame.large{height:360px}.map-empty{align-items:center;background:#f8fafc;border:1px dashed var(--border-strong);border-radius:6px;color:var(--muted);display:flex;min-height:160px;padding:16px}.panel-title{font-size:16px;font-weight:700;margin:0}.panel-description{color:var(--muted);font-size:13px;line-height:1.35;margin:4px 0 0}.panel-body{padding:16px}.form-grid,.stack{display:grid;gap:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.materials-toolbar{align-items:center;display:grid;gap:16px;grid-template-columns:minmax(260px,1fr) auto auto}.materials-toolbar-title{min-width:0}.section-title{font-size:15px;font-weight:700;margin:0}.section-description{color:var(--muted);font-size:13px;margin:4px 0 0}.inline-form{background:#f8fafc;border:1px solid var(--border);border-radius:6px;display:grid;gap:12px;padding:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.label{color:#344054;font-size:12px;font-weight:700}.input,.select,.textarea{background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--text);min-height:38px;padding:8px 10px;width:100%}.textarea{min-height:120px;resize:vertical}.button-row{display:flex;flex-wrap:wrap;gap:8px}.btn,.button-row{align-items:center}.btn{border:1px solid transparent;border-radius:6px;display:inline-flex;gap:6px;justify-content:center;min-height:36px;padding:7px 10px;white-space:nowrap}.btn-icon{flex:0 0 36px;height:36px;padding:0;width:36px}.action-cell{background:#fff;min-width:132px;white-space:nowrap;width:132px}.action-heading{background:#f8fafc}.action-row{align-items:center;display:inline-flex;gap:6px;flex-wrap:nowrap;min-width:0}.action-row .btn-icon{flex-basis:32px;height:32px;min-height:32px;width:32px}.order-cell{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:116px;white-space:nowrap}.order-main{align-items:center;display:inline-flex;gap:5px}.order-actions{display:inline-flex;gap:4px}.btn-order{flex:0 0 26px;height:26px;min-height:26px;padding:0;width:26px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong)}.btn-secondary{background:#fff;border-color:var(--border-strong);color:var(--text)}.btn-danger{background:#fff;border-color:#f3b3ad;color:var(--danger)}.login-shell{align-items:center;background:#111827;display:flex;justify-content:center;min-height:100vh;padding:24px}.login-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 50px rgba(15,23,42,.24);display:grid;gap:18px;max-width:420px;padding:24px;width:100%}.login-brand{align-items:center;display:flex;gap:12px}.login-brand h1{font-size:22px;line-height:1.2;margin:0}.login-brand p{color:var(--muted);font-size:13px;line-height:1.4;margin:4px 0 0}.login-form{display:grid;gap:14px}.login-submit{width:100%}.project-list{display:grid;gap:8px}.project-button{background:#fff;border:1px solid var(--border);border-radius:6px;color:var(--text);padding:10px;text-align:left;width:100%}.project-button.active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.project-name{font-weight:700}.project-meta{color:var(--muted);font-size:12px;margin-top:4px}.tabs{background:var(--panel-subtle);border-bottom:1px solid var(--border);display:flex;gap:4px;padding:8px}.tab{background:transparent;border:0;border-radius:6px;color:#344054;padding:8px 10px}.tab.active{background:#fff;box-shadow:var(--shadow);color:var(--text);font-weight:700}.table-wrap{overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;min-width:760px;width:100%}.data-table tbody tr{transition:background-color .12s ease}.data-table tbody tr:hover td{background:#eef6f5}.materials-table tbody tr.material-row{cursor:pointer}.data-table tbody tr.selected-row td,.data-table tbody tr:target td{background:#dff5ef}.data-table tbody tr.selected-row:hover td{background:#d3f0e8}.data-table tbody tr.supplier-detail-row:hover td{background:#fff}.materials-table{min-width:2020px;table-layout:fixed}.transport-table{min-width:1780px;table-layout:fixed}.col-order{width:136px}.col-material{width:260px}.col-category{width:150px}.col-quantity{width:84px}.col-package{width:92px}.col-purchase{width:104px}.col-vat{width:72px}.col-unit{width:84px}.col-item-number{width:118px}.col-source{width:180px}.col-transport-name{width:220px}.col-transport-materials{width:260px}.col-actions,.col-money{width:130px}.data-table td,.data-table th{border-bottom:1px solid var(--border);font-size:13px;padding:10px;text-align:left;vertical-align:top}.data-table th{background:#f8fafc;color:#344054;font-size:12px;font-weight:700}.data-table th.money-heading,.money-heading{text-align:right}.sort-button{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:5px;justify-content:flex-start;padding:0;text-align:inherit;white-space:nowrap;width:100%}.sort-button svg{color:var(--muted);flex:0 0 auto}.sort-button.active{color:var(--text)}.sort-button.active svg{color:var(--accent-strong)}.money-heading .sort-button{justify-content:flex-end;text-align:right}.money-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.data-table td.money-cell,.money-cell{text-align:right}.money-with-unit{align-items:flex-end;display:inline-grid;gap:2px;justify-items:end}.money-unit{color:var(--muted);font-size:11px;font-weight:400;line-height:1.1}.package-info{white-space:nowrap}.purchase-info{display:inline-grid;gap:2px}.purchase-basis,.purchase-waste{color:var(--muted);font-size:11px;line-height:1.1;white-space:nowrap}.supplier-detail-row td{background:#fff;padding:0}.supplier-panel{background:#fff;border-left:3px solid var(--accent);display:grid;gap:12px;padding:14px}.supplier-panel-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.supplier-panel-title{font-size:14px;margin:0}.supplier-offer-form{background:#f8fafc;border:1px solid var(--border);border-radius:6px;display:grid;gap:10px;padding:12px}.supplier-form-grid{display:grid;gap:8px;grid-template-columns:160px minmax(220px,1fr) 130px minmax(240px,1.2fr) 95px 110px 120px 120px 120px 80px}.supplier-selected-toggle{justify-self:start}.supplier-offer-list{display:grid;gap:8px}.supplier-offer-card{align-items:center;background:#fff;border:1px solid var(--border);border-radius:6px;display:grid;gap:12px;grid-template-columns:minmax(260px,1.2fr) minmax(420px,2fr) auto;padding:10px}.supplier-offer-main{display:grid;gap:4px;min-width:0}.supplier-offer-title{align-items:center;display:flex;gap:8px}.selected-badge{background:#f8fafc;border:1px solid var(--border);border-radius:999px;font-size:11px;padding:2px 7px}.selected-badge,.selected-state{color:var(--muted);font-weight:700}.selected-state{font-size:12px;white-space:nowrap}.supplier-offer-meta,.supplier-offer-numbers{color:var(--muted);display:flex;flex-wrap:wrap;gap:10px;min-width:0}.supplier-offer-numbers{justify-content:flex-end}.supplier-offer-numbers strong{color:var(--text)}.inline-mini-fields{display:grid;gap:6px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.package-quantity-input{min-width:78px}.money-input{min-width:110px}.item-number-input{min-width:120px}.material-name-cell{display:grid;gap:3px;min-width:260px}.strong-money{font-weight:700}.vat-input{min-width:72px}.quantity-input,.unit-input{min-width:98px}.dek-url-input{min-width:220px}.filters-row{align-items:center;background:#f8fafc;border:1px solid var(--border);border-radius:6px;display:flex;gap:6px;padding:5px}.filter-control{align-items:center;background:#fff;border:1px solid var(--border);border-radius:5px;display:inline-flex;gap:8px;min-height:34px;padding:0 8px}.filter-label{color:var(--muted);flex:0 0 auto;font-size:12px;font-weight:700;white-space:nowrap}.filter-control .select{background:transparent;border:0;min-height:32px;min-width:150px;padding:4px 20px 4px 0;width:auto}.filter-clear{align-items:center;background:#eef2f6;border:0;border-radius:4px;color:var(--muted);display:inline-flex;flex:0 0 22px;height:22px;justify-content:center;padding:0;width:22px}.filter-clear:hover{background:#e2e8f0;color:var(--text)}.filter-meta{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;min-height:34px;padding:0 8px;white-space:nowrap}.file-preview-button,.filter-meta{align-items:center;display:inline-flex}.file-preview-button{background:transparent;border:0;color:var(--accent-strong);cursor:pointer;font:inherit;font-weight:700;gap:7px;padding:0;text-align:left}.file-preview-button:hover{text-decoration:underline}.download-frame{border:0;height:0;position:absolute;width:0}.image-preview-overlay{align-items:center;background:rgb(15 23 42/.72);bottom:0;display:flex;justify-content:center;left:0;padding:28px;position:fixed;right:0;top:0;z-index:50}.image-preview-dialog{background:#fff;border-radius:8px;box-shadow:var(--shadow);display:grid;gap:12px;grid-template-rows:auto minmax(0,1fr);height:calc(100vh - 56px);max-height:920px;max-width:1280px;overflow:hidden;padding:12px;width:calc(100vw - 56px)}.image-preview-header{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:0}.image-preview-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-preview-stage{align-items:center;background:#f8fafc;border:1px solid var(--border);display:flex;justify-content:center;min-height:0;overflow:hidden}.image-preview{display:block;height:100%;max-height:100%;max-width:100%;object-fit:contain;width:100%}.section-block{border-top:1px solid var(--border);padding-top:18px}.procedure-list{display:grid;gap:10px}.procedure-step{gap:14px;grid-template-columns:44px minmax(0,1fr)}.procedure-check,.procedure-step{background:#fff;border:1px solid var(--border);border-radius:6px;display:grid;padding:14px}.procedure-check{gap:8px}.procedure-check.ok{background:#f0fdf4;border-color:#bbf7d0}.procedure-check.warning{background:#fffbeb;border-color:#fcd34d}.procedure-check-title{font-size:14px;font-weight:700}.procedure-check-text{color:var(--muted);font-size:13px;line-height:1.45;margin:0}.procedure-step-index{align-items:center;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:6px;color:var(--accent-strong);display:flex;font-size:13px;font-weight:700;height:34px;justify-content:center;width:34px}.procedure-step-body{display:grid;gap:8px}.procedure-step-heading{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.procedure-step-title{font-size:16px;margin:0}.procedure-step-text{color:var(--muted);font-size:13px;line-height:1.45;margin:0}.procedure-materials{display:flex;flex-wrap:wrap;gap:6px}.material-reference{align-items:center;background:#f8fafc;border:1px solid var(--border);border-radius:6px;color:var(--text);display:inline-flex;gap:8px;min-height:32px;padding:5px 8px;text-align:left}.material-reference:hover{border-color:var(--accent)}.material-reference-name{font-size:12px;font-weight:700}.material-reference-meta{color:var(--muted);font-size:12px;white-space:nowrap}.transport-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.table-inline-form{background:#f8fafc;border:1px solid var(--border);box-shadow:none}.checkbox-list{align-items:flex-start;border:1px solid var(--border);border-radius:6px;display:flex;flex-wrap:wrap;gap:8px;padding:10px}.checkbox-row{align-items:center;background:#fff;border:1px solid var(--border);border-radius:5px;display:inline-flex;gap:6px;min-height:30px;padding:5px 8px}.checkbox-row input{margin:0}.compact-textarea{min-height:74px}.linked-materials{align-items:flex-start;display:flex;flex-wrap:wrap;gap:5px}.linked-material-pill{background:#eef2f6;border:1px solid var(--border);border-radius:999px;color:var(--text);display:inline-flex;font-size:12px;font-weight:700;line-height:1.2;padding:4px 7px}.notice{background:#eef6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e3a8a}.error,.notice{font-size:13px;line-height:1.4;padding:10px 12px}.error{background:#fff1f0;border:1px solid #f3b3ad;border-radius:6px;color:var(--danger)}.muted{color:var(--muted)}.small{font-size:12px}.source-link{align-items:flex-start;color:var(--accent-strong);display:inline-flex;font-weight:700;gap:6px;line-height:1.3;text-decoration:none}.source-link:hover{text-decoration:underline}.source-info{display:inline-grid;gap:3px}.source-manual{color:var(--text);font-weight:700}.source-product-name{color:var(--muted);font-size:11px;line-height:1.25;max-width:140px;overflow-wrap:anywhere}.totals{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.table-totals{background:#fff;border:1px solid var(--border);border-radius:6px;display:grid;gap:0;justify-self:end;max-width:100%;overflow:hidden;width:min(100%,560px)}.table-totals-split{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,860px)}.table-total-group{display:grid;gap:12px;padding:14px}.table-totals-split .table-total-group+.table-total-group{border-left:1px solid var(--border)}.table-total-heading{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.table-total-title{font-size:13px;font-weight:700}.table-total-subtitle{color:var(--muted);font-size:12px}.table-total-values .total-box{background:#f8fafc;padding:10px}.table-total-values .total-value{font-size:16px;white-space:nowrap}.total-box{background:#f8fafc;border:1px solid var(--border);border-radius:6px;padding:12px}.total-label{color:var(--muted);font-size:12px}.total-value{font-size:20px;font-weight:700;margin-top:4px}.compact-totals .total-box{min-width:112px;padding:10px}.compact-totals .total-value{font-size:16px;white-space:nowrap}.code-block{background:#101828;border-radius:6px;color:#e5e7eb;font-size:12px;max-height:420px;overflow:auto;padding:12px;white-space:pre-wrap}@media (max-width:900px){.content{padding:12px}.form-grid,.project-inline-form,.project-summary-grid,.project-tab-grid,.supplier-form-grid,.supplier-offer-card,.table-totals-split,.totals{grid-template-columns:1fr}.supplier-panel-header{align-items:flex-start;flex-direction:column}.table-totals{justify-self:stretch;width:100%}.table-totals-split .table-total-group+.table-total-group{border-left:0;border-top:1px solid var(--border)}.page-header{align-items:flex-start;flex-direction:column}.page-header-side{justify-items:stretch;width:100%}.materials-toolbar{align-items:flex-start}.materials-toolbar,.procedure-step{grid-template-columns:1fr}.filters-row,.procedure-step-heading{flex-direction:column}.filters-row{align-items:stretch;width:100%}.filter-control{justify-content:space-between;width:100%}.filter-control .select{min-width:0;width:100%}.topbar{align-items:flex-start;flex-direction:column}}