/* Compact recommendation. Control/sensor internals and mutation contracts are unchanged. */
.device-hmi.valve-device{grid-template-areas:"head head" "control sensors" "automation sensors" "irrigation sensors" "actions actions";grid-template-rows:44px minmax(max-content,1fr) max-content max-content 44px;gap:6px;min-height:min-content;height:calc(100dvh - 138px)}
.recommendation-panel{background:linear-gradient(115deg,#edf6f0,#f8faf8 65%,#f1f6f3);border-color:#d0e1d5;box-shadow:inset 0 1px 0 #ffffffd9;container-type:inline-size;padding:8px 10px}
.recommendation-panel .recommendation-heading{display:flex;justify-content:flex-start;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 6px}
.recommendation-heading h2{white-space:nowrap;margin:0}
.recommendation-heading .status-chip{font-size:9px;padding:3px 5px}
.recommendation-panel button{border-radius:6px;transition:background-color .12s,border-color .12s}
.recommendation-detail-button{margin-left:auto;font-size:10px;min-height:24px;padding:2px 8px;background:#ffffffb3;color:#476553;border-color:#ccdbd0}
.recommendation-detail-button span{margin-left:4px;color:#7b9685}
.recommendation-actions{display:flex;gap:4px;margin-left:auto}
.recommendation-actions button{font-size:10px;min-height:26px;padding:3px 8px;color:#23563f;border-color:#bbd4c5;background:#ffffffb3;white-space:nowrap}
.recommendation-panel button:not(:disabled):hover{background:#e4f0e9;border-color:#8aaf98}
.recommendation-panel button:disabled{opacity:1;color:#819087;border-color:#d6e0d9;background:#f1f5f2;cursor:not-allowed}
.recommendation-row{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;font-size:11px;line-height:1.6;font-variant-numeric:tabular-nums}
.recommendation-row>span,.recommendation-row>strong{min-width:0;overflow-wrap:anywhere}
.recommendation-row strong{font-weight:650;color:#224d3c}
.recommendation-label{color:#677d70;flex:0 0 25px;font-size:10px}
.recommendation-metrics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:12px;align-items:center;font-variant-numeric:tabular-nums}
.recommendation-weight-pair{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0}
.recommendation-weight{min-width:0}.recommendation-weight>span{display:block;font-size:10px;color:#617c6b;line-height:1.4}
.recommendation-weight strong{display:block;font-size:22px;line-height:1.2;letter-spacing:-.035em;color:#245b40;overflow-wrap:anywhere;font-weight:750}
.recommendation-weight small{display:inline;font-size:10px;letter-spacing:0;font-weight:500;color:#6f8879}
.recommendation-arrow{color:#9ab4a3;font-size:18px;font-weight:400}
.recommendation-weight.is-unavailable strong,.recommendation-panel.is-reference .recommendation-weight strong{color:#7b8e81}
.recommendation-forecast{border-left:1px solid #d4e3d9;padding-left:12px;min-width:0;display:grid;gap:4px}
.recommendation-forecast>div{display:flex;align-items:baseline;justify-content:space-between;gap:6px;flex-wrap:wrap;line-height:1.4}
.recommendation-forecast span{font-size:10px;color:#6b7e71;white-space:nowrap}.recommendation-forecast strong{font-size:11px;color:#3c5f49;font-weight:650;overflow-wrap:anywhere}
.recommendation-event{margin-top:6px;padding-top:5px;border-top:1px solid #dce7df}
.recommendation-event .recommendation-row>span:last-child{margin-left:auto}
.recommendation-cycle{font-size:11px;line-height:1.6;font-variant-numeric:tabular-nums}
.recommendation-cycle-top,.recommendation-cycle-bottom{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}
.recommendation-cycle-top{flex-wrap:wrap;row-gap:0}
.recommendation-cycle-origin,.recommendation-cycle-weight{display:flex;align-items:baseline;gap:5px;min-width:0;flex-wrap:wrap}
.recommendation-cycle-origin time{white-space:nowrap;color:#677d70}
.recommendation-split{font-size:10px;line-height:1.4;padding:0 4px;border:1px solid #cadccf;border-radius:4px;color:#476553;white-space:nowrap}
.recommendation-cycle-totals{white-space:nowrap;color:#536d5e}
.recommendation-cycle-weight strong{font-weight:650;color:#224d3c}
.recommendation-cycle-mini{display:flex;gap:7px;color:#6b7e71;font-size:10px;white-space:nowrap}
.recommendation-cycle-table{overflow-x:auto;max-width:100%}
.recommendation-cycle-table table{width:100%;font-size:11px;border-collapse:collapse;white-space:nowrap}
.recommendation-cycle-table caption{text-align:left;color:#677d70}
.recommendation-cycle-table th,.recommendation-cycle-table td{padding:5px 6px;text-align:left;border-bottom:1px solid #dce7df}
@container(max-width:480px){.recommendation-cycle-mini{display:none}}
@container(max-width:600px){.recommendation-cycle-mini.is-wide{display:none}}
@container(max-width:440px){.recommendation-cycle-origin time{display:none}.recommendation-cycle-totals{font-size:10px}}
@media(max-width:840px){.recommendation-cycle{font-size:12px}}
.recommendation-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;flex-wrap:wrap}
.recommendation-learning{font-size:10px;color:#637b6b;line-height:1.4;flex:1;min-width:120px;overflow-wrap:anywhere}
.recommendation-note{font-size:10px;color:#76643f;margin:3px 0;line-height:1.5;overflow-wrap:anywhere}
#detail.recommendation-dialog{width:min(640px,calc(100vw - 28px));max-height:calc(100dvh - 28px)}
.recommendation-dialog .dialog-header{background:#f0f6f2;border-bottom-color:#d7e5db}
.recommendation-detail{font-size:13px;line-height:1.7;overflow-wrap:anywhere;color:#43594b}
.recommendation-detail h3{font-size:13px;color:#305f44;margin:18px 0 8px;padding-bottom:6px;border-bottom:1px solid #e0e9e2}
.recommendation-detail dl{margin:0}.recommendation-detail dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:5px 0}.recommendation-detail dt{color:#708074}.recommendation-detail dd{margin:0;font-variant-numeric:tabular-nums}
.recommendation-detail p,.recommendation-detail ul{margin:8px 0}.recommendation-detail ul{padding-left:18px}
.recommendation-detail .recommendation-detail-intro,.recommendation-detail .recommendation-detail-stamp{font-size:11px;color:#748579}
.recommendation-detail .recommendation-detail-stamp{border-top:1px solid #e0e9e2;padding-top:10px;margin-top:16px}
.recommendation-review{padding:12px;background:#f0f7f3;border:1px solid #c7dfd1;border-radius:8px;margin-bottom:12px;font-size:12px;line-height:1.6}
.recommendation-review strong{display:block}.recommendation-review p{margin:5px 0}
@media(max-width:1050px) and (min-width:841px){.device-hmi.valve-device{height:calc(100dvh - 126px)}}
@container(max-width:400px){.recommendation-metrics{grid-template-columns:1fr;gap:6px}.recommendation-weight-pair{justify-content:space-around}.recommendation-forecast{border-left:0;border-top:1px solid #dce7df;padding:5px 0 0;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px}.recommendation-forecast>div{display:grid;gap:0}}
@media(max-width:840px){.device-hmi.valve-device{grid-template-areas:"head" "control" "sensors" "automation" "irrigation" "actions";grid-template-rows:auto;min-height:0;height:auto}.recommendation-actions button,.recommendation-detail-button{min-height:36px}.recommendation-row{font-size:12px}.recommendation-learning{font-size:11px}}
@media(prefers-reduced-motion:reduce){.recommendation-panel button{transition:none}}
