@font-face{font-family:Farhang2;src:url(/fonts/farhang2/Farhang2-Thin.woff2)format("woff2");font-style:normal;font-weight:100;font-display:swap}@font-face{font-family:Farhang2;src:url(/fonts/farhang2/Farhang2-ExtraLight.woff2)format("woff2");font-style:normal;font-weight:200;font-display:swap}@font-face{font-family:Farhang2;src:url(/fonts/farhang2/Farhang2-Light.woff2)format("woff2");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:Farhang2;src:url(/fonts/farhang2/Farhang2-Regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Farhang2;src:url(/fonts/farhang2/Farhang2-Medium.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Farhang2;src:url(/fonts/farhang2/Farhang2-DemiBold.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Farhang2;src:url(/fonts/farhang2/Farhang2-Bold.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Farhang2;src:url(/fonts/farhang2/Farhang2-ExtraBold.woff2)format("woff2");font-style:normal;font-weight:800;font-display:swap}@font-face{font-family:Farhang2;src:url(/fonts/farhang2/Farhang2-Black.woff2)format("woff2");font-style:normal;font-weight:900;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#004e72;--primary-dark:#0a2735;--accent:#ff6d41;--accent-hover:#e9572f;--surface:#fff;--surface-soft:#f1f5f6;--page:#f9f9f9;--text:#0a2735;--muted:#697b88;--border:#dfe8ec;--primary-soft:#e7f0f5}*{box-sizing:border-box}body{background:var(--page);color:var(--text);margin:0;font-family:Tahoma,Arial,sans-serif;line-height:1.9}html[lang=fa] body{font-family:Farhang2,Tahoma,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit;border-radius:8px;padding:10px 14px}input,select,textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);margin-top:6px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #004e721a}button{color:#fff;background:var(--accent);cursor:pointer;border:none;transition:background .2s,transform .2s,box-shadow .2s}button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 8px 20px #ff6d4129}button:disabled{opacity:.6;cursor:wait}:focus-visible{outline-offset:3px;outline:3px solid #ff6d41b3}h1{color:var(--primary);font-size:1.6rem}h2{color:var(--primary);font-size:1.15rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;box-shadow:0 10px 32px #0a27350e}.stack{gap:18px;display:grid}.brand{color:var(--primary);font-size:1.4rem;font-weight:700}.login{background:radial-gradient(circle at 85% 12%, #004e7224, transparent 34%), linear-gradient(145deg, var(--page) 0 58%, #edf3f6 100%);grid-template-rows:auto 1fr;min-height:100dvh;padding:0 24px 24px;display:grid}.login-header{width:min(100%,1100px);margin-inline:auto;padding-inline:0}.login .card{border-top:4px solid var(--accent);place-self:center;width:min(100%,440px);box-shadow:0 22px 60px #0a27351a}.chooser{max-width:1100px;margin:40px auto;padding:24px}header{justify-content:space-between;align-items:center;gap:20px;padding:20px 28px;display:flex}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.secondary{color:var(--primary);background:var(--primary-soft)}.secondary:hover:not(:disabled){color:#fff;background:var(--primary);box-shadow:0 8px 20px #004e7224}.role-link{border:1px solid var(--border);border-radius:8px;padding:12px;transition:border-color .2s,background .2s}.role-link:hover{color:var(--primary);background:var(--primary-soft);border-color:#004e724d}.workspace{grid-template-columns:250px 1fr;min-height:100dvh;display:grid}.workspace aside{background:var(--primary-dark);color:#fff;border-left:1px solid #ffffff14;padding:30px 24px}.workspace aside .brand{color:#fff}.workspace aside p{color:#b1c6d5}.workspace aside a:not(.brand){color:#dbe8ee;border-radius:8px;padding:9px 12px}.workspace aside a:not(.brand):hover{color:#fff;background:#ff6d412e}.workspace nav{gap:20px;margin-top:40px;display:grid}.workspace main{padding:28px}.workspace>div>header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7}.empty{text-align:center;padding:80px 24px}.empty-icon{color:var(--accent);font-size:3rem}.header-actions{align-items:center;gap:10px;display:flex}.locale-switcher{border:1px solid var(--border);white-space:nowrap;letter-spacing:.04em;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;gap:3px;min-width:82px;min-height:40px;padding:4px 6px;font:600 11px/1 Segoe UI,sans-serif;display:inline-flex}.locale-switcher>span[data-active]{min-width:27px;height:28px;color:inherit;opacity:.65;border-radius:7px;place-items:center;display:grid}.locale-switcher>span[data-active=true]{color:#0a2735;opacity:1;background:#ff6d41;font-weight:800;box-shadow:inset 0 1px #f9f9f959}.locale-switcher .locale-divider{color:inherit;opacity:.4;font-weight:400}.locale-switcher:focus-visible{outline-offset:4px;outline:2px solid #ff6d41}.en-only,html[lang=en] .fa-only{display:none}html[lang=en] .en-only{display:inline}.supply-pool{max-width:1500px;margin-inline:auto}.admin-kpi{margin-bottom:28px}.kpi-heading{padding:4px 2px}.kpi-heading h1,.kpi-heading p{margin:0}.kpi-heading h1{color:var(--primary);font-size:clamp(1.55rem,3vw,2.25rem)}.kpi-live{color:var(--primary);white-space:nowrap;background:#edf5f9;border:1px solid #cadde6;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.kpi-live i{background:var(--accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #ff6d4124}.kpi-filters{padding:20px 24px}.kpi-filter-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;display:grid}.kpi-filter-grid label{color:#345c79;font-size:.82rem;font-weight:700}.kpi-grid{grid-template-columns:repeat(4,minmax(190px,1fr));gap:12px;display:grid}.kpi-metric{border:1px solid var(--border);background:linear-gradient(145deg,#fff,#f5f8fa);border-radius:14px;flex-direction:column;justify-content:center;min-height:126px;padding:20px;display:flex;position:relative;overflow:hidden}.kpi-metric:before{content:"";background:#94b6ce;border-radius:0 4px 4px 0;width:4px;position:absolute;inset-block:18px;inset-inline-start:0}[dir=ltr] .kpi-metric:before{border-radius:4px 0 0 4px}.kpi-metric.demand:before{background:var(--accent)}.kpi-metric.supply:before{background:var(--primary)}.kpi-metric.delivery:before{background:#397bb5}.kpi-metric.finance:before{background:#7550a1}.kpi-metric>span{color:#627988;font-size:.82rem;font-weight:600}.kpi-metric>strong{color:var(--primary-dark);overflow-wrap:anywhere;margin-top:7px;font-size:clamp(1.25rem,2.1vw,1.75rem);line-height:1.35}.kpi-metric>small{color:#718592;margin-top:8px}.section-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-title h2{color:var(--primary);margin:0}.section-title>span{color:#748681;font-size:.82rem}.trend-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.trend-panel{border:1px solid var(--border);background:#fbfcfd;border-radius:12px;min-width:0;margin:0;padding:16px}.trend-panel figcaption{justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.trend-panel figcaption span{color:#748681;font-size:.75rem}.trend-panel svg{width:100%;height:176px;overflow:visible}.chart-axis{stroke:#cbdad6;stroke-width:1px}.chart-bar{fill:var(--primary);transition:opacity .15s}.chart-bar:hover{opacity:.72}.trend-panel text{fill:#708491;font:10px Tahoma,Arial,sans-serif}.breakdown-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;display:grid}.kpi-table-wrap{max-width:100%;overflow-x:auto}.kpi-table-wrap table{border-collapse:collapse;white-space:nowrap;width:100%}.kpi-table-wrap th,.kpi-table-wrap td{text-align:start;border-bottom:1px solid #e7efed;padding:12px 10px;font-size:.84rem}.kpi-table-wrap th{color:#617873;font-size:.75rem}.kpi-table-wrap td strong,.kpi-table-wrap td small{display:block}.kpi-table-wrap td small{color:#81918e}.type-dot{background:#9eaaa7;border-radius:50%;width:8px;height:8px;margin-inline-end:7px;display:inline-block}.type-dot.green{background:#20a27e}.type-dot.normal{background:#de9c32}.kpi-pagination{grid-template-columns:1fr auto 1fr;align-items:center;margin-top:16px;display:grid}.kpi-pagination a:last-child{text-align:end}.pool-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.pool-heading h1{margin-block:0 4px}.pool-heading p{margin:0}.manual-notice{color:#244b65;background:#edf5f9;border:1px solid #cadde6;border-radius:10px;max-width:470px;padding:10px 14px}.pool-filters h2{margin-top:0}.filter-grid{grid-template-columns:repeat(5,minmax(150px,1fr));align-items:end;gap:16px;display:grid}.filter-grid label{color:#345c79;font-size:.9rem;font-weight:700}.filter-actions{gap:12px;margin-top:20px;display:flex}.button-link{border-radius:8px;justify-content:center;align-items:center;padding:10px 14px;display:inline-flex}.pool-summary{color:#526f80}.request-card{padding:0;overflow:hidden}.request-card .request-header{border-bottom:1px solid var(--border);background:#f7fafb;padding:22px 24px}.request-header h2,.request-header p{margin:0}.eyebrow{color:#627c8e;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.request-state{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.status-pill,.count-badge{border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:700;display:inline-block}.status-pill.submitted{color:#795b00;background:#fff3cf}.status-pill.under_review{color:#16517b;background:#dcecf9}.review-action .error{margin:4px 0 0;font-size:.8rem}.request-details{background:var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(130px,1fr));gap:1px;margin:0;display:grid}.request-details>div{background:#fff;padding:15px 20px}.request-details .wide{grid-column:span 2}.request-details dt{color:#69808e;font-size:.78rem}.request-details dd{overflow-wrap:anywhere;margin:2px 0 0;font-weight:700}.offers-section{padding:22px 24px 26px}.offers-section h3{margin-top:0}.count-badge{background:var(--primary-soft);color:var(--primary);margin-inline-start:6px}.offer-table-wrap{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.offer-table-wrap table{border-collapse:collapse;width:100%;min-width:860px}.offer-table-wrap th,.offer-table-wrap td{text-align:start;border-bottom:1px solid var(--border);vertical-align:top;padding:12px 14px}.offer-table-wrap th{color:#526f80;white-space:nowrap;background:#f1f5f7;font-size:.78rem}.offer-table-wrap tr:last-child td{border-bottom:0}.offer-table-wrap small{color:#70847f;white-space:nowrap;display:block}.pagination{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid}.pagination>:last-child{justify-self:end}.offer-pagination{justify-content:flex-end;align-items:center;gap:16px;margin-top:14px;font-size:.85rem;display:flex}.offer-pagination a{color:var(--accent);font-weight:700}@media (max-width:720px){.workspace{grid-template-columns:1fr}.workspace aside{border-bottom:1px solid var(--border)}.workspace nav{flex-wrap:wrap;margin-top:15px;display:flex}header{padding:16px 0}.workspace header{padding:16px}}@media (max-width:1100px){.filter-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.request-details{grid-template-columns:repeat(2,minmax(130px,1fr))}}@media (max-width:720px){.workspace main{padding:16px}.pool-heading{display:grid}.filter-grid,.request-details{grid-template-columns:1fr}.request-details .wide{grid-column:auto}.request-card .request-header{align-items:flex-start}.request-state{justify-content:flex-start}.offers-section{padding-inline:14px}}.allocation-form{white-space:normal;min-width:15rem;max-width:22rem}.allocation-form summary{cursor:pointer;padding-block:.75rem}.allocation-history{margin-block:1rem}.allocation-row{overflow-wrap:anywhere;border-bottom:1px solid #d9e1e8;justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem;display:flex}.allocation-row small{margin-block:.25rem;font-size:.75rem;display:block}.allocation-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (max-width:640px){.allocation-row{flex-direction:column;align-items:stretch}.allocation-actions button{flex:1}}.proposal-panel{border-top:1px solid var(--border);padding:22px 24px}.proposal-panel>h3{margin-top:0}.proposal-form{border:1px solid var(--border);background:#f5f8fa;border-radius:10px;margin-block:12px 20px;padding:12px 16px}.proposal-form summary{cursor:pointer;font-weight:700}.proposal-form form{margin-top:14px}.proposal-form fieldset{border:1px solid var(--border);border-radius:10px;gap:12px;display:grid}.proposal-allocation-choice{grid-template-columns:minmax(200px,1fr) minmax(180px,.5fr);align-items:end;gap:14px;display:grid}.proposal-allocation-choice input[type=checkbox]{width:auto}.proposal-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;display:grid}.proposal-card{border:1px solid var(--border);background:#fff;border-radius:12px;min-width:0;padding:18px}.proposal-card header{border-bottom:1px solid var(--border);align-items:flex-start;padding:0 0 12px}.proposal-card h3{overflow-wrap:anywhere;margin:0}.proposal-card small{color:#69808e;display:block}.proposal-meta{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.proposal-meta dt{color:#69808e;font-size:.78rem}.proposal-meta dd{margin:0}.proposal-items{gap:8px;margin-block:14px;display:grid}.proposal-items>div{background:#f1f5f7;border-radius:8px;grid-template-columns:minmax(100px,1fr) auto;gap:3px 12px;padding:10px;display:grid}.proposal-actions{flex-wrap:wrap;gap:10px;display:flex}.proposal-sent{color:#16517b;background:#dcecf9}.proposal-accepted{color:#22613b;background:#dff3e7}.proposal-rejected,.proposal-cancelled{color:#852b2b;background:#f7e1e1}.proposal-expired{color:#555;background:#ececec}.proposal-draft{color:#795b00;background:#fff3cf}.consumer-proposals{max-width:1200px;margin-inline:auto}@media (max-width:640px){.proposal-panel{padding-inline:14px}.proposal-allocation-choice{grid-template-columns:1fr}.proposal-card header{flex-direction:column}}.contract-section h2{margin-block:0 4px}.contract-fields{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.contract-fields>label:last-of-type{grid-column:1/-1}.contract-fields fieldset{border:1px solid var(--border);border-radius:10px;grid-column:1/-1}.delivery-card .proposal-form{margin-top:14px}.status-pill.delivery-draft{color:#795b00;background:#fff3cf}.status-pill.delivery-verified{color:#17633a;background:#dff3e7}.status-pill.delivery-rejected{color:#8a2921;background:#fde4e1}.contract-item-fields{grid-template-columns:minmax(160px,1fr) repeat(3,minmax(140px,1fr));align-items:end;gap:12px;display:grid}.contract-active{color:#22613b;background:#dff3e7}.contract-draft{color:#795b00;background:#fff3cf}.contract-completed{color:#16517b;background:#dcecf9}.contract-cancelled{color:#852b2b;background:#f7e1e1}@media (max-width:820px){.contract-item-fields{grid-template-columns:1fr}}@media (max-width:1180px){.kpi-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.trend-grid,.breakdown-grid{grid-template-columns:1fr}}@media (max-width:820px){.kpi-filter-grid,.kpi-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media (max-width:520px){.kpi-heading{align-items:flex-start}.kpi-filter-grid,.kpi-grid{grid-template-columns:1fr}.kpi-metric{min-height:106px}.admin-kpi .card{padding:18px 14px}.section-title{flex-direction:column;align-items:flex-start}}.plant-dashboard,.offer-management{width:100%;max-width:1500px;margin-inline:auto}.consumer-dashboard{width:100%;max-width:1500px;margin-inline:auto;padding-bottom:10px}.consumer-dashboard-heading{padding:4px 2px}.consumer-dashboard-heading h1,.consumer-dashboard-heading p{margin:0}.consumer-dashboard-heading h1{font-size:clamp(1.65rem,3vw,2.4rem)}.consumer-filters{padding:20px 24px}.consumer-filter-grid{grid-template-columns:repeat(3,minmax(170px,1fr)) auto;align-items:end;gap:14px;display:grid}.consumer-filter-grid label{color:#345c79;font-size:.82rem;font-weight:700}.consumer-filter-actions{gap:10px;display:flex}.consumer-metric-grid{grid-template-columns:repeat(3,minmax(210px,1fr));gap:13px;display:grid}.consumer-metric{border:1px solid var(--border);background:linear-gradient(145deg,#fff,#f4f8fa);border-radius:16px;flex-direction:column;justify-content:center;min-height:132px;padding:21px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 25px #0a27350a}.consumer-metric:before{content:"";background:#8ca6b4;border-radius:0 4px 4px 0;width:4px;position:absolute;inset-block:18px;inset-inline-start:0}[dir=ltr] .consumer-metric:before{border-radius:4px 0 0 4px}.consumer-metric.demand:before{background:#f2913d}.consumer-metric.proposal:before{background:#49a4c4}.consumer-metric.contract:before{background:var(--primary)}.consumer-metric.delivery:before{background:#16a085}.consumer-metric.progress:before{background:#7255a5}.consumer-metric.finance:before{background:#a65378}.consumer-metric>span{color:#627988;font-size:.82rem;font-weight:650}.consumer-metric>strong{color:var(--primary-dark);margin-top:6px;font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.4}.consumer-metric>small{color:#718592;margin-top:7px;line-height:1.6}.consumer-journey{overflow:hidden}.consumer-journey ol{grid-template-columns:repeat(5,minmax(110px,1fr));margin:0;padding:10px 0 0;list-style:none;display:grid}.consumer-journey li{text-align:center;justify-items:center;gap:5px;display:grid;position:relative}.consumer-journey li:after{content:"";z-index:0;top:19px;background:#cfe0e7;width:100%;height:2px;position:absolute;inset-inline-start:50%}.consumer-journey li:last-child:after{display:none}.consumer-journey li>span{z-index:1;background:var(--primary);color:#fff;border:4px solid #e3eff3;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.consumer-journey li strong{font-size:.9rem}.consumer-journey li small{color:var(--accent);font-weight:800}.consumer-chart{min-width:0;margin:0}.consumer-chart figcaption{justify-content:space-between;align-items:center;gap:12px;display:flex}.consumer-chart-legend{color:var(--muted);align-items:center;gap:7px;font-size:.78rem;display:flex}.consumer-chart-legend i{border-radius:2px;width:9px;height:9px;margin-inline-start:8px}.consumer-chart-legend i.demand,.consumer-bar.demand{fill:#f2913d;background:#f2913d}.consumer-chart-legend i.delivered,.consumer-bar.delivered{fill:#16a085;background:#16a085}.consumer-chart svg{width:100%;height:205px}.consumer-chart text{fill:#708491;font:10px Tahoma,Arial,sans-serif}.consumer-bar{transition:opacity .15s}.consumer-bar:hover{opacity:.72}.fulfillment-cell{min-width:125px}.fulfillment-cell>span{background:#e5ecef;border-radius:8px;height:6px;margin-top:6px;display:block;overflow:hidden}.fulfillment-cell i{border-radius:inherit;background:linear-gradient(90deg,#16a085,#49a4c4);height:100%;display:block}.authorized-plants .section-title p{margin:2px 0 0}.authorized-plant-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;display:grid}.authorized-plant-list article{border:1px solid var(--border);background:#f9fbfc;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:13px;display:grid}.authorized-plant-list small{color:var(--muted);display:block}.plant-mark{background:var(--primary-soft);border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.visibility-badge{color:#17634f;background:#e2f2ed;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:700}@media (max-width:1080px){.consumer-metric-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}.consumer-filter-grid{grid-template-columns:repeat(2,minmax(170px,1fr))}}@media (max-width:680px){.consumer-dashboard-heading{align-items:flex-start}.consumer-filter-grid,.consumer-metric-grid{grid-template-columns:1fr}.consumer-filter-actions>*{flex:1}.consumer-journey{overflow-x:auto}.consumer-journey ol{min-width:610px}.consumer-dashboard .card{padding:18px 14px}.consumer-chart figcaption{flex-direction:column;align-items:flex-start}}.plant-dashboard-heading{padding:4px 2px}.plant-dashboard-heading h1,.plant-dashboard-heading p{margin:0}.plant-dashboard-heading h1{font-size:clamp(1.6rem,3vw,2.35rem)}.plant-filters{padding:20px 24px}.plant-filter-grid{grid-template-columns:repeat(3,minmax(170px,1fr)) auto;align-items:end;gap:14px;display:grid}.plant-filter-grid label,.offer-form-grid label{color:#345c79;font-size:.82rem;font-weight:700}.plant-filter-actions,.offer-form-actions{align-items:center;gap:10px;display:flex}.plant-metric-grid{grid-template-columns:repeat(5,minmax(165px,1fr));gap:12px;display:grid}.plant-metric{border:1px solid var(--border);background:linear-gradient(145deg,#fff,#f5f8fa);border-radius:14px;flex-direction:column;justify-content:center;min-height:122px;padding:20px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 25px #0a27350a}.plant-metric:before{content:"";background:#98acb7;border-radius:0 4px 4px 0;width:4px;position:absolute;inset-block:18px;inset-inline-start:0}[dir=ltr] .plant-metric:before{border-radius:4px 0 0 4px}.plant-metric.nominal:before{background:#004e72}.plant-metric.offered:before,.plant-metric.available:before{background:#16a085}.plant-metric.allocated:before{background:#f2913d}.plant-metric.remaining:before{background:#49a4c4}.plant-metric.delivery:before{background:#7255a5}.plant-metric>span{color:#627988;font-size:.8rem;font-weight:650}.plant-metric>strong{color:var(--primary-dark);margin-top:7px;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.35}.plant-metric>small{color:#718592;margin-top:7px}.plant-chart-grid{grid-template-columns:1.35fr 1fr;gap:16px;display:grid}.plant-chart{border:1px solid var(--border);background:#fbfcfd;border-radius:12px;min-width:0;margin:0;padding:16px}.plant-chart figcaption,.plant-chart figcaption>div,.chart-legend{justify-content:space-between;align-items:center;gap:12px;display:flex}.plant-chart figcaption>div span{color:var(--muted);font-size:.75rem}.chart-legend{color:var(--muted);justify-content:flex-end;font-size:.72rem}.chart-legend i{border-radius:2px;width:9px;height:9px}.chart-legend i.offered{background:#16a085}.chart-legend i.allocated{background:#f2913d}.plant-chart svg{width:100%;height:190px}.plant-chart text{fill:#708491;font:10px Tahoma,Arial,sans-serif}.plant-bar.offered{fill:#16a085}.plant-bar.allocated{fill:#f2913d}.plant-bar.delivered{fill:#7255a5}.plant-bar{transition:opacity .15s}.plant-bar:hover{opacity:.72}.plant-table-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.allocation-confirmed{color:#22613b;background:#dff3e7}.allocation-draft{color:#795b00;background:#fff3cf}.allocation-cancelled{color:#852b2b;background:#f7e1e1}.offer-management .section-title p{margin:2px 0 0}.offer-editor{border:1px solid var(--border);border-radius:12px;margin-top:10px;overflow:hidden}.offer-editor>summary{cursor:pointer;background:#fbfcfd;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;list-style-position:inside;display:flex}.offer-editor>summary>span{align-items:center;gap:12px;display:flex}.offer-editor>summary small{color:var(--muted);display:block}.offer-editor>summary em{color:var(--accent);font-style:normal;font-weight:700}.offer-editor.new>summary{color:var(--primary);background:var(--primary-soft);font-weight:800}.offer-form{border-top:1px solid var(--border);padding:18px}.offer-form-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;display:grid}.offer-form-actions{margin-top:16px}.offer-available{color:#22613b;background:#dff3e7}.offer-draft{color:#795b00;background:#fff3cf}.offer-closed,.offer-cancelled{color:#52636c;background:#eceff1}.offer-reserved{color:#16517b;background:#dcecf9}@media (max-width:1180px){.plant-metric-grid{grid-template-columns:repeat(3,minmax(165px,1fr))}.plant-chart-grid,.plant-table-grid{grid-template-columns:1fr}.offer-form-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media (max-width:820px){.plant-filter-grid{grid-template-columns:1fr 1fr}.plant-filter-actions{align-self:end}.plant-metric-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media (max-width:560px){.plant-dashboard-heading,.offer-editor>summary,.offer-editor>summary>span{flex-direction:column;align-items:flex-start}.plant-filter-grid,.plant-metric-grid,.offer-form-grid{grid-template-columns:1fr}.plant-filter-actions>*,.offer-form-actions button{flex:1}.plant-dashboard .card,.offer-management{padding:18px 14px}.plant-chart{padding-inline:8px}}:root{--primary:#004e72;--primary-strong:#003c59;--primary-dark:#0a2735;--accent:#ff6d41;--accent-hover:#e95830;--page:#f9f9f9;--surface:#fff;--surface-soft:#f3f7f8;--surface-muted:#eaf1f4;--text:#0a2735;--text-soft:#405b68;--muted:#6a7f89;--border:#dce6ea;--border-strong:#c8d7de;--primary-soft:#e8f1f5;--success:#147a5b;--success-soft:#e3f4ed;--warning:#926017;--warning-soft:#fff3d8;--danger:#a13a35;--danger-soft:#fce9e7;--info:#17658e;--info-soft:#e3f2f9;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--shadow-xs:0 1px 2px #0a27350a;--shadow-sm:0 7px 20px #0a27350e;--shadow-md:0 18px 45px #0a273516;--ease:cubic-bezier(.2, .8, .2, 1)}html{scroll-behavior:smooth;text-rendering:optimizelegibility}body{background:radial-gradient(circle at 8% 0%, #004e720b, transparent 25rem), var(--page);min-width:320px;color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.75}::selection{color:#fff;background:var(--primary)}button,input,select,textarea{border-radius:var(--radius-sm);min-height:44px}button,.button-link{min-height:44px;transition:color .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), transform .18s var(--ease);border:1px solid #0000;padding:9px 17px;font-weight:700;line-height:1.4}button{background:linear-gradient(135deg, var(--accent), #f45b35);box-shadow:0 6px 15px #ff6d4129}button:hover:not(:disabled){background:linear-gradient(135deg, #f96238, var(--accent-hover));box-shadow:0 9px 22px #ff6d4138}button:active:not(:disabled),.button-link:active{transform:translateY(0)scale(.985)}button:disabled{opacity:.55;cursor:not-allowed;filter:saturate(.65)}.secondary,.button-link.secondary{color:var(--primary);background:var(--primary-soft);box-shadow:none;border-color:#d1e1e8}.secondary:hover:not(:disabled),.button-link.secondary:hover{color:#fff;border-color:var(--primary);background:var(--primary)}input,select,textarea{border-color:var(--border-strong);transition:border-color .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease);background-color:#fff;padding:9px 13px;box-shadow:inset 0 1px 2px #0a273506}input:hover,select:hover,textarea:hover{border-color:#a9c1cc}input:focus,select:focus,textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #004e721a}input:disabled,select:disabled,textarea:disabled{color:#71838c;cursor:not-allowed;background:#edf2f4}label{color:var(--text-soft);font-size:.84rem;font-weight:700}label small{color:var(--muted);font-weight:500}fieldset{min-width:0;padding:16px}legend{color:var(--primary);padding-inline:7px;font-weight:800}h1,h2,h3,h4{letter-spacing:-.018em;line-height:1.45}h1{font-size:clamp(1.65rem,2.7vw,2.35rem)}h2{font-size:clamp(1.12rem,1.7vw,1.35rem)}p{color:var(--muted)}.card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm), var(--shadow-xs);transition:border-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease);background:#fffffff5;border-color:#c8d7dec7}.grid>.card:hover,.grid>a.card:hover{color:inherit;box-shadow:var(--shadow-md);border-color:#004e723d;transform:translateY(-3px)}.stack{gap:clamp(16px,2vw,24px)}.eyebrow{color:var(--accent);letter-spacing:.095em}.workspace{background:0 0;grid-template-columns:272px minmax(0,1fr)}.workspace-content{min-width:0}.workspace-sidebar{z-index:20;flex-direction:column;height:100dvh;display:flex;position:sticky;top:0;overflow:hidden;box-shadow:10px 0 38px #0a273517;background:radial-gradient(circle at 20% 8%, #ff6d4129, transparent 18rem), linear-gradient(165deg, #0d3446 0%, var(--primary-dark) 55%, #071d27 100%)!important;border:0!important;padding:28px 20px!important}[dir=rtl] .workspace-sidebar{box-shadow:-10px 0 38px #0a273517}.sidebar-branding{border-bottom:1px solid #ffffff1a;padding:2px 8px 25px}.workspace-sidebar .brand{color:#fff;align-items:center;gap:12px;font-size:1.12rem;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg, var(--accent), #e5532f);border:1px solid #ffffff2e;border-radius:13px 5px;flex:0 0 42px;place-items:center;width:42px;height:46px;display:grid;box-shadow:0 10px 24px #ff6d4133,inset 0 1px #ffffff40}.brand-mark svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round;width:24px}.sidebar-branding p{margin:9px 54px 0 0;font-size:.73rem}[dir=ltr] .sidebar-branding p{margin:9px 0 0 54px}.workspace-sidebar nav{gap:7px;margin-top:24px}.workspace-sidebar aside nav,.workspace-sidebar nav{display:grid}.workspace-sidebar a:not(.brand){min-height:46px;transition:all .18s var(--ease);border:1px solid #0000;border-radius:12px;align-items:center;gap:11px;padding:9px 12px;font-size:.88rem;display:flex}.workspace-sidebar a:not(.brand):hover{background:#ffffff13;border-color:#ffffff1a;transform:translate(-2px)}[dir=ltr] .workspace-sidebar a:not(.brand):hover{transform:translate(2px)}.workspace-sidebar a[aria-current=page]{color:#fff;box-shadow:inset 3px 0 var(--accent);background:linear-gradient(90deg,#ff6d4133,#ff6d4114);border-color:#ff6d413d}[dir=rtl] .workspace-sidebar a[aria-current=page]{box-shadow:inset -3px 0 var(--accent)}.nav-icon{background:#ffffff14;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.nav-icon svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:16px}.sidebar-accent{inset-inline-end:-70px;border:1px solid #ffffff12;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-70px;box-shadow:0 0 0 28px #ffffff05,0 0 0 56px #ffffff03}.workspace-header{z-index:15;-webkit-backdrop-filter:blur(18px)saturate(125%);min-height:78px;position:sticky;top:0;box-shadow:0 8px 30px #0a273509;background:#f9f9f9cc!important;border-color:#dce6eadb!important;padding:13px clamp(18px,3vw,36px)!important}.workspace-context{align-items:center;gap:11px;min-width:0;display:flex}.workspace-context>div{min-width:0}.workspace-context strong,.workspace-context p{text-overflow:ellipsis;white-space:nowrap;margin:0;display:block;overflow:hidden}.workspace-context strong{font-size:.96rem}.workspace-context p{margin-top:1px;font-size:.76rem}.context-dot{background:var(--accent);border:2px solid #fff;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #ff6d4121}.workspace-main{width:100%;padding:clamp(18px,3vw,36px)!important}.workspace-main>*{width:min(100%,1500px);margin-inline:auto}.header-actions{gap:9px}.header-actions>div{display:flex}.header-actions button,.header-actions .locale-switcher{min-height:40px;padding:7px 13px;font-size:.78rem}.kpi-heading,.consumer-dashboard-heading,.plant-dashboard-heading{min-height:92px;padding:8px 4px 14px}.kpi-heading h1,.consumer-dashboard-heading h1,.plant-dashboard-heading h1{color:var(--primary-dark)}.kpi-live{box-shadow:var(--shadow-xs);background:#fffc;border-color:#cfe0e7}.kpi-live i{animation:2.1s ease-out infinite live-pulse}@keyframes live-pulse{0%,to{box-shadow:0 0 0 4px #ff6d4121}50%{box-shadow:0 0 0 7px #ff6d4100}}.kpi-filters,.consumer-filters,.plant-filters,.pool-filters{background:linear-gradient(145deg,#fff,#f8fbfc);border-color:#004e7221}.kpi-filter-grid,.consumer-filter-grid,.plant-filter-grid,.filter-grid,.offer-form-grid{gap:15px}.kpi-metric,.consumer-metric,.plant-metric{border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-xs);transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);background:linear-gradient(145deg,#fff 0%,#f6fafb 100%);border-color:#c8d7deb8}.kpi-metric:hover,.consumer-metric:hover,.plant-metric:hover{box-shadow:var(--shadow-sm);border-color:#004e7230;transform:translateY(-2px)}.kpi-metric:before,.consumer-metric:before,.plant-metric:before{width:5px;box-shadow:0 0 16px}.kpi-metric>strong,.consumer-metric>strong,.plant-metric>strong{font-variant-numeric:tabular-nums;letter-spacing:-.03em}.trend-panel,.consumer-chart,.plant-chart{border-radius:var(--radius-md);background:linear-gradient(#fbfdfe,#f7fafb);border-color:#c8d7deb3}.chart-axis{stroke:#d5e0e4}.chart-bar,.consumer-bar,.plant-bar{transition:opacity .16s,filter .16s}.chart-bar:hover,.consumer-bar:hover,.plant-bar:hover{opacity:.84;filter:brightness(.92)}.section-title{min-height:38px}.section-title h2{color:var(--primary-dark)}.kpi-table-wrap,.offer-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);scrollbar-color:#b5c8d0 transparent;scrollbar-width:thin;background:#fff}.kpi-table-wrap table,.offer-table-wrap table{border-collapse:separate;border-spacing:0}.kpi-table-wrap th,.offer-table-wrap th{z-index:1;color:var(--text-soft);letter-spacing:.01em;background:#eef4f6;font-weight:800;position:sticky;top:0}.kpi-table-wrap th,.kpi-table-wrap td,.offer-table-wrap th,.offer-table-wrap td{border-bottom-color:#e7edef;height:50px;padding:11px 14px}.kpi-table-wrap tbody tr,.offer-table-wrap tbody tr{transition:background .14s}.kpi-table-wrap tbody tr:hover,.offer-table-wrap tbody tr:hover{background:#f5f9fa}.status-pill,.count-badge,.visibility-badge{white-space:nowrap;border:1px solid #0000;line-height:1.65}.status-pill:before{content:"";opacity:.72;background:currentColor;border-radius:50%;width:6px;height:6px;margin-inline-end:6px;display:inline-block}.proposal-accepted,.contract-active,.allocation-confirmed,.delivery-verified,.offer-available{background:var(--success-soft);color:var(--success);border-color:#bee3d4}.proposal-draft,.contract-draft,.allocation-draft,.delivery-draft,.offer-draft,.submitted{background:var(--warning-soft);color:var(--warning);border-color:#f0dba9}.proposal-rejected,.proposal-cancelled,.contract-cancelled,.allocation-cancelled,.delivery-rejected,.offer-cancelled{background:var(--danger-soft);color:var(--danger);border-color:#efcbc7}.proposal-sent,.contract-completed,.offer-reserved,.under_review{background:var(--info-soft);color:var(--info);border-color:#c6e0ec}.proposal-form,.offer-editor{border-color:var(--border);border-radius:var(--radius-md);background:#f7fafb}.proposal-form summary,.offer-editor>summary,.allocation-form summary{list-style:none}.proposal-form summary::-webkit-details-marker{display:none}.offer-editor>summary::-webkit-details-marker{display:none}.allocation-form summary::-webkit-details-marker{display:none}.proposal-form summary:after,.offer-editor>summary:after,.allocation-form summary:after{content:"+";float:inline-end;width:26px;height:26px;color:var(--primary);background:var(--primary-soft);border-radius:8px;place-items:center;font-size:1.15rem;line-height:1;transition:transform .2s;display:grid}.proposal-form[open]>summary:after,.offer-editor[open]>summary:after,.allocation-form[open]>summary:after{transform:rotate(45deg)}.proposal-form summary:hover,.offer-editor>summary:hover{background:#edf4f6}.proposal-card{border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:border-color .18s,box-shadow .18s,transform .18s}.proposal-card:hover{box-shadow:var(--shadow-sm);border-color:#004e7238;transform:translateY(-2px)}.proposal-items>div{border-radius:var(--radius-sm);background:#f5f8f9;border:1px solid #e4ecef}.empty{place-content:center;justify-items:center;gap:5px;min-height:270px;display:grid;position:relative;overflow:hidden}.empty:before{content:"";background:radial-gradient(circle,#004e7212,#0000 68%);border-radius:50%;width:210px;height:210px;position:absolute}.empty>*{position:relative}.empty-icon{background:var(--primary-soft);border:1px solid #cfe0e7;border-radius:20px;place-items:center;width:64px;height:64px;margin-bottom:8px;font-size:2rem;display:grid}.error{color:var(--danger)}.success{color:var(--success)}.system-state{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:min(520px,75dvh);display:grid}.system-state h1,.system-state p{margin:0}.system-state .button-link{color:#fff;background:var(--primary);margin-top:8px}.state-icon{min-width:62px;height:62px;color:var(--accent);background:#fff0ec;border-radius:20px;place-items:center;padding-inline:12px;font-weight:900;display:grid}.error-state .state-icon{color:var(--danger);background:var(--danger-soft)}.state-visual{align-items:center;gap:6px;height:44px;display:flex}.state-visual i{background:var(--primary);border-radius:50%;width:9px;height:9px;animation:1s ease-in-out infinite loading-dot}.state-visual i:nth-child(2){background:var(--accent);animation-delay:.13s}.state-visual i:nth-child(3){animation-delay:.26s}@keyframes loading-dot{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-8px)}}dialog,[role=dialog]{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);max-width:min(620px,100vw - 32px);padding:0;box-shadow:0 28px 90px #0a27353d}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a273575}.login{background:radial-gradient(circle at 82% 12%, #ff6d411a, transparent 24rem), radial-gradient(circle at 10% 90%, #004e721c, transparent 28rem), var(--page)}.login-header{min-height:78px}.login .card{box-shadow:var(--shadow-md);border-color:#004e7224;border-top-style:none;border-top-width:0;padding:clamp(25px,4vw,38px)}.login .card:before{content:"";background:var(--accent);border-radius:5px;width:42px;height:5px;margin-bottom:24px;display:block}.login .card h1{color:var(--primary-dark);margin-block:0 4px}.workspace-chooser{max-width:1220px}.workspace-chooser>header{padding-inline:0}.workspace-chooser .grid>.card{min-height:180px}.workspace-chooser .grid>a.card{position:relative;overflow:hidden}.workspace-chooser .grid>a.card:after{content:"←";inset-inline-end:24px;color:var(--accent);font-size:1.2rem;position:absolute;bottom:19px}[dir=ltr] .workspace-chooser .grid>a.card:after{content:"→"}.role-link{border-radius:var(--radius-sm)}@media (max-width:920px){.workspace{grid-template-columns:1fr;padding-bottom:74px}.workspace-sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:100%;height:74px;position:fixed;inset:auto 0 0;box-shadow:0 -10px 35px #0a273529;padding:8px max(12px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))!important;background:#0a2735f5!important}.sidebar-branding,.sidebar-accent{display:none}.workspace-sidebar nav{grid-template-columns:1fr 1fr;gap:8px;width:min(100%,520px);margin:0 auto}.workspace-sidebar a:not(.brand){justify-content:center;min-height:52px;padding:6px 12px;font-size:.76rem}.workspace-sidebar a:not(.brand):hover{transform:none}.workspace-sidebar a[aria-current=page],[dir=rtl] .workspace-sidebar a[aria-current=page]{box-shadow:inset 0 -3px var(--accent)}.nav-icon{width:25px;height:25px}.workspace-header{min-height:68px}}@media (max-width:680px){.workspace-main{padding:16px 12px 22px!important}.workspace-header{padding:10px 13px!important}.workspace-context{max-width:calc(100% - 150px)}.context-dot{display:none}.header-actions{flex-shrink:0}.header-actions button,.header-actions .locale-switcher{min-width:0;padding-inline:10px}.card{border-radius:16px;padding:18px 14px}.kpi-heading,.consumer-dashboard-heading,.plant-dashboard-heading{align-items:flex-start;min-height:0}.filter-actions,.consumer-filter-actions,.plant-filter-actions,.offer-form-actions{width:100%}.filter-actions>*,.consumer-filter-actions>*,.plant-filter-actions>*,.offer-form-actions>button{flex:1}.kpi-table-wrap,.offer-table-wrap{margin-inline:-2px}.kpi-table-wrap th,.kpi-table-wrap td,.offer-table-wrap th,.offer-table-wrap td{padding-inline:12px}.pagination,.kpi-pagination{grid-template-columns:1fr 1fr;gap:12px}.pagination>span,.kpi-pagination>span{text-align:center;grid-area:1/1/auto/-1}.system-state{margin:16px}.chooser{margin:16px auto;padding:12px}.workspace-chooser>header{align-items:flex-start;padding:8px 2px 20px}}@media (max-width:440px){.workspace-sidebar a:not(.brand){flex-direction:column;gap:1px;line-height:1.2}.workspace-context p{max-width:140px}.header-actions{gap:5px}.header-actions button,.header-actions .locale-switcher{padding-inline:8px;font-size:.7rem}.kpi-grid,.consumer-metric-grid,.plant-metric-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--border:#93aab5;--border-strong:#728f9d;--muted:#405966}.card,input,select,textarea{border-width:2px}}
