.by{--blue:#075efa;--ink:#091c59;--muted:#627bb4;--line:#e5edfa;display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,34%);max-width:1800px;min-height:calc(100vh - 64px);margin:auto;color:var(--ink);font-size:11px}.by:has(.by-detail[hidden]){display:block}.by *{box-sizing:border-box}.by button,.by input,.by select{font:inherit}.by button{cursor:pointer}.by a{color:var(--blue)}.by-main{padding:15px 12px 28px;min-width:0}.by-crumb{display:flex;gap:9px;color:#6780b5;margin:0 0 10px}.by-crumb a{text-decoration:none}.by-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.by-heading h1{font-size:25px;margin:0 0 5px}.by-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.by-heading-actions{display:flex;gap:7px;align-items:center;flex-shrink:0}.by-heading-actions label{border:1px solid #dce7f8;border-radius:5px;height:34px;display:flex;align-items:center;padding-left:9px;gap:7px;color:#5871ab}.by-heading-actions select{border:0;background:#fff;color:#183f8d;height:30px;max-width:85px}.by-btn{background:#fff;border:1px solid #d5e3f9;color:#1157c4;border-radius:5px;padding:7px 10px;white-space:nowrap}.by-btn:hover{background:#f1f7ff}.by-btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.by-btn:disabled{opacity:.5;cursor:not-allowed}.by-card{background:#fff;border:1px solid #e9eff9;border-radius:6px;box-shadow:0 1px 5px #112c6007}.by-tabs{display:flex;gap:5px;overflow:auto;background:#fff;border-radius:5px;border-bottom:1px solid var(--line);margin-bottom:9px}.by-tabs button{border:0;border-bottom:2px solid transparent;background:none;color:#4568a7;padding:10px 12px;white-space:nowrap}.by-tabs button.active{color:var(--blue);border-color:var(--blue);font-weight:600}.by-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.by-kpi{border:1px solid #eaf0fa;background:#fff;border-radius:6px;padding:11px;min-height:92px;display:flex;gap:8px}.by-kpi-icon{height:34px;width:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:5px;color:#0867eb;background:#e7f0ff;font-size:19px}.by-kpi.green .by-kpi-icon{color:#00a369;background:#e1faed}.by-kpi small{display:block;color:#617bb2;font-size:10px}.by-kpi strong{display:block;font-size:20px;margin:6px 0}.by-kpi span{color:#657cb0;font-size:10px;line-height:1.4}.by-formula{display:grid;grid-template-columns:repeat(7,auto);justify-content:space-around;align-items:center;gap:3px;background:#edf4ff;border:1px solid #e3edfc;border-radius:6px;margin:8px 0;padding:12px 5px;text-align:center}.by-formula strong{font-size:16px}.by-formula small{display:block;color:#617bb4;font-weight:400;font-size:10px}.by-formula em{font-size:17px;font-weight:700;font-style:normal;color:#21447f}.by-charts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.by-charts>.by-card{padding:12px;min-height:174px}.by-card h2{font-size:11px;margin:0 0 12px}.by-chart-empty{color:#7184af;line-height:1.5;padding:25px 0;text-align:center}.by-bars{display:flex;align-items:flex-end;justify-content:space-around;gap:8px;height:110px;border-bottom:1px solid #e5edf9;padding:0 6px}.by-bars div{height:100%;flex:1;display:flex;gap:2px;align-items:flex-end;justify-content:center}.by-bars i{display:block;width:25%;max-width:24px;border-radius:3px 3px 0 0}.by-bars i:nth-child(1){background:#2881f8}.by-bars i:nth-child(2){background:#12b680}.by-bars i:nth-child(3){background:#ffb722}.by-chart-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px;color:#6580b2;font-size:9px}.by-ring-row{display:flex;gap:15px;align-items:center}.by-ring{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;flex:0 0 104px}.by-ring>span{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:18px;font-weight:700;text-align:center}.by-ring small{display:block;font-size:9px;color:#7083ad;font-weight:400}.by-ring-legend{flex:1}.by-ring-legend div{display:flex;justify-content:space-between;gap:4px;margin:6px 0;color:#5875ae;font-size:10px}.by-widgets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0}.by-widgets>.by-card{min-height:160px;padding:11px}.by-mini{width:100%;border-collapse:collapse;font-size:9px}.by-mini th,.by-mini td{padding:6px 3px;border-bottom:1px solid #ebf0f9;text-align:left}.by-mini th{color:#7085b0;font-weight:500}.by-negative{color:#ed3151}.by-empty{color:#7185b0;line-height:1.5;padding:15px 0}.by-section{padding:13px;margin:9px 0}.by-card-head{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:11px 12px}.by-card-head h2{margin:0}.by-card-head>div{display:flex;gap:5px}.by-section .by-card-head{padding:0 0 10px}.by-recs{overflow:hidden}.by-filters{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:0 12px 9px}.by-filters select{border:1px solid #dce8fa;border-radius:4px;background:#fff;color:#284d95;padding:0 5px;height:30px;min-width:0;max-width:130px}.by-search{height:30px;min-width:155px;flex:1;display:flex;gap:5px;align-items:center;background:#f7faff;color:#5c79b4;border:1px solid #dce8fa;border-radius:4px;padding:0 7px;font-size:16px}.by-search input{width:100%;min-width:0;border:0;background:transparent;outline:0;color:#1e428c;font-size:10px}.by-link{border:0;background:none;color:var(--blue)}.by-table-wrap{overflow:auto;min-height:280px}.by-table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:10px}.by-table th{font-weight:500;text-align:left;background:#f7faff;color:#7185b1;padding:8px 6px}.by-table td{padding:8px 6px;border-top:1px solid #eaf0f9;color:#1e3d7e}.by-table tbody tr{cursor:pointer}.by-table tbody tr:hover,.by-table tbody tr.selected{background:#eaf3ff}.by-table input[type=checkbox]{accent-color:var(--blue);margin:0;width:14px;height:14px}.by-table .by-no-rows{text-align:center;height:190px;color:#6c83b2;white-space:normal}.by-pager{height:43px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 10px;color:#637db0;font-size:10px}.by-pager>div{display:flex;align-items:center;gap:4px}.by-pager button,.by-pager select{min-width:27px;height:27px;border:1px solid #dce8fa;background:#fff;color:#2456a9;border-radius:4px}.by-pager button.active{background:var(--blue);border-color:var(--blue);color:#fff}.by-list-table{width:100%;border-collapse:collapse;font-size:10px}.by-list-table th,.by-list-table td{border-bottom:1px solid #eaf0f8;padding:8px 5px;text-align:left}.by-list-table th{color:#7187b4;font-weight:500}.by-badge{display:inline-block;background:#e7f0ff;color:#1763c4;border-radius:4px;padding:4px 6px;font-size:9px}.by-badge.draft{background:#edf1f9;color:#6f84ad}.by-badge.complete,.by-badge.approved{background:#def8eb;color:#009d68}
.by-detail{border-left:1px solid #e3ebf8;background:#fff;min-width:0;padding:15px;overflow:auto;max-height:calc(100vh - 64px);position:sticky;top:64px}.by-detail-head{display:flex;justify-content:space-between;gap:7px}.by-detail-head h2{margin:0 0 4px;font-size:16px}.by-detail-head small{color:#6880b3}.by-detail-head button{border:0;background:none;color:#6980ac;font-size:23px}.by-detail-tabs{display:flex;overflow:auto;gap:2px;margin:18px -15px 7px;padding:0 8px;border-bottom:1px solid var(--line)}.by-detail-tabs button{border:0;border-bottom:2px solid transparent;background:none;color:#4b6aa8;white-space:nowrap;padding:9px 8px;font-size:10px}.by-detail-tabs button.active{border-color:var(--blue);color:var(--blue)}.by-detail-card{padding:12px 0;border-bottom:1px solid var(--line)}.by-detail-card h3{font-size:12px;margin:0 0 12px}.by-dl{display:grid;grid-template-columns:42% 58%;gap:9px 4px;margin:0;font-size:10px}.by-dl dt{color:#637cae}.by-dl dd{margin:0;color:#173674;overflow-wrap:anywhere}.by-planning{width:100%;border-collapse:collapse;font-size:10px}.by-planning td{padding:8px 7px;border-bottom:1px solid #e9eff9}.by-planning td:last-child{text-align:right;font-weight:600}.by-planning tr:last-child{background:#eaf3ff;color:#075ed9}.by-detail label{display:grid;gap:5px;margin:9px 0;color:#5e79af}.by-detail input,.by-detail select{height:31px;border:1px solid #d9e7fa;border-radius:4px;padding:0 6px;background:#fff;color:#1b3c7d;min-width:0}.by-detail-action{width:100%;margin:10px 0}.by-detail-note{color:#667eac;line-height:1.5}.by-info{background:#fff8e9;border:1px solid #ffe4b5;padding:11px;border-radius:5px;color:#7b6238;line-height:1.45;margin-top:12px}
.by-dialog{width:min(500px,calc(100vw - 24px));border:1px solid #d8e5f7;border-radius:8px;padding:0;color:var(--ink);box-shadow:0 18px 60px #0a23504c;font-size:12px}.by-dialog::backdrop{background:#0a265380}.by-dialog form{padding:18px}.by-dialog-head{display:flex;justify-content:space-between;gap:9px}.by-dialog-head h2{margin:0;font-size:18px}.by-dialog-head button{border:0;background:none;color:#6781ac;font-size:22px}.by-dialog p{color:#647cab;line-height:1.45}.by-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.by-dialog label{display:grid;gap:5px;margin:8px 0;font-weight:600}.by-dialog input,.by-dialog select{height:34px;border:1px solid #d5e3f8;border-radius:4px;padding:0 8px;min-width:0;color:#1d3e81}.by-form-note{min-height:18px}.by-form-note.error{color:#d52b49}.by-dialog-actions{display:flex;gap:7px;justify-content:flex-end;margin-top:12px}
@media(max-width:1450px){.by{grid-template-columns:minmax(0,1fr) minmax(350px,38%)}.by-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.by-charts{grid-template-columns:1fr}.by-widgets{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){.by{display:block}.by-detail{position:fixed;z-index:30;top:64px;right:0;width:min(480px,100vw);height:calc(100vh - 64px);box-shadow:-10px 0 28px #102c5a25}.by-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.by-charts{grid-template-columns:1fr 1fr}.by-widgets{grid-template-columns:repeat(3,minmax(0,1fr))}}
.by:has(.by-detail[hidden]) .by-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.by:has(.by-detail[hidden]) .by-charts{grid-template-columns:1fr 1fr}.by:has(.by-detail[hidden]) .by-widgets{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.by-heading{flex-direction:column;align-items:flex-start}.by-kpis,.by:has(.by-detail[hidden]) .by-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.by-charts,.by:has(.by-detail[hidden]) .by-charts,.by-widgets,.by:has(.by-detail[hidden]) .by-widgets{grid-template-columns:1fr}.by-formula{grid-template-columns:repeat(4,auto)}.by-filters select{flex:1;max-width:none}.by-detail{width:100vw}.by-pager{height:auto;padding:8px;flex-wrap:wrap}.by-form-grid{grid-template-columns:1fr}}
@media(min-width:1051px){.by{grid-template-columns:minmax(0,1fr) 380px}}
.by:not(.by-has-detail){display:block}
.by:not(.by-has-detail) #by-overview,.by:not(.by-has-detail) .by-kpis{width:100%}
@media(min-width:761px){#reference-content #by-kpis{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:7px !important}}
@media(max-width:760px){#reference-content #by-kpis{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:7px !important}}
@media(min-width:761px) and (max-width:1050px){.by-detail{width:min(380px,100vw)}}
.by-section-note{margin:0;color:#6a81ad;font-size:10px;line-height:1.45}.by-history-planning{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.by-history-planning h3{font-size:12px;margin:0 0 10px}.by-table-scroll{overflow:auto}.by-list-table{min-width:760px}.by-actions{display:flex;gap:4px;flex-wrap:wrap}.by-actions .by-btn{padding:5px 7px;font-size:9px}.by-btn.danger{color:#d52b49;border-color:#f1c4cd}.by-btn.danger:hover{background:#fff0f2}.row-sub{display:block;color:#7187b4;font-size:9px;margin-top:3px}
.by-formula{display:block}.by-formula-note{margin:0 0 9px;color:#617bb2;font-size:10px;line-height:1.45}.by-formula-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.by-formula-values span{display:block}.by-formula-values strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.by-formula-values small{display:block;color:#617bb4;font-size:10px}
.by-source-state{margin:12px 0;padding:10px 12px;border:1px solid #cfe0fb;border-radius:8px;background:#f4f8ff;color:#36527a}.by-source-state.error{border-color:#f0b8b8;background:#fff5f5;color:#a32626}.by-source-state button{margin-left:8px;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}
