.profit-page{min-width:0}.profit-method-note{font-size:12px;line-height:1.5;padding:10px 12px;border-left:3px solid #8ca5c6;background:#f1f5fb}.profit-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:18px 0 10px}.profit-toolbar label{display:grid;gap:5px;font-size:12px;min-width:120px}.profit-toolbar input,.profit-toolbar select{box-sizing:border-box;max-width:100%;min-height:36px}.profit-search{flex:1;min-width:200px!important}.profit-idle{display:flex;gap:6px;align-items:center;font-size:12px}.profit-idle input{width:auto}.profit-caption{font-size:11px;color:#64748b;line-height:1.5}.profit-alert{font-size:12px;color:#795723;background:#fff5db;padding:8px 10px;border-radius:5px}.profit-alert:empty{display:none}.profit-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0}.profit-kpi{display:grid;gap:6px;background:#f2f5fa;border:1px solid #d4ddea;border-radius:7px;padding:14px}.profit-kpi>span{font-size:12px;font-weight:600}.profit-kpi strong{font-size:25px;font-variant-numeric:tabular-nums}.profit-kpi small{font-size:10px}.profit-tone-profit{color:#226744}.profit-tone-loss{color:#a43d46}.profit-overview{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:14px;margin-bottom:14px}.profit-panel{min-width:0;padding:14px;background:#fff;border:1px solid #d6dee7;border-radius:8px}.profit-panel h2{font-size:16px;margin:0 0 12px}.profit-panel h3{font-size:13px}.profit-panel dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;font-size:12px}.profit-panel dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.profit-panel dt{color:#586a80}.profit-ranking{list-style:none;padding:0;margin:0}.profit-ranking li{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #edf0f4;font-size:13px}.profit-ranking button{border:0;box-shadow:none;background:none;padding:0;color:#354f73;text-decoration:underline;font-weight:650}.profit-ranking strong{white-space:nowrap}.profit-cost-panel{margin-bottom:16px}.profit-cost-bars{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;row-gap:8px;font-size:12px}.profit-cost-bars>div{display:grid;grid-template-columns:125px 1fr auto;gap:10px;align-items:center}.profit-bar{height:8px;border-radius:4px;background:#e9eef5;overflow:hidden}.profit-bar i{height:100%;display:block;background:#6f8aaf}.profit-workbench{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:start}.profit-list-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.profit-table-scroll{overflow:auto;max-height:700px}.profit-detail{position:sticky;top:10px}.profit-detail dd{max-width:145px;overflow-wrap:anywhere}.profit-detail>button{font-size:12px;width:100%}.profit-page .products-pagination{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;align-items:center}.profit-page .products-pagination input{width:55px;box-sizing:border-box}.profit-table-scroll table{width:100%;min-width:880px;border-collapse:collapse}.profit-table-scroll thead th{position:sticky;top:0;z-index:1;background:#edf2f8;color:#405471;font-size:10px}.profit-table-scroll th,.profit-table-scroll td{text-align:right;border-bottom:1px solid #e3e8ef}body #app .profit-table-scroll tbody th,body #app .profit-table-scroll tbody td{padding:5px 7px;font-size:12px;line-height:1.25;white-space:nowrap}.profit-table-scroll th:first-child{text-align:left}body #app .profit-table-scroll tbody button{border:0;background:none;box-shadow:none;padding:0;font-size:12px;font-weight:650;color:#324e73;text-decoration:underline}.profit-table-scroll td small{display:block;font-size:9px;margin-top:2px}body #app .profit-row-profit>*{background:#edf7ef}body #app .profit-row-loss>*{background:#fceff1}body #app .profit-row-incomplete>*,body #app .profit-row-neutral>*{background:#fff8e4}body #app .profit-row-idle>*{background:#f2f4f7}body #app .profit-table-scroll [aria-selected=true]>*{box-shadow:inset 0 1px #7891ae,inset 0 -1px #7891ae}.profit-page .performance-exports svg{width:30px;height:30px}@media(max-width:1200px){.profit-workbench{grid-template-columns:1fr}.profit-detail{position:static}.profit-detail dd{max-width:50vw}}@media(max-width:950px){.profit-overview{grid-template-columns:1fr}.profit-kpis{grid-template-columns:1fr 1fr}.profit-cost-bars{grid-template-columns:1fr}}@media(max-width:550px){.profit-toolbar label{flex:1;min-width:130px}.profit-kpis{gap:7px}.profit-kpi{padding:10px}.profit-kpi strong{font-size:20px}.profit-cost-bars>div{grid-template-columns:105px 1fr auto}.profit-page .performance-heading{align-items:start;flex-direction:column}.profit-list-head{flex-wrap:wrap}}
/* Preserve result colours on every row, including shared table zebra/hover states. */
body #app .profit-table-scroll tbody tr.profit-row-profit > *{background:#edf7ef}
body #app .profit-table-scroll tbody tr.profit-row-loss > *{background:#fceff1}
body #app .profit-table-scroll tbody tr.profit-row-incomplete > *,body #app .profit-table-scroll tbody tr.profit-row-neutral > *{background:#fff8e4}
body #app .profit-table-scroll tbody tr.profit-row-idle > *{background:#f2f4f7}
.profit-tone-risk{color:#795a0a}.profit-row-risk{background:#fff2c5}.profit-row-risk th{border-left:3px solid #d6a52e}
body #app .profit-table-scroll tbody tr.profit-row-risk > *{background:#fff2c5}
body #app .profit-table-scroll tbody tr.profit-row-incomplete > *{background:#edf2f9}
body #app .profit-table-scroll tbody tr.profit-row-neutral > *{background:#f2f4f7}
.profit-idle select{max-width:100%;padding:7px;border:1px solid #c7cbd3;border-radius:5px;background:#fff}
