/* Phase 2E — dashboard layout and rendering only. No changes to Crésus engine/OCR. */
body{background:linear-gradient(155deg,#f8f7f4 0%,#f2eee7 100%)!important;color:#202835!important}
body>header{padding-left:42px!important}
body>header .bname{color:#162437!important;font-size:20px!important}
#dashboard{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
 grid-template-areas:'ocr session' 'recent recent' 'strategies strategies' 'curve curve' 'frequency frequency'!important;
 gap:9px!important;}
#dashboard>.panel{background:#fffefa!important;border-color:#e7ddd0!important;box-shadow:0 3px 12px #392e1a0e!important}
#dashboard .dashboard-recommend{display:none!important}
#dashboard .dashboard-ocr{position:sticky;z-index:4;top:0!important;min-height:66px!important;align-self:stretch}
#dashboard .dashboard-session{display:flex;flex-direction:column;justify-content:center;min-height:66px;padding:7px 10px!important}
#dashboard .dashboard-session>h2{margin-bottom:5px!important}
#sessionMetrics{gap:3px 9px;}
#sessionMetrics .metric label{font-size:9px!important}
#sessionMetrics .metric b{font-size:clamp(13px,1.5vw,18px)!important}
#sessionFoot{font-size:9px!important;margin-top:4px!important;padding-top:4px!important}
#dashboard .dashboard-recent{min-height:90px}
#dashboard .dashboard-strategies{background:linear-gradient(135deg,#fffefd,#fff9f2)!important;padding:10px 11px!important}
#signalCount{display:inline-block;background:#f0f9f3;border:1px solid #bbddc7;color:#137f57!important;border-radius:100px;padding:5px 9px;font-size:11px!important;font-weight:750;white-space:nowrap}
#dashboard #mini{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
#dashboard #mini .mcell{position:relative;display:flex!important;flex-direction:column;align-items:stretch;min-height:210px!important;padding:11px 12px 9px!important;border-radius:12px!important;text-align:left!important;opacity:1!important;filter:none!important;background:#fff!important;border:1px solid #e5ded4!important;box-shadow:0 3px 9px #4d38220a!important;}
#dashboard #mini .mcell.rn{border-left:4px solid #cc3438!important}
#dashboard #mini .mcell.pi{border-left:4px solid #1682cb!important}
#dashboard #mini .mcell.mp{border-left:4px solid #8052c6!important}
#dashboard #mini .mcell.play{background:#fffefb!important;border-color:#cdbd9d!important;box-shadow:0 3px 12px #b58a4c19!important}
#dashboard #mini .strategy-caption{order:0;font-size:12px;letter-spacing:.01em;font-weight:850;color:#263442;min-height:31px;padding-right:83px}
#dashboard #mini .mcell.rn .strategy-caption{color:#bb292f}
#dashboard #mini .mcell.pi .strategy-caption{color:#1475bb}
#dashboard #mini .mcell.mp .strategy-caption{color:#7540b7}
#dashboard #mini .strategy-status{position:absolute;right:9px;top:8px;display:inline-block;border-radius:20px;background:#f2f4f6;color:#627081;padding:5px 8px;font-size:10px;font-weight:750;white-space:nowrap}
#dashboard #mini .strategy-status[data-mode='play']{background:#eaf6ed;color:#127447}
#dashboard #mini .strategy-status[data-mode='await']{background:#fff6e7;color:#936116}
#dashboard #mini .strategy-status[data-mode='ended']{background:#fcefe9;color:#9c4344}
#dashboard #mini .mname{order:1;justify-content:flex-start!important;align-items:center;font-size:23px!important;font-weight:820!important;line-height:1.06!important;letter-spacing:-.035em;padding:0;margin:0;color:#19283b!important;min-height:32px}
#dashboard #mini .mname .w{font-size:inherit!important;color:#19283b!important;background:none!important;box-shadow:none!important;padding:0!important}
#dashboard #mini .mname .sep{font-size:13px!important;color:#7d8995!important}
#dashboard #mini .mscore{order:2;justify-content:flex-start!important;text-align:left!important;font-family:Inter,system-ui,sans-serif!important;font-weight:820!important;font-size:27px!important;color:#17283d!important;margin:4px 0 6px!important;min-height:30px!important;line-height:1.1!important}
#dashboard #mini .mcell:not(.play) .mscore{font-size:21px!important;color:#74818e!important}
#dashboard #mini .par-badge{order:3;margin:0!important;min-height:0}
#dashboard #mini .strategy-extra{order:4;display:grid;grid-template-columns:1fr 1fr;gap:2px 9px;border-top:1px solid #ede9e4!important;border-left:0!important;font-size:10px!important;line-height:1.25!important;margin:2px 0 4px!important;padding:7px 0 0!important;color:#5c6671!important}
#dashboard #mini .strategy-extra div:first-child{grid-column:1/-1;font-weight:750!important;color:#6d6e71!important}
#dashboard #mini .strategy-extra div:nth-child(4){grid-column:1/-1}
#dashboard #mini .strategy-extra div:last-child{font-weight:750!important}
#dashboard #mini .mstrip{order:5;display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:3px;margin:5px 0!important;padding:0!important;min-height:6px}
#dashboard #mini .mdot{height:6px!important;border-radius:3px}
#dashboard #mini .decision-hint{order:6;margin-top:auto;min-height:24px;padding:6px 5px;background:#f5f6f6;border:1px solid #ececea;border-radius:7px;color:#586570;font-size:10px;font-weight:700;text-align:center}
#dashboard #mini .mcell.play .decision-hint{background:#f4eddf;color:#775624;border-color:#e2ca9f}
#dashboard #mini .mcell.rn.play .decision-hint{background:#fceeee;color:#a12a32;border-color:#f2cccc}
#dashboard #mini .mcell.pi.play .decision-hint{background:#eaf5fc;color:#0f669e;border-color:#d2e5f3}
#dashboard #mini .mcell.mp.play .decision-hint{background:#f1eafa;color:#6438a4;border-color:#e1d6f4}
#dashboard .dashboard-curve{display:grid!important;grid-template-rows:auto minmax(0,1fr);height:clamp(204px,23.5dvh,270px);min-height:204px!important;padding:10px 12px 7px!important}
#sessionCurve,#sessionCurve svg{min-height:0!important;height:100%!important;width:100%!important}
#sessionCurve .line{stroke-width:3.2!important;stroke:url(#curveStroke)!important}
#sessionCurve .line-above{stroke:#168c55!important;}
#sessionCurve .line-below{stroke:#c54248!important;}
#sessionCurve svg{overflow:hidden!important}
#dashboard .dashboard-frequency{padding:10px 11px!important}
#frequencyGrid{display:grid!important;grid-template-columns:minmax(48px,1fr) repeat(12,minmax(0,1fr))!important;grid-template-rows:repeat(3,32px)!important;gap:3px!important;margin-top:7px!important}
#frequencyGrid .freq{min-width:0!important;min-height:0!important;height:32px!important;font-size:12px!important;padding:2px 0!important;border-radius:5px!important}
#frequencyGrid .freq small{font-size:8px!important;line-height:1.1!important}
#frequencyGrid .freq.green{font-size:20px!important;display:flex;align-items:center;justify-content:center;flex-direction:column}
#frequencyGrid .freq.green small{font-size:10px!important}
#frequencyGrid .freq .level{display:none!important}
#manualActions{margin-top:6px!important}
#manualActions .plain{min-height:31px!important}
#dashboard #detectBar {grid-template-columns:minmax(110px,1fr) auto!important}
@media(max-width:760px){#dashboard{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:'ocr' 'session' 'recent' 'strategies' 'curve' 'frequency'!important}
 #dashboard #mini .mcell{min-height:192px!important;padding:8px 7px!important}
 #dashboard #mini .strategy-caption{font-size:10px!important;padding-right:0;min-height:21px;margin-bottom:18px}
 #dashboard #mini .strategy-status{top:29px;right:5px;padding:3px 5px;font-size:9px}
 #dashboard #mini .mname{font-size:clamp(13px,2.5vw,21px)!important;min-height:25px}
 #dashboard #mini .mscore{font-size:clamp(18px,3.4vw,25px)!important}
 #dashboard #mini .strategy-extra{grid-template-columns:1fr;font-size:9px!important}
 #dashboard #mini .strategy-extra div:nth-child(n){grid-column:auto}
 #dashboard #mini .decision-hint{font-size:9px}
 #dashboard #detectBar{grid-template-columns:minmax(120px,1fr) auto!important}}
@media(max-width:540px){body>header{padding-left:37px!important}#dashboard #mini{gap:4px!important}#dashboard #mini .mcell{padding:6px 5px!important;min-height:198px!important}#dashboard #mini .strategy-caption{font-size:9px!important}#dashboard #mini .mname{font-size:13px!important}#dashboard #mini .mscore{font-size:17px!important}#dashboard #mini .strategy-extra{font-size:8px!important}#frequencyGrid{grid-template-columns:minmax(36px,1.2fr) repeat(12,minmax(0,1fr))!important;gap:2px!important}#frequencyGrid .freq{font-size:10px!important}#frequencyGrid .freq small{font-size:7px!important}#dashboard #detectBar{grid-template-columns:1fr!important}}

/* End-of-session banner compact: keep existing controls unchanged. */
#goalBanner{min-height:50px!important;padding:6px 10px!important;margin:3px 0 8px!important;gap:8px;align-items:center!important}
#goalBanner .banner-main{gap:8px!important;align-items:center!important}
#goalBanner .banner-act{display:flex!important;gap:6px!important;flex-wrap:wrap}
#goalBanner .banner-act button{min-height:37px!important}
