@font-face{font-family:Montserrat;src:url("fonts/montserrat-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url("fonts/montserrat-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url("fonts/montserrat-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{--navy:#06233f;--navy-2:#0b3152;--ink:#172334;--muted:#6f7782;--paper:#f3f2ee;--white:#fff;--line:#dfe2e5;--green:#176b58;--green-soft:#e5f0ec;--bronze:#ad7136;--red:#a14343;--shadow:0 12px 36px rgba(6,35,63,.08);font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}
html{min-height:100%;background:var(--paper)}
body{margin:0;min-height:100vh;background:var(--paper);font-size:14px;line-height:1.55}
button,input,select,textarea{font:inherit}
button,a{transition:.18s ease}
a{color:inherit;text-decoration:none}
img{max-width:100%}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(28px,3vw,46px);letter-spacing:-.04em;line-height:1.08;margin-bottom:10px}
h2{font-size:21px;letter-spacing:-.025em;margin-bottom:8px}
h3{font-size:16px}
small{font-size:12px}
.muted,.field-note{color:var(--muted)}
.eyebrow{color:var(--bronze);font-size:10px;font-weight:700;letter-spacing:.17em;margin:0 0 8px;text-transform:uppercase}
.button{align-items:center;border:1px solid transparent;border-radius:10px;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;justify-content:center;min-height:42px;padding:9px 16px}
.button:hover{transform:translateY(-1px)}
.button.primary{background:var(--navy);color:#fff;box-shadow:0 6px 16px rgba(6,35,63,.18)}
.button.secondary{background:#fff;border-color:#cdd4da;color:var(--navy)}
.button.ghost{background:transparent;border-color:#d7dbde;color:var(--ink)}
.button.wide{width:100%}
.button:disabled{cursor:not-allowed;opacity:.45;transform:none}
.icon-button{align-items:center;background:#f3f4f4;border:0;border-radius:50%;color:#6f7782;cursor:pointer;display:flex;font-size:22px;height:32px;justify-content:center;width:32px}
.alert{border:1px solid;border-radius:11px;margin-bottom:16px;padding:12px 15px}
.alert.success{background:#e8f4ef;border-color:#acd5c5;color:#135a49}
.alert.error{background:#fbebeb;border-color:#e5b5b5;color:#8b3232}
.alert.warning{background:#fff5dd;border-color:#e7c77f;color:#765619}
.panel{background:#fff;border:1px solid rgba(6,35,63,.1);border-radius:16px;box-shadow:var(--shadow)}
.card-pad{padding:22px}
.panel-head{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px}
.panel-head h2{margin:0}
.badge{background:#eef1f2;border-radius:99px;color:#56616d;font-size:11px;font-weight:600;padding:6px 10px;white-space:nowrap}
.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}
.sidebar{background:var(--navy);color:#eef4f7;display:flex;flex-direction:column;height:100vh;left:0;padding:22px 15px;position:sticky;top:0;z-index:30}
.brand{display:block;padding:0 10px 18px}
.brand img{filter:brightness(0) invert(1);height:44px;object-fit:contain;object-position:left;width:168px}
.workspace{align-items:center;border-bottom:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.1);display:flex;gap:10px;margin:0 8px 24px;padding:15px 0}
.workspace>span{align-items:center;background:linear-gradient(145deg,#d8c7a8,#a96c35);border-radius:9px;color:var(--navy);display:flex;font-size:16px;font-weight:700;height:34px;justify-content:center;text-transform:uppercase;width:34px}
.workspace div{font-size:12px;font-weight:600}
.workspace small{color:#9eb2c3;display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.nav-title{color:#7892a7;font-size:9px;font-weight:700;letter-spacing:.16em;margin:0 12px 8px}
.sidebar nav{display:grid;gap:4px}
.sidebar nav a{align-items:center;border-radius:10px;color:#bdcbd5;display:grid;font-size:12px;font-weight:500;gap:10px;grid-template-columns:28px 1fr auto;padding:10px 11px}
.sidebar nav a i{align-items:center;background:rgba(255,255,255,.07);border-radius:7px;display:flex;font-size:10px;font-style:normal;height:28px;justify-content:center;width:28px}
.sidebar nav a b{font-size:17px;font-weight:400;opacity:.5}
.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff}
.sidebar nav a.active i{background:#fff;color:var(--navy)}
.sidebar-bottom{margin-top:auto}
.user-card{align-items:center;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:10px;margin-top:18px;padding:16px 8px 12px}
.avatar{align-items:center;background:#e6d8bc;border-radius:9px;color:var(--navy);display:flex;font-size:10px;font-weight:700;height:34px;justify-content:center;min-width:34px}
.user-card>span:nth-child(2){min-width:0}
.user-card strong,.user-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-card strong{font-size:11px}
.user-card small{color:#94a9b9;font-size:9px}
.logout-form .button{border-color:rgba(255,255,255,.15);color:#cbd7df;font-size:11px;width:100%}
.main-shell{min-width:0}
.topbar{align-items:center;background:rgba(243,242,238,.92);backdrop-filter:blur(12px);border-bottom:1px solid #dedfdc;display:flex;height:70px;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:20}
.topbar>div small,.topbar>div strong{display:block}
.topbar>div small{color:#9b7853;font-size:8px;font-weight:700;letter-spacing:.18em}
.topbar>div strong{font-size:13px}
.menu-button{background:none;border:0;display:none;font-size:24px}
.quick-add{background:#fff;border:1px solid #d3d7d9;border-radius:9px;color:var(--navy);font-size:11px;font-weight:600;padding:8px 12px}
.content{margin:0 auto;max-width:1500px;padding:30px}
.page-head{align-items:flex-end;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px}
.page-head p:last-child{color:var(--muted);margin:0;max-width:720px}
.head-actions{display:flex;flex-wrap:wrap;gap:8px}
.metric-grid{display:grid;gap:13px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:20px}
.metric-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.metric-card{background:#fff;border:1px solid rgba(6,35,63,.1);border-radius:14px;box-shadow:var(--shadow);min-height:128px;padding:18px}
.metric-card span,.metric-card small{color:var(--muted);display:block;font-size:10px}
.metric-card span{font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.metric-card strong{display:block;font-size:clamp(19px,2vw,28px);letter-spacing:-.04em;margin:16px 0 7px}
.metric-card.accent{background:var(--green-soft);border-color:#c2dad1}
.metric-card.warning{background:#fff7e6;border-color:#ebd4a2}
.metric-card.dark{background:var(--navy);border-color:var(--navy);color:#fff}
.metric-card.dark span,.metric-card.dark small{color:#a9bdcb}
.metric-strip{background:#fff;border:1px solid #dfe2e3;border-radius:13px;display:flex;flex-wrap:wrap;margin-bottom:18px;overflow:hidden}
.metric-strip>span,.metric-strip>a{border-right:1px solid #e5e6e5;color:var(--muted);font-size:11px;padding:13px 18px}
.metric-strip b{color:var(--navy);font-size:14px;margin-right:5px}
.dashboard-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.6fr) minmax(320px,.7fr)}
.map-panel,.region-panel{padding:22px}
.uzbekistan-map{aspect-ratio:1.75;background:linear-gradient(180deg,#eef5f4,#f8f6f0);border-radius:14px;min-height:310px;overflow:hidden;position:relative}
.uzbekistan-map svg{display:block;height:100%;width:100%}
.uzbekistan-map path{stroke:#fff;stroke-width:1.5;transition:.2s}
.uzbekistan-map path:hover{filter:brightness(.94);stroke:var(--navy);stroke-width:2}
.uzbekistan-map circle{fill:var(--navy);stroke:#fff;stroke-width:2}
.uzbekistan-map text{fill:var(--navy);font:600 12px Montserrat}
.map-loading{align-items:center;color:var(--muted);display:flex;height:100%;justify-content:center}
.map-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}
.map-legend span{align-items:center;color:var(--muted);display:flex;font-size:10px;gap:6px}
.map-legend i{background:#d8e8e3;border-radius:3px;height:9px;width:18px}
.map-legend .high{background:#176b58}.map-legend .dot{background:var(--navy);border-radius:50%;width:9px}
.region-list{display:grid}
.region-list a{align-items:center;border-top:1px solid #edf0f1;display:grid;gap:10px;grid-template-columns:28px 1fr auto;padding:13px 0}
.region-list a:first-child{border-top:0}
.region-list .rank{color:#ad8b63;font-size:10px;font-weight:700}
.region-list strong,.region-list small{display:block}
.region-list strong{font-size:12px}.region-list small{color:var(--muted);font-size:9px}
.region-list b{font-size:10px}
.filter-panel{margin-bottom:18px;padding:0 20px 20px}
details summary{cursor:pointer;font-weight:600;list-style:none}
details summary::-webkit-details-marker{display:none}
.filter-panel>summary{padding:16px 0}
.filter-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(150px,1fr))}
.filter-actions{align-items:end;display:flex;gap:8px}
.table-panel{overflow:hidden}
.table-scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%}
th{background:#f4f5f4;color:#6d747c;font-size:9px;font-weight:700;letter-spacing:.08em;padding:12px 15px;text-align:left;text-transform:uppercase;white-space:nowrap}
td{border-top:1px solid #e8e9e8;font-size:11px;padding:13px 15px;vertical-align:middle}
td small,td strong,.table-title{display:block}
td small{color:var(--muted);font-size:9px;margin-top:3px}
.table-title{color:var(--navy);font-weight:700}
.money-cell{font-weight:600;white-space:nowrap}
.positive{color:#176b58}.negative{color:#a14343}
.status-pill{align-items:center;background:#eef1f2;border-radius:99px;color:#4e5963;display:inline-flex;font-size:9px;font-weight:600;gap:6px;padding:5px 9px;white-space:nowrap}
.status-pill.ok{background:#e5f1ed;color:#155d4c}.status-pill.danger{background:#f8e8e8;color:#953c3c}
.status-pill i{background:var(--green);border-radius:50%;height:6px;width:6px}
.empty-copy{color:var(--muted);padding:14px 0;text-align:center}
label{color:#45505b;display:grid;font-size:10px;font-weight:600;gap:6px}
input,select,textarea{background:#fff;border:1px solid #cfd5d9;border-radius:9px;color:var(--ink);min-height:42px;outline:none;padding:9px 11px;width:100%}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{border-color:#65849c;box-shadow:0 0 0 3px rgba(70,118,150,.12)}
label small{color:var(--muted);font-weight:400}
fieldset{border:0;margin:0;padding:0}
.form-grid{display:grid;gap:13px}
.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.span-two{grid-column:span 2}.span-three{grid-column:span 3}
.stack-form{display:grid;gap:12px}
.customer-form{display:grid;gap:16px}
.form-section{padding:22px}
.section-title{align-items:flex-start;border-bottom:1px solid #ebeded;display:flex;gap:12px;margin-bottom:20px;padding-bottom:15px}
.section-title>span{align-items:center;background:var(--navy);border-radius:8px;color:#fff;display:flex;font-size:9px;height:28px;justify-content:center;width:28px}
.section-title h2,.section-title p{margin:0}.section-title p{color:var(--muted);font-size:10px}
.check-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.check-grid legend{font-size:10px;font-weight:600;margin-bottom:8px;width:100%}
.check-card{align-items:center;background:#f5f6f5;border:1px solid #dfe2e2;border-radius:9px;display:flex;gap:7px;padding:8px 10px}
.check-card input,.check-line input{min-height:0;width:auto}
.check-line{align-items:center;display:flex}
.sticky-actions{align-items:center;background:rgba(243,242,238,.94);bottom:0;display:flex;gap:10px;justify-content:flex-end;padding:12px 0;position:sticky;z-index:10}
.profile-layout{display:grid;gap:18px;grid-template-columns:280px minmax(0,1fr)}
.profile-side,.profile-main{display:grid;gap:16px;align-content:start}
.detail-list{margin:0}
.detail-list>div{border-top:1px solid #eceeed;padding:11px 0}
.detail-list>div:first-child{border-top:0}
.detail-list dt{color:var(--muted);font-size:9px}
.detail-list dd{font-size:11px;font-weight:600;margin:3px 0 0;overflow-wrap:anywhere}
.detail-list.horizontal{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px}
.detail-list.horizontal>div{border-right:1px solid #e6e8e8;border-top:0;padding:0 14px}
.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.tag-list span{background:#edf3f1;border-radius:99px;color:#275c51;font-size:9px;font-weight:600;padding:6px 9px}
.tag-list.large span{border-radius:9px;display:flex;flex-direction:column;font-size:10px}
.tag-list.large small{color:var(--muted)}
.coordinate{background:#f0f2f2;border-radius:7px;color:#65707a;display:block;font-size:9px;padding:7px}
.contact-list{display:grid}
.contact-list article{align-items:center;border-top:1px solid #e8eaea;display:flex;gap:11px;padding:12px 0}
.contact-list article:first-child{border-top:0}
.contact-list article>div{flex:1}.contact-list strong,.contact-list p,.contact-list small{display:block;margin:0}
.contact-list p,.contact-list small{color:var(--muted);font-size:9px}
.inline-add{border-top:1px solid #e8eaea;margin-top:12px;padding-top:12px}
.inline-add summary{color:var(--navy);font-size:10px;padding:8px 0}
.inline-add form{margin-top:12px}
.note-form{display:flex;gap:10px}.note-form textarea{flex:1}
.timeline{margin-top:18px}
.timeline article{display:grid;gap:10px;grid-template-columns:12px 1fr;margin-bottom:16px}
.timeline i{background:var(--bronze);border:3px solid #efe4d9;border-radius:50%;height:10px;margin-top:4px;width:10px}
.timeline strong,.timeline small{display:block}.timeline small{color:var(--muted)}
.timeline p{background:#f6f6f4;border-radius:9px;margin:7px 0 0;padding:10px}
.simple-list{display:grid}
.simple-list>a,.simple-list>div{align-items:center;border-top:1px solid #e9ebeb;display:flex;gap:12px;justify-content:space-between;padding:12px 0}
.simple-list>*:first-child{border-top:0}
.simple-list strong,.simple-list small{display:block}.simple-list small{color:var(--muted)}
.proposal-builder{display:grid;gap:16px}
.proposal-lines{display:grid;gap:12px;margin-bottom:14px}
.proposal-line{background:#f6f7f6;border:1px solid #dfe3e3;border-radius:13px;padding:15px}
.line-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}
.line-result{align-items:center;border-top:1px dashed #ccd3d5;display:flex;justify-content:space-between;margin-top:12px;padding-top:10px}
.line-result span{color:var(--muted);font-size:9px}.line-result strong{color:var(--navy)}
.proposal-live{padding:22px}
.canvas-wrap{background:#e5e6e4;border-radius:12px;margin:0 auto;max-width:720px;overflow:auto;padding:12px}
.canvas-wrap canvas{background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.12);display:block;height:auto;width:100%}
.canvas-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.canvas-actions span{color:var(--green);font-size:10px}
.proposal-view-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.6fr) 340px}
.proposal-view-grid aside{display:grid;gap:16px;align-content:start}
.accept-card{background:#eef5f2}
.order-board{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
.order-card{padding:18px}
.order-card>div,.order-card footer{align-items:center;display:flex;justify-content:space-between}
.order-card>div small{color:var(--muted)}
.order-card h2{margin:18px 0 6px}.order-card p{color:var(--muted);font-size:10px;min-height:46px}
.order-card footer{border-top:1px solid #e8eaea;flex-wrap:wrap;font-size:9px;gap:8px;padding-top:12px}
.order-card footer strong{color:var(--navy)}
.order-detail-grid,.inventory-layout{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 330px}
.order-detail-grid>div,.order-detail-grid>aside,.inventory-layout>div,.inventory-layout>aside{align-content:start;display:grid;gap:16px}
.brief{font-size:13px;white-space:normal}
.procurement-box{background:#fff9ea;border-color:#ead6a8}
.procurement-box>div{align-items:center;border-top:1px solid #ebdfc2;display:flex;justify-content:space-between;padding:10px 0}
.procurement-box span,.procurement-box small{display:block}.procurement-box small{color:var(--muted)}
.inventory-actions{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
.inventory-actions details>summary{padding:16px}
.settings-grid{display:grid;gap:15px;grid-template-columns:repeat(2,minmax(0,1fr))}
.settings-section{margin-top:18px}
.empty-state{padding:50px;text-align:center}
.empty-state>span{color:#cfb38e;font-size:70px;font-weight:700}
.technical-actions{display:flex;justify-content:space-between;margin-bottom:16px}
.technical-card{background:#fff;border:1px solid #cfd4d6;margin:0 auto;max-width:148mm;min-height:205mm;padding:10mm}
.technical-card header{align-items:center;border-bottom:2px solid var(--navy);display:flex;justify-content:space-between;padding-bottom:5mm}
.technical-card header img{height:12mm;width:auto}.technical-card header div{text-align:right}
.technical-card header span,.technical-card header strong{display:block}.technical-card header span{font-size:8px;letter-spacing:.15em}.technical-card header strong{font-size:16px}
.technical-main{display:grid;grid-template-columns:1fr 1fr;margin:5mm 0}
.technical-main>div{border-left:3px solid var(--bronze);padding-left:3mm}
.technical-main small,.technical-main span,.technical-main strong{display:block}.technical-main small,.technical-main span{color:var(--muted);font-size:8px}
.technical-brief{background:#f4f4f1;border-radius:3mm;margin-bottom:4mm;padding:4mm}.technical-brief small{font-size:8px;text-transform:uppercase}.technical-brief p{font-size:10px;margin:2mm 0 0}
.technical-card table th,.technical-card table td{font-size:8px;padding:2mm}
.technical-card footer{border-top:1px solid #ccd1d3;margin-top:6mm;padding-top:4mm}.technical-card footer div{display:flex;justify-content:space-between}.technical-card footer small{display:block;margin-top:4mm;text-align:center}
.install-page,.login-page{background:var(--navy)}
.install-shell,.login-shell{display:grid;grid-template-columns:minmax(350px,.9fr) minmax(500px,1.1fr);min-height:100vh}
.install-brand,.login-brand{align-items:flex-start;background:radial-gradient(circle at 20% 20%,#16486d,transparent 50%),var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:clamp(35px,7vw,100px)}
.install-brand img,.login-brand img{filter:brightness(0) invert(1);margin-bottom:70px;width:min(330px,80%)}
.install-brand h1,.login-brand h1{font-size:clamp(38px,5vw,70px);line-height:.98}
.install-brand>p:last-of-type,.login-brand>p:last-of-type{color:#afc0cc;max-width:520px}
.install-card,.login-card{align-self:center;background:#fff;border-radius:20px;margin:30px;max-width:720px;padding:clamp(28px,5vw,65px);width:calc(100% - 60px)}
.install-card fieldset{border-top:1px solid #e5e7e7;margin-top:22px;padding-top:18px}
.install-card legend{font-weight:700;padding-right:12px}
.install-card label{margin-top:11px}
.requirement-list{display:grid;gap:7px;margin-top:30px}.requirement-list>div{align-items:center;display:flex;font-size:11px;gap:8px}.requirement-list b{align-items:center;border-radius:50%;display:flex;height:20px;justify-content:center;width:20px}.requirement-list .passed b{background:#dbede7;color:#176b58}.requirement-list .failed b{background:#f1d8d8;color:#963c3c}
.login-card{max-width:520px}
.login-brand .eyebrow{color:#d2b78f}.login-stats{display:flex;gap:30px;margin-top:35px}.login-stats strong,.login-stats span{display:block}.login-stats strong{font-size:18px}.login-stats span{color:#8fa8b9;font-size:9px}
.login-help{color:var(--muted);font-size:9px;margin:20px 0 0;text-align:center}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid,.proposal-view-grid,.order-detail-grid,.inventory-layout{grid-template-columns:1fr}.order-board{grid-template-columns:repeat(2,1fr)}.inventory-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.app-shell{display:block}.sidebar{box-shadow:12px 0 30px rgba(0,0,0,.2);position:fixed;transform:translateX(-105%);transition:.2s;width:250px}.sidebar.open{transform:translateX(0)}.menu-button{display:block}.topbar{padding:0 16px}.content{padding:20px 14px}.quick-add{display:none}.page-head{align-items:flex-start;flex-direction:column}.metric-grid,.metric-grid.compact{grid-template-columns:repeat(2,1fr)}.filter-grid,.form-grid.three,.form-grid.four{grid-template-columns:repeat(2,1fr)}.profile-layout{grid-template-columns:1fr}.install-shell,.login-shell{display:block}.install-brand,.login-brand{min-height:420px;padding:45px 25px}.install-brand img,.login-brand img{margin-bottom:45px}.install-card,.login-card{border-radius:18px;margin:-35px 14px 25px;position:relative;width:calc(100% - 28px)}}
@media(max-width:560px){h1{font-size:30px}.metric-grid,.metric-grid.compact,.order-board,.settings-grid,.inventory-actions,.form-grid.two,.form-grid.three,.form-grid.four{grid-template-columns:1fr}.span-two,.span-three{grid-column:span 1}.metric-card{min-height:110px}.note-form{display:grid}.detail-list.horizontal{grid-template-columns:1fr}.detail-list.horizontal>div{border-bottom:1px solid #e7e9e9;border-right:0;padding:10px 0}.login-stats{gap:14px}.canvas-actions .button{flex:1}.technical-card{padding:6mm}.filter-grid{grid-template-columns:1fr}}
@media print{@page{size:A5 portrait;margin:0}.sidebar,.topbar,.technical-actions,.alert{display:none!important}.app-shell,.main-shell{display:block}.content{margin:0;padding:0}.technical-card{border:0;box-shadow:none;max-width:none;min-height:210mm;padding:8mm;width:148mm}.technical-card table{page-break-inside:auto}}

.hidden{display:none!important}
