.engineering { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; min-width:0; color:#18231b; }
.engineering > * { min-width:0; }
.eng-hero { background:linear-gradient(115deg,#edf4e5,#fff); border:1px solid #d9e6cf; border-radius:20px; padding:26px; }
.eng-hero>span { color:#527b2d; font-size:12px; font-weight:800; letter-spacing:.12em; }
.eng-hero h1 { margin:10px 0; font-size:clamp(24px,2.5vw,34px); line-height:1.2; }
.eng-hero p,.eng-note,.eng-source { color:#536151; line-height:1.6; }
.eng-tabs,.eng-controls { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.eng-tabs { position:sticky; top:0; background:#f5f6f7; padding:10px 0; z-index:5; }
.eng-tabs .btn { flex:1 1 auto; }
.eng-section { padding:24px; background:#fff; border:1px solid #e0e6dc; border-radius:18px; margin-bottom:18px; min-width:0; }
.eng-section h2 { margin:0 0 16px; font-size:22px; }.eng-section h3 { margin-top:0; }
.eng-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.eng-kpi { border:1px solid #d9e6cf; background:#f3f7ef; padding:18px; border-radius:14px; display:grid; align-content:start; gap:12px; }
.eng-kpi span { color:#506348; font-weight:600; }.eng-kpi strong { font-size:clamp(24px,2.2vw,34px); color:#345722; }.eng-kpi small { font-size:13px; line-height:1.5; color:#52604b; }
.eng-two { display:grid; grid-template-columns:1fr 1fr; gap:24px; }.eng-two p { line-height:1.6; }
.eng-table-wrap { overflow:auto; border:1px solid #e0e6dc; border-radius:12px; }.eng-table { width:100%; border-collapse:collapse; font-size:14px; }
.eng-table th { background:#eff4e9; color:#405436; text-align:left; padding:14px; font-size:12px; line-height:1.5; }.eng-table td { padding:15px 14px; border-top:1px solid #e5e9e1; vertical-align:top; line-height:1.6; min-width:100px; }
.eng-table tr:nth-child(even) { background:#fafcf7; }.eng-table tr:hover { background:#f1f6e9; }.eng-table small { display:block; color:#596455; font-size:12px; margin-top:6px; }.eng-table .btn { font-size:13px; padding:10px; white-space:normal; text-align:left; }
.eng-link { color:#426b29; text-decoration:underline; text-align:left; cursor:pointer; border:0; background:transparent; font:inherit; font-weight:700; padding:0; }
.eng-risk { color:#af341e; }.eng-controls { margin:16px 0; }.eng-controls label { display:grid; gap:8px; min-width:180px; }.eng-empty { padding:22px; background:#f4f7f0; border-radius:12px; line-height:1.6; }
.eng-progress { height:12px; border-radius:10px; background:#e3ebda; overflow:hidden; }.eng-progress i { display:block; background:#658e38; height:100%; }
.eng-chart { display:flex; gap:16px; overflow-x:auto; align-items:stretch; min-height:280px; padding:60px 8px 12px; }.eng-bar { position:relative; flex:1 0 64px; display:grid; grid-template-rows:26px 150px 26px; gap:8px; align-items:end; background:transparent; border:0; color:#3b572f; cursor:pointer; font:inherit; }.eng-bar i { display:block; background:#648d38; height:var(--height); min-height:2px; border-radius:7px 7px 0 0; width:min(70%,56px); margin:auto auto 0; }.eng-bar-value { font-weight:800; }
.eng-tooltip { position:absolute; display:none; background:#24361d; color:white; padding:10px; border-radius:9px; line-height:1.5; font-size:12px; width:180px; bottom:28px; left:50%; transform:translateX(-50%); z-index:2; pointer-events:none; }.eng-bar:first-child .eng-tooltip { left:0; transform:none; }.eng-bar:last-child .eng-tooltip { left:auto;right:0;transform:none; }.eng-bar:hover .eng-tooltip,.eng-bar:focus .eng-tooltip { display:block; }
.eng-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0; }.eng-form label { display:grid; gap:8px; font-weight:600; }.eng-form .input,.eng-controls .input { min-width:0; width:100%; }.eng-wide { grid-column:1/-1; }.eng-form-status { color:#a13b23; line-height:1.5; margin:0; }
.eng-allocations,.eng-regions { border:1px solid #d7e2cf; border-radius:12px; padding:18px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }.eng-regions label { display:flex; gap:12px; align-items:center; line-height:1.5; }.engineering input[type=checkbox] { accent-color:#648d38; }.eng-form legend { color:#446234; font-weight:700; }
.eng-dialog { border:1px solid #dbe4d3; border-radius:18px; padding:0; width:min(1150px,calc(100vw - 32px)); max-height:90dvh; color:#18231b; }.eng-dialog::backdrop { background:#152210a8; }.eng-dialog>header { display:flex; gap:20px; align-items:center; justify-content:space-between; padding:18px 24px; position:sticky; top:0; background:white; border-bottom:1px solid #dbe4d3; z-index:4; }.eng-dialog h2 { margin:0; font-size:22px; }.eng-dialog-body { padding:24px; }.eng-dialog-body>p { line-height:1.6; }.eng-dialog-body .eng-section { padding:18px; }.eng-comment p { white-space:pre-wrap; overflow-wrap:anywhere; }.eng-comment summary { cursor:pointer; color:#476d30; font-size:13px; }
.engineering button:focus-visible,.eng-dialog button:focus-visible,.eng-kpi:focus-visible { outline:3px solid #769f50; outline-offset:3px; }
@media(max-width:1100px){.eng-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.eng-table td{min-width:120px;}}
@media(max-width:650px){.eng-hero,.eng-section{padding:18px;}.eng-kpis,.eng-two,.eng-form,.eng-regions,.eng-allocations{grid-template-columns:1fr;}.eng-tabs{position:static;}.eng-tabs .btn{flex-basis:45%;padding:12px 8px;font-size:13px;}.eng-dialog{width:calc(100vw - 16px);max-height:94dvh;}.eng-dialog>header,.eng-dialog-body{padding:14px;}.eng-dialog h2{font-size:18px;}.eng-dialog>header .btn{padding:10px;}.eng-controls label{width:100%;}.eng-chart{gap:10px;}.eng-wide{grid-column:auto;}.eng-form .btn{width:100%;}}
@media(max-width:650px){.eng-table,.eng-table tbody,.eng-table tr,.eng-table td{display:block;width:100%;min-width:0;}.eng-table thead{display:none;}.eng-table tr{padding:12px;border-bottom:1px solid #d7e2cf;}.eng-table td{padding:8px 0;border:0;overflow-wrap:anywhere;}.eng-table td:before{content:attr(data-label);display:block;font-size:11px;font-weight:700;color:#546749;margin-bottom:4px;}.eng-table .btn{width:100%;}.eng-table-wrap{overflow:hidden;}.eng-comment summary{white-space:normal;}}
