:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f4f6f8;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #122238;--navy-2: #1c3554;--blue: #2f67a5;--blue-soft: #eaf2f9;--line: #dfe5eb;--muted: #657286;--surface: #ffffff;--danger: #a92e2e;--success: #1f6a4a;--shadow: 0 10px 30px rgba(18, 34, 56, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:#f4f6f8}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.04}h2{margin-bottom:.45rem;font-size:clamp(1.65rem,2.5vw,2.25rem)}h3{margin-bottom:.6rem;font-size:1.05rem;line-height:1.4}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.muted{color:var(--muted)}.eyebrow{margin-bottom:.5rem;color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.stack-lg>*+*{margin-top:1rem}.stack-xl>*+*{margin-top:1.5rem}.button{min-height:42px;padding:.72rem 1rem;border:1px solid transparent;border-radius:10px;font-weight:700;transition:.15s ease}.button:disabled{cursor:wait;opacity:.62}.button-primary{color:#fff;background:var(--navy)}.button-primary:hover:not(:disabled){background:var(--navy-2)}.button-secondary{color:var(--navy);background:#fff;border-color:var(--line)}.button-secondary:hover:not(:disabled){border-color:#b9c5d1;background:#f8fafc}.text-button{padding:0;color:#d9e3ef;background:transparent;border:0}label{display:grid;gap:.45rem;color:#344154;font-size:.82rem;font-weight:700}input,select{width:100%;min-height:44px;padding:.72rem .8rem;color:#172033;background:#fff;border:1px solid #ccd6df;border-radius:10px;outline:none}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2f67a51f}.alert{padding:.9rem 1rem;border-radius:10px;font-size:.9rem}.alert-error{color:#7a1e1e;background:#fff0f0;border:1px solid #f0c5c5}.brand-mark{display:grid;width:86px;height:86px;place-items:center;color:#fff;background:var(--navy);border-radius:18px;font-size:1.8rem;font-weight:900;letter-spacing:-.03em}.brand-mark.small{width:44px;height:44px;border-radius:11px;font-size:1.05rem}.auth-layout{display:grid;min-height:100vh;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)}.auth-brand{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,8vw,8rem);color:#fff;background:radial-gradient(circle at 15% 20%,rgba(65,124,185,.4),transparent 34%),linear-gradient(145deg,#0b1728,#18334f)}.auth-brand .eyebrow{margin-top:2rem;color:#9ec0e3}.auth-copy{max-width:580px;color:#c8d5e3;font-size:1.04rem;line-height:1.65}.auth-card{align-self:center;width:min(440px,calc(100% - 3rem));margin:0 auto;padding:2rem}.center-screen{display:grid;min-height:100vh;padding:2rem;place-items:center}.loading-card,.pending-card{display:grid;width:min(520px,100%);gap:1rem;padding:2rem}.app-shell{display:grid;min-height:100vh;grid-template-columns:245px minmax(0,1fr)}.sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;padding:1.25rem;color:#fff;background:var(--navy)}.sidebar-brand{display:flex;align-items:center;gap:.8rem;padding-bottom:1.4rem;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar-brand strong,.sidebar-brand small,.sidebar-footer strong,.sidebar-footer small{display:block}.sidebar-brand small,.sidebar-footer small{margin-top:.2rem;color:#9fb1c5}.sidebar nav{display:grid;gap:.35rem;margin-top:1.2rem}.nav-item{padding:.78rem .85rem;color:#c8d6e6;text-align:left;background:transparent;border:0;border-radius:9px}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:#fff;background:#294a6c;font-weight:800}.sidebar-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem;margin-top:auto;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem}.main-content{min-width:0;padding:2rem}.content-wrap{width:min(1220px,100%);margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-bottom:2rem}.stat{padding:1.15rem 1.2rem}.stat span{display:block;color:var(--muted);font-size:.78rem;font-weight:700}.stat strong{display:block;margin-top:.5rem;color:var(--navy);font-size:1.65rem}.page-header{display:flex;justify-content:space-between;gap:2rem}.page-header .muted{max-width:760px;margin-bottom:0;line-height:1.6}.search-panel{padding:1rem}.search-main{display:flex;align-items:flex-end;gap:.8rem}.grow{flex:1}.unit-field{width:180px}.search-button{min-width:128px}.empty{display:grid;gap:.35rem;padding:1.4rem;color:var(--muted)}.empty strong{color:var(--navy)}.result-list{display:grid;gap:.9rem}.price-result{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1.5rem;padding:1.2rem}.result-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:.7rem;color:var(--muted);font-size:.75rem;font-weight:700}.pill{display:inline-flex;align-items:center;min-height:25px;padding:.2rem .55rem;color:#214d79;background:var(--blue-soft);border-radius:999px;text-transform:none}.source-line{display:flex;flex-wrap:wrap;gap:.45rem;font-size:.82rem}.price-block{display:flex;flex-direction:column;align-items:flex-end;padding-left:1.2rem;text-align:right;border-left:1px solid var(--line)}.price-label{color:var(--muted);font-size:.76rem;font-weight:700}.price-block>strong{margin-top:.25rem;color:var(--navy);font-size:1.7rem}.price-block small{color:var(--muted);line-height:1.4}.sample-price{display:grid;justify-items:end;gap:.15rem;margin-top:auto;padding-top:1rem;font-size:.8rem}.sample-price span{color:var(--muted)}.catalogue-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:1rem;padding:1.2rem}.catalogue-price{display:grid;align-content:center;justify-items:end;text-align:right}.catalogue-price span{color:var(--muted);font-size:.76rem}.catalogue-price strong{margin-top:.3rem;color:var(--navy)}.table-card{overflow:hidden;box-shadow:none}.source-table,.admin-table{display:grid;gap:1rem;align-items:center;padding:.85rem 1rem;border-bottom:1px solid var(--line);font-size:.84rem}.source-table{grid-template-columns:130px minmax(220px,1fr) minmax(260px,1.2fr) 80px}.admin-table{grid-template-columns:minmax(220px,1fr) 180px 130px}.source-table:last-child,.admin-table:last-child{border-bottom:0}.source-table-head,.admin-table-head{color:var(--muted);background:#f7f9fb;font-size:.72rem;font-weight:800;text-transform:uppercase}.admin-table small{display:block;margin-top:.2rem}@media(max-width:980px){.auth-layout{grid-template-columns:1fr}.auth-brand{min-height:310px;padding:3rem 2rem}.auth-card{margin:2rem auto}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-result,.catalogue-row{grid-template-columns:1fr}.price-block{align-items:flex-start;padding-top:1rem;padding-left:0;text-align:left;border-top:1px solid var(--line);border-left:0}.sample-price{justify-items:start}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-footer{margin-top:1rem}.main-content{padding:1rem}.search-main{align-items:stretch;flex-direction:column}.unit-field,.search-button{width:100%}.source-table{grid-template-columns:1fr;gap:.25rem}.source-table-head{display:none}.admin-table{grid-template-columns:1fr}}@media(max-width:520px){.stats-grid{grid-template-columns:1fr}.auth-brand{min-height:260px}.brand-mark{width:66px;height:66px;font-size:1.45rem}}.button-danger{color:#8b2323;background:#fff5f5;border-color:#efcaca}.button-danger:hover:not(:disabled){background:#ffe8e8;border-color:#dfaaaa}.text-action{padding:.55rem 0;color:var(--blue);background:transparent;border:0;font-size:.82rem;font-weight:700}.candidate-filters{display:flex;align-items:end;gap:.8rem;padding:1rem}.candidate-filters>label{min-width:170px}.check-field{display:flex;min-height:44px;flex:1;align-items:center;grid-template-columns:auto 1fr;gap:.55rem}.check-field input{width:18px;min-height:18px;height:18px;margin:0}.candidate-summary{display:flex;align-items:baseline;gap:.5rem;color:var(--muted)}.candidate-summary strong{color:var(--navy);font-size:1.45rem}.candidate-card{overflow:hidden}.candidate-main{padding:1.2rem}.candidate-prices{display:grid;max-width:620px;margin-top:1rem;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden}.candidate-prices>div{display:grid;gap:.25rem;padding:.75rem .85rem;border-right:1px solid var(--line)}.candidate-prices>div:last-child{border-right:0}.candidate-prices span{color:var(--muted);font-size:.72rem;font-weight:700}.candidate-prices b{color:var(--navy)}.candidate-median{background:#f7fafc}.candidate-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem}.candidate-history{padding:1rem 1.2rem 1.2rem;background:#f8fafc;border-top:1px solid var(--line)}.candidate-history h4{margin:0 0 .8rem;color:var(--navy)}.candidate-history-table{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:10px}.candidate-history-row{display:grid;grid-template-columns:70px minmax(220px,1fr) 120px 90px 120px;gap:.75rem;align-items:center;padding:.65rem .8rem;border-bottom:1px solid var(--line);font-size:.8rem}.candidate-history-row:last-child{border-bottom:0}.candidate-history-head{color:var(--muted);background:#f5f7f9;font-size:.7rem;font-weight:800;text-transform:uppercase}@media(max-width:980px){.candidate-filters{align-items:stretch;flex-wrap:wrap}.candidate-filters>label,.candidate-filters>button{flex:1 1 210px}.candidate-history-row{grid-template-columns:60px minmax(180px,1fr) 100px 80px 100px}}@media(max-width:760px){.candidate-filters{display:grid}.candidate-prices{grid-template-columns:1fr}.candidate-prices>div{border-right:0;border-bottom:1px solid var(--line)}.candidate-prices>div:last-child{border-bottom:0}.candidate-history-table{overflow-x:auto}.candidate-history-row{min-width:720px}}.alert-success{color:#18543b;background:#eefaf4;border:1px solid #bfe2cf}.auth-switch{display:flex;align-items:center;justify-content:center;gap:.45rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.86rem}.candidate-history-selectable .candidate-history-row{grid-template-columns:70px minmax(220px,1fr) 120px 90px 120px 100px}.reference-choice{display:flex;align-items:center;gap:.4rem;color:var(--navy);font-size:.78rem}.reference-choice input{width:16px;min-height:16px;height:16px;margin:0}.promotion-panel{display:grid;gap:1rem;margin-top:1rem;padding:1rem;background:#fff;border:1px solid #cfdbe6;border-radius:12px}.promotion-panel h4,.promotion-panel p{margin-bottom:.35rem}.promotion-fields{display:flex;align-items:end;gap:.75rem}.promotion-fields>label:first-child{width:190px}@media(max-width:980px){.candidate-history-selectable .candidate-history-row{grid-template-columns:60px minmax(180px,1fr) 100px 80px 100px 90px}.promotion-fields{align-items:stretch;flex-direction:column}.promotion-fields>label:first-child{width:100%}}@media(max-width:760px){.candidate-history-selectable .candidate-history-row{min-width:840px}}textarea{width:100%;min-height:92px;padding:.72rem .8rem;color:#172033;background:#fff;border:1px solid #ccd6df;border-radius:10px;outline:none;resize:vertical;font:inherit}textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2f67a51f}.estimate-create{display:flex;align-items:end;gap:.75rem;padding:1rem}.estimate-create>label:not(.grow){width:180px}.coef-field{width:125px!important}.estimate-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1rem;align-items:start}.estimate-list{position:sticky;top:2rem;overflow:hidden;box-shadow:none}.estimate-list-title{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:#f7f9fb;border-bottom:1px solid var(--line)}.estimate-list-title span{color:var(--muted);font-size:.78rem}.estimate-list-empty{padding:1rem;color:var(--muted);font-size:.82rem}.estimate-list-item{display:grid;width:100%;gap:.25rem;padding:.85rem 1rem;color:var(--navy);text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line)}.estimate-list-item:last-child{border-bottom:0}.estimate-list-item:hover{background:#f7fafc}.estimate-list-item.active{background:var(--blue-soft);box-shadow:inset 3px 0 0 var(--blue)}.estimate-list-item .mono,.estimate-list-item small{color:var(--muted);font-size:.72rem}.estimate-work{min-width:0}.estimate-work>*+*{margin-top:1rem}.estimate-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.1rem 1.2rem}.estimate-header h3{margin-bottom:.25rem;font-size:1.25rem}.estimate-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.estimate-add-item{display:flex;align-items:end;gap:.7rem;padding:1rem}.code-field{width:105px}.unit-small{width:75px}.qty-field{width:105px}.estimate-items{display:grid;gap:.8rem}.estimate-item{overflow:hidden;box-shadow:0 5px 18px #1222380f}.estimate-item-main{display:grid;grid-template-columns:minmax(280px,1fr) minmax(480px,.95fr);gap:1.2rem;padding:1rem}.estimate-item-copy{min-width:0}.estimate-item-copy h3{margin-bottom:.55rem;font-size:.95rem;white-space:pre-wrap}.estimate-item-price{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:.45rem}.estimate-item-price>div,.estimate-item-price>label{display:grid;align-content:center;gap:.2rem;min-height:68px;padding:.55rem .65rem;background:#f8fafc;border:1px solid var(--line);border-radius:9px}.estimate-item-price span{color:var(--muted);font-size:.68rem;font-weight:700}.estimate-item-price b{color:var(--navy);font-size:.94rem}.estimate-item-price input{min-height:34px;padding:.35rem .45rem;font-size:.82rem}.estimate-item-price .sale-highlight{background:#edf6ff;border-color:#c5dcf2}.estimate-item-price .sale-highlight b{color:#173f69;font-size:1.05rem}.estimate-history{padding:1rem;background:#f8fafc;border-top:1px solid var(--line)}.estimate-history-title{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.estimate-history-row{display:grid;grid-template-columns:minmax(260px,1fr) 70px 120px 115px;gap:.75rem;align-items:center;padding:.75rem 0;border-top:1px solid var(--line);font-size:.8rem}.estimate-history-row p{margin:.25rem 0 0;color:#344154;line-height:1.35}@media(max-width:1180px){.estimate-layout{grid-template-columns:210px minmax(0,1fr)}.estimate-item-main{grid-template-columns:1fr}}@media(max-width:900px){.estimate-create,.estimate-add-item{align-items:stretch;flex-direction:column}.estimate-create>label:not(.grow),.coef-field,.code-field,.unit-small,.qty-field{width:100%!important}.estimate-layout{grid-template-columns:1fr}.estimate-list{position:static}.estimate-list-item{display:inline-grid;width:min(280px,100%);vertical-align:top}}@media(max-width:700px){.estimate-header{align-items:stretch;flex-direction:column}.estimate-stats,.estimate-item-price{grid-template-columns:1fr}.estimate-history{overflow-x:auto}.estimate-history-row{min-width:720px}}.estimate-history-title>div:first-child{display:grid;gap:.2rem}.estimate-history-search{display:flex;min-width:min(520px,55vw);gap:.45rem}.estimate-history-search input{flex:1}@media(max-width:900px){.estimate-history-title{align-items:stretch;flex-direction:column}.estimate-history-search{min-width:0;width:100%}}.page-header-actions{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.tender-import{display:grid;gap:1rem;padding:1rem}.tender-import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.tender-import-head h3{margin-bottom:.25rem}.tender-import-file,.tender-import-meta,.tender-import-mapping,.tender-import-actions{display:flex;align-items:end;gap:.75rem}.tender-import-meta>label:not(.grow){width:180px}.tender-import-mapping{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:.9rem;background:#f8fafc;border:1px solid var(--line);border-radius:10px}.tender-import-count{display:flex;align-items:baseline;gap:.5rem;color:var(--muted)}.tender-import-count strong{color:var(--navy);font-size:1.35rem}.tender-preview{overflow:hidden;border:1px solid var(--line);border-radius:10px}.tender-preview-row{display:grid;grid-template-columns:120px minmax(360px,1fr) 80px 110px;gap:.75rem;align-items:center;padding:.65rem .8rem;border-bottom:1px solid var(--line);font-size:.8rem}.tender-preview-row:last-child{border-bottom:0}.tender-preview-head{color:var(--muted);background:#f5f7f9;font-size:.7rem;font-weight:800;text-transform:uppercase}.tender-import-actions{justify-content:space-between}.tender-import-actions p{max-width:720px;margin:0}@media(max-width:1100px){.tender-import-meta{align-items:stretch;flex-wrap:wrap}.tender-import-meta>label,.tender-import-meta>label:not(.grow){flex:1 1 210px;width:auto}.tender-import-mapping{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.page-header-actions,.tender-import-head,.tender-import-file,.tender-import-actions{align-items:stretch;flex-direction:column}.tender-import-mapping{grid-template-columns:1fr}.tender-preview{overflow-x:auto}.tender-preview-row{min-width:760px}}
