/* ============================================================
   Villa Plumbing Field Portal — My Day Source Intelligence
   Build marker: My Day Source Intelligence May 6 (round-8)

   Adds visual chrome for:
     • The "Review source" primary box at the top of the guided
       resolution window.
     • The Lily context detail block (fields + confidence chip).
     • The real Request More Info modal (above guided overlay).
     • The Project RFI Center drawer (above PlanHub / project
       modal / guided overlay).

   Visual identity: Villa teal/navy + Barlow.  No emoji unless
   already part of the parent build.
   ============================================================ */

/* ---------- Z-INDEX / OVERLAY STACK POLICY ----------
   Guided overlay (myday_guided_resolution.css) sits at z-index
   ~9000.  Source/child overlays must always sit ABOVE it.  Native
   portal overlays (.vs-overlay = 260, .moverlay = 200) live way
   below 9000, so when a child source opens we demote the guided
   overlay BELOW the native overlays — otherwise the user sees the
   guided overlay still on top of vScheduler / Accounting / project
   modal and reports "Open Source did nothing".
     vs-overlay (Accounting Hub, Lily Doc Studio, etc.)  260
     moverlay   (project modal)                          200
     guided overlay                                     9000
     guided "behind" mode                                190 (demoted)
     project RFI drawer                                10000
     request-info modal                                11000
     toast on top                                      11500
*/

/* Demote the guided overlay when a child source opens above it.
   Round-9: dropped below .vs-overlay (260) and .moverlay (200) so
   the source view actually paints in front, instead of being
   covered by the guided overlay. */
.mgr-overlay-behind,
.mgr-overlay[data-mgr-behind="1"]{
  z-index:190 !important;
  filter:brightness(.85) saturate(.9);
}

/* ---------- "Review source" box (top of guided window) ---------- */
.mgr-review-source{
  background:linear-gradient(180deg,#fff,#f4faf9 90%);
  border:2px solid var(--teal);
  border-radius:14px;
  padding:14px 18px;
  margin-bottom:14px;
  box-shadow:0 6px 18px rgba(20,19,16,.06);
}
.mgr-review-source.rs-fallback{
  border-color:#c8860a;
  background:linear-gradient(180deg,#fff,#fff7eb 90%);
}
.mgr-review-source .rs-header{
  display:flex;align-items:center;gap:10px;
  margin-bottom:10px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:14px;font-weight:700;
  text-transform:uppercase;
  letter-spacing:.6px;
  color:var(--teal-dk);
}
.mgr-review-source.rs-fallback .rs-header{color:#7a5b00}
.mgr-review-source .rs-ic{font-size:18px}
.mgr-review-source .rs-title{flex:1}
.mgr-review-source .rs-conf{
  background:var(--teal);
  color:#fff;
  padding:3px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.mgr-review-source .rs-conf-low{background:#c8860a}
.mgr-review-source .rs-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:8px 18px;
  margin-bottom:8px;
}
.mgr-review-source .rs-cell .l{
  font-size:10.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;
  color:var(--tx-lt);
}
.mgr-review-source .rs-cell .v{
  font-family:'Barlow Condensed',sans-serif;
  font-size:16px;font-weight:700;
  color:var(--navy);
}
.mgr-review-source .rs-explain{
  font-size:13px;color:var(--tx);
  margin-bottom:10px;
  line-height:1.45;
}
.mgr-review-source .rs-actions{display:flex;gap:8px}
.mgr-review-source .rs-btn{
  background:var(--teal);
  color:#fff;
  border:none;
  border-radius:10px;
  padding:10px 18px;
  font-family:'Barlow',sans-serif;
  font-size:14px;font-weight:700;
  cursor:pointer;
  min-height:44px;
}
.mgr-review-source .rs-btn:hover{background:var(--teal-dk)}
.mgr-review-source.rs-fallback .rs-btn{background:#c8860a}
.mgr-review-source.rs-fallback .rs-btn:hover{background:#7a5b00}

/* ---------- Lily context detail block ---------- */
.mgr-lily-context{
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed var(--bd);
  font-size:13px;line-height:1.55;color:var(--tx);
}
.mgr-lily-context .lc-row{margin-bottom:6px}
.mgr-lily-context .lc-conf{
  display:inline-block;
  padding:2px 8px;border-radius:999px;
  background:#e6f4f1;color:var(--teal-dk);
  font-weight:700;font-size:11.5px;
  text-transform:uppercase;letter-spacing:.4px;
  margin-left:4px;
}
.mgr-lily-context .lc-conf-high{background:#d2efe7;color:#0a564a}
.mgr-lily-context .lc-conf-medium{background:#fff5d6;color:#7a5b00}
.mgr-lily-context .lc-conf-low{background:#ffe6e1;color:var(--coral)}
.mgr-lily-context .lc-needs-human{
  display:inline-block;
  background:var(--coral);color:#fff;
  padding:2px 8px;border-radius:999px;
  font-size:11px;font-weight:700;
  margin-left:6px;
  text-transform:uppercase;letter-spacing:.4px;
}
.mgr-lily-context .lc-fields{
  display:grid;
  grid-template-columns:max-content 1fr;
  gap:4px 12px;
  margin:6px 0;
  padding:8px 10px;
  background:#f7faf9;
  border:1px solid var(--bd-lt);
  border-radius:8px;
}
.mgr-lily-context .lc-fields dt{
  font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.3px;
  color:var(--tx-lt);
  align-self:start;
}
.mgr-lily-context .lc-fields dd{
  margin:0;
  color:var(--navy);
  font-size:13px;font-weight:600;
}
.mgr-lily-context .lc-missing{
  background:#fff7eb;
  border-left:3px solid var(--amber);
  padding:6px 10px;border-radius:8px;
  margin-top:6px;
}
.mgr-lily-context .lc-rec{
  background:#eef9f6;
  border-left:3px solid var(--teal);
  padding:6px 10px;border-radius:8px;
  margin-top:6px;
}
.mgr-lily-context .lc-role{
  background:#fff;
  border:1px solid var(--bd);
  padding:8px 12px;border-radius:8px;
  margin-top:8px;
  font-size:12.5px;
  color:var(--tx);
}

/* ---------- Request More Info modal ----------
   The element carries both `.mgr-info-overlay` (legacy/test class) and
   `.msi-info-modal` (the QA-stable alias for live Playwright probes).
   Either selector lights up the same modal. */
.mgr-info-overlay,
.msi-info-modal{
  position:fixed;inset:0;
  background:rgba(20,19,16,.62);
  backdrop-filter:blur(2px);
  display:none;
  align-items:flex-start;
  justify-content:center;
  z-index:11000;
  padding:48px 16px;
  overflow-y:auto;
}
.mgr-info-overlay.show,
.msi-info-modal.show{display:flex}
.mgr-info-panel,
.msi-info-panel{
  background:var(--white);
  width:520px;max-width:96vw;
  border-radius:16px;
  box-shadow:0 32px 80px rgba(0,0,0,.36);
  font-family:'Barlow',sans-serif;
  overflow:hidden;
}
.mgr-info-bar{
  display:flex;align-items:center;gap:12px;
  padding:14px 18px;
  background:var(--navy);
  color:#fff;
}
.mgr-info-bar h3{
  flex:1;margin:0;
  font-family:'Barlow Condensed',sans-serif;
  font-size:17px;font-weight:700;
  letter-spacing:.4px;
}
.mgr-info-bar .mgr-info-close{
  background:rgba(255,255,255,.10);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:8px 14px;
  font-size:13px;font-weight:600;
  min-height:40px;
  cursor:pointer;
}
.mgr-info-form{
  padding:18px;
  display:flex;flex-direction:column;gap:14px;
}
.mgr-info-row{display:flex;flex-direction:column;gap:6px}
.mgr-info-l{
  font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;
  color:var(--tx-lt);
}
.mgr-info-input{
  border:1.5px solid var(--bd);
  border-radius:8px;
  padding:9px 12px;
  font:inherit;
  font-size:14px;
  color:var(--tx);
  background:#fff;
  min-height:42px;
}
.mgr-info-input:focus{
  outline:none;
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(20,150,140,.18);
}
.mgr-info-fieldset{
  border:1px solid var(--bd);
  border-radius:10px;
  padding:10px 14px;
}
.mgr-info-fieldset legend{
  font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;
  color:var(--tx-lt);
  padding:0 6px;
}
.mgr-info-check{
  display:flex;align-items:center;gap:8px;
  font-size:14px;color:var(--tx);
  padding:4px 0;
  cursor:pointer;
}
.mgr-info-check input{
  width:18px;height:18px;
  accent-color:var(--teal);
}
.mgr-info-other{margin-top:4px}
.mgr-info-actions{
  display:flex;gap:10px;justify-content:flex-end;
}
.mgr-info-cancel,
.mgr-info-submit{
  font-family:'Barlow',sans-serif;
  font-size:14px;font-weight:700;
  border-radius:10px;
  padding:10px 18px;
  min-height:44px;
  cursor:pointer;
  border:1.5px solid transparent;
}
.mgr-info-cancel{
  background:#fff;
  color:var(--navy);
  border-color:var(--bd);
}
.mgr-info-cancel:hover{border-color:var(--navy);background:#eef4f3}
.mgr-info-submit{
  background:var(--teal);
  color:#fff;
  border-color:var(--teal);
}
.mgr-info-submit:hover{background:var(--teal-dk)}
.mgr-info-confirm{
  padding:18px;
  background:#eef9f6;
  border-top:1px solid var(--bd-lt);
}
.mgr-info-confirm-inner{
  font-size:14px;color:var(--navy);
  line-height:1.5;
}

/* Mobile */
@media (max-width:720px){
  .mgr-info-overlay,
  .msi-reminder-modal{padding:0;align-items:stretch}
  .mgr-info-panel,
  .msi-reminder-panel{
    width:100vw;max-width:100vw;
    height:100vh;border-radius:0;
    display:flex;flex-direction:column;
  }
  .mgr-info-form{flex:1;overflow-y:auto}
}

/* ---------- Reminder Source modal (round-10) ----------
   Reuses .mgr-info-overlay/panel chrome; adds value formatting and
   resolution-action row sized for the reminder use case. */
.msi-reminder-panel .msi-reminder-value{
  font-size:14px;line-height:1.5;color:var(--navy);
  background:#f7faf9;
  border:1px solid var(--bd-lt);
  border-radius:8px;
  padding:8px 12px;
}
.msi-reminder-actions{
  display:flex;gap:10px;flex-wrap:wrap;
  justify-content:flex-end;
  padding-top:6px;
  border-top:1px solid var(--bd-lt);
  margin-top:6px;
}
.msi-reminder-actions .btn{
  font-family:'Barlow',sans-serif;
  font-size:14px;font-weight:700;
  border-radius:10px;
  padding:10px 18px;
  min-height:44px;
  cursor:pointer;
  background:var(--teal);
  color:#fff;
  border:1.5px solid var(--teal);
}
.msi-reminder-actions .btn:hover{background:var(--teal-dk);border-color:var(--teal-dk)}
.msi-reminder-actions .btn-o{
  background:#fff;
  color:var(--navy);
  border-color:var(--bd);
}
.msi-reminder-actions .btn-o:hover{border-color:var(--navy);background:#eef4f3}

/* ---------- Source-fallback modal (round-11) ----------
   When openExactSource cannot find a real destination (project not in
   live list, hub not loaded), this modal paints in front of the
   demoted guided overlay AND in front of the (closed) My Day shell
   so the button is never silently dead.  Uses the same z-index 11000
   as the info modal. */
.msi-source-fallback-panel .mgr-info-bar{
  background:linear-gradient(135deg,#7a5b00,#c8860a);
}
.msi-source-fallback-actions{
  display:flex;gap:10px;flex-wrap:wrap;
  justify-content:flex-end;
  padding-top:6px;
  border-top:1px solid var(--bd-lt);
  margin-top:6px;
}
.msi-source-fallback-actions .btn{
  font-family:'Barlow',sans-serif;
  font-size:14px;font-weight:700;
  border-radius:10px;
  padding:10px 18px;
  min-height:44px;
  cursor:pointer;
  background:var(--teal);
  color:#fff;
  border:1.5px solid var(--teal);
}
.msi-source-fallback-actions .btn:hover{background:var(--teal-dk);border-color:var(--teal-dk)}
.msi-source-fallback-actions .btn-o{
  background:#fff;
  color:var(--navy);
  border-color:var(--bd);
}
.msi-source-fallback-actions .btn-o:hover{border-color:var(--navy);background:#eef4f3}

/* ---------- Project RFI Center (drawer overlay) ---------- */
.vrfi-overlay{
  position:fixed;inset:0;
  background:rgba(20,19,16,.55);
  backdrop-filter:blur(2px);
  display:none;
  align-items:flex-start;
  justify-content:flex-end;
  z-index:10000;
  padding:0;
  overflow:hidden;
}
.vrfi-overlay.show{display:flex}
.vrfi-panel{
  background:var(--white);
  width:min(720px,96vw);
  height:100vh;
  border-left:1px solid var(--bd);
  box-shadow:-32px 0 80px rgba(0,0,0,.32);
  display:flex;flex-direction:column;
  overflow:hidden;
  font-family:'Barlow',sans-serif;
}
.vrfi-bar{
  display:flex;align-items:center;gap:12px;
  padding:14px 18px;
  background:var(--navy);
  color:#fff;
  flex:0 0 auto;
}
.vrfi-bar h3{
  flex:1;margin:0;
  font-family:'Barlow Condensed',sans-serif;
  font-size:17px;font-weight:700;
  letter-spacing:.4px;
}
.vrfi-bar .vrfi-back,
.vrfi-bar .vrfi-close{
  background:rgba(255,255,255,.10);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:8px 14px;
  font-size:13px;font-weight:600;
  min-height:40px;
  cursor:pointer;
}
.vrfi-bar .vrfi-close{background:rgba(255,255,255,.06)}
.vrfi-body{
  flex:1 1 auto;
  overflow-y:auto;overflow-x:hidden;
  padding:18px 20px;
  background:#f7faf9;
}
.vrfi-empty{
  text-align:center;color:var(--tx-lt);
  padding:40px 20px;
}
.vrfi-table{
  width:100%;
  background:#fff;
  border:1px solid var(--bd);
  border-radius:12px;
  border-collapse:separate;
  border-spacing:0;
  font-size:13px;
}
.vrfi-table th,
.vrfi-table td{
  padding:10px 12px;
  text-align:left;
  border-bottom:1px solid var(--bd-lt);
  vertical-align:top;
}
.vrfi-table th{
  background:#f4faf9;
  color:var(--teal-dk);
  font-size:11.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.vrfi-table tr:last-child td{border-bottom:none}
.vrfi-pill{
  display:inline-block;
  padding:2px 10px;
  border-radius:999px;
  font-size:11px;font-weight:700;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.vrfi-status-open{background:#d2efe7;color:#0a564a}
.vrfi-status-overdue{background:#ffe6e1;color:var(--coral)}
.vrfi-status-closed{background:#eef0f3;color:var(--tx-lt)}
.vrfi-muted{color:var(--tx-lt);font-style:italic}
.vrfi-open-btn{
  background:var(--teal);color:#fff;
  border:none;border-radius:8px;
  padding:6px 14px;
  font-size:12.5px;font-weight:700;
  min-height:36px;cursor:pointer;
}
.vrfi-open-btn:hover{background:var(--teal-dk)}
.vrfi-detail-card{
  background:#fff;
  border:1px solid var(--bd);
  border-radius:12px;
  padding:14px 18px;margin-bottom:14px;
}
.vrfi-detail-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px 18px;
}
.vrfi-cell .l{
  font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.4px;
  color:var(--tx-lt);
}
.vrfi-cell .v{
  font-family:'Barlow Condensed',sans-serif;
  font-size:16px;font-weight:700;
  color:var(--navy);
}
.vrfi-section{
  background:#fff;
  border:1px solid var(--bd);
  border-radius:12px;
  padding:14px 18px;margin-bottom:12px;
}
.vrfi-section h4{
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px;font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;
  color:var(--teal-dk);
  margin:0 0 6px;
}
.vrfi-section p{
  margin:0;font-size:14px;line-height:1.55;color:var(--tx);
}
.vrfi-impact{border-left:4px solid var(--coral);background:#fff5f3}
.vrfi-attached{display:flex;flex-wrap:wrap;gap:8px}
.vrfi-att{
  background:#eef4f3;
  border:1px solid var(--bd);
  border-radius:8px;
  padding:5px 10px;
  font-size:12.5px;
}
.vrfi-missing{
  background:#fff7eb;
  border-left:4px solid var(--amber);
  border-radius:8px;
  padding:10px 14px;
  margin:8px 0;
  font-size:13.5px;color:var(--tx);
}
.vrfi-actions{
  display:flex;flex-wrap:wrap;gap:10px;
  margin-top:10px;
}
.vrfi-btn{
  background:#fff;
  color:var(--navy);
  border:1.5px solid var(--bd);
  border-radius:10px;
  padding:10px 18px;
  font-size:14px;font-weight:700;
  cursor:pointer;min-height:44px;
}
.vrfi-btn:hover{border-color:var(--teal);background:var(--teal-lt);color:var(--teal-dk)}
.vrfi-btn-sheet{background:var(--teal);color:#fff;border-color:var(--teal)}
.vrfi-btn-sheet:hover{background:var(--teal-dk);color:#fff}
.vrfi-btn-info{background:#fff;color:#7a5b00;border-color:var(--amber)}
.vrfi-btn-info:hover{background:#fff5d6;color:#7a5b00;border-color:#c8860a}

/* Project RFI pills (project modal + PlanHub) */
.vrfi-project-pill,
.vrfi-planhub-pill{
  background:#fff;
  border:1.5px solid var(--teal);
  color:var(--teal-dk);
  border-radius:999px;
  padding:6px 14px;
  font-size:13px;font-weight:700;
  cursor:pointer;
  margin-left:8px;
  min-height:36px;
}
.vrfi-project-pill:hover,
.vrfi-planhub-pill:hover{background:var(--teal-lt)}

/* Toast */
.vrfi-toast{
  position:fixed;left:50%;bottom:24px;
  transform:translateX(-50%);
  background:var(--navy);color:#fff;
  padding:10px 18px;border-radius:999px;
  font-size:13px;font-weight:600;
  box-shadow:0 16px 40px rgba(0,0,0,.32);
  z-index:11500;
}

/* Mobile */
@media (max-width:720px){
  .vrfi-overlay{align-items:stretch}
  .vrfi-panel{
    width:100vw;max-width:100vw;
    border-left:none;
  }
  .vrfi-table th, .vrfi-table td{padding:8px 6px;font-size:12px}
  .vrfi-actions{flex-direction:column;align-items:stretch}
  .vrfi-actions .vrfi-btn{width:100%;justify-content:center}
}

/* Prevent background scroll when child overlay open */
body[data-vrfi-open="1"]{overflow:hidden!important}
body[data-mgr-info-open="1"],
body[data-msi-info-open="1"]{overflow:hidden!important}

/* ---------- Round-12: Dockable / minimizable guided overlay ----------
   When the user opens a source from inside the guided window, we no
   longer hide the guided overlay behind the source.  Instead we
   re-style it as a non-blocking right-side dock so the source is
   fully clickable next to it.  The user can minimize the dock to a
   small chip, restore it to the dock, or expand back to full overlay.

   The mgr-overlay-behind class (round-8 demote) is now legacy — it
   only applies when no dock state is set, e.g. for back-compat with
   tests that check that exact attribute.
*/

/* DOCKED — right-side panel; no backdrop; pointer events only on the
   panel itself so clicks pass through to the source view behind. */
.mgr-overlay.mgr-overlay-docked{
  background:transparent !important;
  backdrop-filter:none !important;
  pointer-events:none !important;
  z-index:11500 !important; /* above .vs-overlay (260), .moverlay (200), .mds-modal (11200) */
  padding:0 !important;
  align-items:stretch !important;
  justify-content:flex-end !important;
  overflow:visible !important;
}
.mgr-overlay.mgr-overlay-docked .mgr-panel{
  pointer-events:auto !important;
  width:380px !important;
  max-width:38vw !important;
  height:calc(100vh - 32px) !important;
  max-height:calc(100vh - 32px) !important;
  min-height:0 !important;
  margin:16px 16px 16px 0 !important;
  border-radius:14px !important;
  box-shadow:-12px 0 36px rgba(20,19,16,.28) !important;
  /* Keep internal scroll for long content */
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
.mgr-overlay.mgr-overlay-docked .mgr-body{
  flex:1 !important;
  overflow-y:auto !important;
  /* Round-15: brighten docked-mode interior so it reads as cleanly as
     the main portal (pure white, navy text) instead of the slightly
     muted #f7faf9 the full-screen mode uses.  Section/card surfaces
     get the same brighter palette — matches main browser. */
  background:#ffffff !important;
  color:var(--navy, #141310) !important;
}
.mgr-overlay.mgr-overlay-docked .mgr-panel{
  background:#ffffff !important;
}
.mgr-overlay.mgr-overlay-docked .mgr-section,
.mgr-overlay.mgr-overlay-docked .mgr-hdr-card,
.mgr-overlay.mgr-overlay-docked .mgr-title-block{
  background:#ffffff !important;
  border-color:#dbe7e3 !important;
  color:var(--navy, #141310) !important;
}
.mgr-overlay.mgr-overlay-docked .mgr-section p,
.mgr-overlay.mgr-overlay-docked .mgr-section li,
.mgr-overlay.mgr-overlay-docked .mgr-title-block .meta,
.mgr-overlay.mgr-overlay-docked .mgr-hdr-cell .v{
  color:var(--navy, #141310) !important;
}
.mgr-overlay.mgr-overlay-docked .mgr-hdr-cell .l{
  color:#4a6b65 !important;
}
.mgr-overlay.mgr-overlay-docked .mgr-bar{
  padding:10px 14px !important;
}
.mgr-overlay.mgr-overlay-docked .mgr-bar h3{
  font-size:15px !important;
}
.mgr-overlay.mgr-overlay-docked .mgr-actions{
  flex-wrap:wrap !important;
  gap:6px !important;
  padding:10px 12px !important;
}
.mgr-overlay.mgr-overlay-docked .mgr-actions .btn{
  font-size:12.5px !important;
  padding:8px 12px !important;
  min-height:38px !important;
  flex:1 1 calc(50% - 6px) !important;
}

/* MINIMIZED — a small floating chip the user can re-open. */
.mgr-overlay.mgr-overlay-min{
  background:transparent !important;
  backdrop-filter:none !important;
  pointer-events:none !important;
  z-index:11500 !important;
  padding:0 !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  overflow:visible !important;
}
.mgr-overlay.mgr-overlay-min .mgr-panel{
  pointer-events:auto !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:16px !important;
  padding:0 !important;
  border-radius:999px !important;
  box-shadow:0 12px 28px rgba(20,19,16,.28) !important;
  background:var(--navy) !important;
  color:#fff !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  overflow:visible !important;
}
.mgr-overlay.mgr-overlay-min .mgr-body,
.mgr-overlay.mgr-overlay-min .mgr-actions{display:none !important}
/* Round-13: in min state, hide every bar control EXCEPT the restore
   button (.mgr-restore-btn) and the back chevron (.mgr-back) — the
   user must always see how to bring the panel back.  The back
   button still works as "close" but the obvious affordance is the
   bright Restore pill. */
.mgr-overlay.mgr-overlay-min .mgr-bar h3 ~ button{display:none !important}
.mgr-overlay.mgr-overlay-min .mgr-bar .mgr-restore-btn{
  display:inline-flex !important;
  background:var(--teal) !important;
  color:#fff !important;
  border-color:var(--teal) !important;
  font-weight:700 !important;
  margin-right:6px !important;
}
.mgr-overlay.mgr-overlay-min .mgr-bar .mgr-restore-btn:hover{
  background:var(--teal-dk) !important;
  border-color:var(--teal-dk) !important;
}
.mgr-overlay.mgr-overlay-min .mgr-bar{
  background:transparent !important;
  padding:0 !important;
  position:static !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
/* The whole minimized panel is also clickable: clicking the title
   chip restores via the JS handler.  Make this affordance obvious. */
.mgr-overlay.mgr-overlay-min .mgr-panel{cursor:pointer !important}
.mgr-overlay.mgr-overlay-min .mgr-bar h3{
  font-size:13px !important;
  color:#fff !important;
  padding:10px 6px 10px 16px !important;
  margin:0 !important;
  max-width:240px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  cursor:pointer !important;
}
.mgr-overlay.mgr-overlay-min .mgr-bar h3::before{
  content:'⤢ ';
  margin-right:4px;
  opacity:.85;
}

/* Dock-mode controls (Minimize / Dock / Restore) — only visible in
   docked or minimized state. */
.mgr-bar .mgr-dock-btn,
.mgr-bar .mgr-min-btn,
.mgr-bar .mgr-restore-btn,
.mgr-bar .mgr-expand-btn{
  background:rgba(255,255,255,.10);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  font-family:'Barlow',sans-serif;
  font-size:13px;font-weight:600;
  padding:8px 12px;
  cursor:pointer;
  min-height:38px;
  min-width:38px;
  white-space:nowrap;
  display:inline-flex;align-items:center;justify-content:center;
}
.mgr-bar .mgr-dock-btn:hover,
.mgr-bar .mgr-min-btn:hover,
.mgr-bar .mgr-restore-btn:hover,
.mgr-bar .mgr-expand-btn:hover{background:rgba(255,255,255,.20)}

/* When restored to full mode, hide dock/restore buttons (only the
   Minimize and Dock buttons should show in full mode). */
.mgr-overlay:not(.mgr-overlay-docked):not(.mgr-overlay-min) .mgr-restore-btn{display:none}
.mgr-overlay.mgr-overlay-docked .mgr-dock-btn,
.mgr-overlay.mgr-overlay-docked .mgr-expand-btn{display:none}
.mgr-overlay.mgr-overlay-docked .mgr-restore-btn{display:inline-flex !important}
/* min-state restore visibility is enforced earlier with !important
   to win against the h3 ~ button hide rule. */

/* Mobile: keep docked sticky to the bottom-right corner; minimized
   chip sits at bottom-right too. */
@media (max-width:720px){
  .mgr-overlay.mgr-overlay-docked .mgr-panel{
    width:96vw !important;
    max-width:96vw !important;
    height:60vh !important;
    max-height:60vh !important;
    margin:auto 8px 8px 8px !important;
    border-radius:14px !important;
  }
  .mgr-overlay.mgr-overlay-docked{
    align-items:flex-end !important;
    justify-content:center !important;
  }
  /* Round-15: keep the bright readable surface on mobile docked too. */
  .mgr-overlay.mgr-overlay-docked .mgr-body,
  .mgr-overlay.mgr-overlay-docked .mgr-panel,
  .mgr-overlay.mgr-overlay-docked .mgr-section,
  .mgr-overlay.mgr-overlay-docked .mgr-hdr-card,
  .mgr-overlay.mgr-overlay-docked .mgr-title-block{
    background:#ffffff !important;
    color:var(--navy, #141310) !important;
  }
}
