/* MPWL v3.12.356 — UI/UX consolidation layer
 * Loaded last on clinic/provider screens and patient-portal screens.
 * Purpose: normalize spacing, controls, statuses, chart navigation, mobile navigation,
 * form hierarchy, and the compact Summary Flow Sheet without rewriting legacy modules.
 */

:root{
  --mpwl-ui-blue:#1e6fba;
  --mpwl-ui-blue-dark:#155a99;
  --mpwl-ui-blue-soft:#edf6fd;
  --mpwl-ui-ink:#20364f;
  --mpwl-ui-muted:#667b91;
  --mpwl-ui-line:#d5e0eb;
  --mpwl-ui-line-strong:#c2d1df;
  --mpwl-ui-bg:#f4f7fa;
  --mpwl-ui-surface:#fff;
  --mpwl-ui-good:#20764d;
  --mpwl-ui-good-bg:#edf8f2;
  --mpwl-ui-warn:#8a5b00;
  --mpwl-ui-warn-bg:#fff6e4;
  --mpwl-ui-bad:#a43838;
  --mpwl-ui-bad-bg:#fff0f0;
  --mpwl-ui-info:#285f86;
  --mpwl-ui-info-bg:#edf6fb;
  --mpwl-ui-radius:8px;
  --mpwl-ui-shadow:0 1px 2px rgba(25,52,78,.04);
}

/* ---------- Shared visual language ---------- */
.mpwl-admin-v3,
.mpwl-portal{
  color:var(--mpwl-ui-ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.mpwl-admin-v3 .mpwl-panel,
.mpwl-admin-v3 .mpwl-summary351-box,
.mpwl-admin-v3 .mpwl-summary351-feed,
.mpwl-admin-v3 .mpwl-summary351-care,
.mpwl-admin-v3 .mpwl-summary351-metrics,
.mpwl-portal .mpwl-card{
  border-color:var(--mpwl-ui-line)!important;
  border-radius:var(--mpwl-ui-radius)!important;
  box-shadow:var(--mpwl-ui-shadow)!important;
}

.mpwl-admin-v3 .button,
.mpwl-admin-v3 a.button,
.mpwl-admin-v3 button.button{
  min-height:36px!important;
  height:auto!important;
  padding:7px 13px!important;
  border-radius:7px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  line-height:1.2!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  box-sizing:border-box!important;
  box-shadow:none!important;
  white-space:normal;
}
.mpwl-admin-v3 .button.button-small{min-height:32px!important;padding:5px 10px!important;font-size:12px!important}
.mpwl-admin-v3 .button-primary,
.mpwl-admin-v3 a.button-primary,
.mpwl-admin-v3 button.button-primary{
  background:var(--mpwl-ui-blue)!important;
  border-color:var(--mpwl-ui-blue)!important;
  color:#fff!important;
}
.mpwl-admin-v3 .button-primary:hover,
.mpwl-admin-v3 .button-primary:focus{background:var(--mpwl-ui-blue-dark)!important;border-color:var(--mpwl-ui-blue-dark)!important}
.mpwl-admin-v3 .button:not(.button-primary){background:#fff!important;border-color:#bfd1e2!important;color:#294866!important}
.mpwl-admin-v3 .button:not(.button-primary):hover,
.mpwl-admin-v3 .button:not(.button-primary):focus{background:#f6f9fc!important;border-color:#91afca!important;color:#173b60!important}
.mpwl-admin-v3 .button[disabled]{opacity:.52!important;cursor:not-allowed!important}

.mpwl-admin-v3 input[type=text],
.mpwl-admin-v3 input[type=email],
.mpwl-admin-v3 input[type=tel],
.mpwl-admin-v3 input[type=number],
.mpwl-admin-v3 input[type=date],
.mpwl-admin-v3 input[type=time],
.mpwl-admin-v3 input[type=search],
.mpwl-admin-v3 select,
.mpwl-admin-v3 textarea,
.mpwl-portal input[type=text],
.mpwl-portal input[type=email],
.mpwl-portal input[type=tel],
.mpwl-portal input[type=number],
.mpwl-portal input[type=date],
.mpwl-portal input[type=time],
.mpwl-portal input[type=search],
.mpwl-portal select,
.mpwl-portal textarea{
  border-color:#bfd0df!important;
  border-radius:7px!important;
  box-shadow:none!important;
}
.mpwl-admin-v3 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.mpwl-admin-v3 select{min-height:38px}
.mpwl-admin-v3 textarea{line-height:1.45;resize:vertical}
.mpwl-admin-v3 input:focus,
.mpwl-admin-v3 select:focus,
.mpwl-admin-v3 textarea:focus,
.mpwl-portal input:focus,
.mpwl-portal select:focus,
.mpwl-portal textarea:focus{
  border-color:#6fa4ce!important;
  box-shadow:0 0 0 2px rgba(30,111,186,.12)!important;
  outline:none!important;
}

/* Status meaning: red/blocking, amber/action, green/complete, blue/current/info. */
.mpwl-admin-v3 .good,.mpwl-portal .good{color:var(--mpwl-ui-good)!important}
.mpwl-admin-v3 .warn,.mpwl-portal .warn{color:var(--mpwl-ui-warn)!important}
.mpwl-admin-v3 .bad,.mpwl-portal .bad{color:var(--mpwl-ui-bad)!important}
.mpwl-admin-v3 .info,.mpwl-portal .info{color:var(--mpwl-ui-info)!important}
.mpwl-admin-v3 .mpwl-badge.good,.mpwl-portal .mpwl-badge.good{background:var(--mpwl-ui-good-bg)!important;color:var(--mpwl-ui-good)!important;border-color:#bcdcca!important}
.mpwl-admin-v3 .mpwl-badge.warn,.mpwl-portal .mpwl-badge.warn{background:var(--mpwl-ui-warn-bg)!important;color:var(--mpwl-ui-warn)!important;border-color:#ead09a!important}
.mpwl-admin-v3 .mpwl-badge.bad,.mpwl-portal .mpwl-badge.bad{background:var(--mpwl-ui-bad-bg)!important;color:var(--mpwl-ui-bad)!important;border-color:#e3b6b6!important}
.mpwl-admin-v3 .mpwl-badge.info,.mpwl-portal .mpwl-badge.info{background:var(--mpwl-ui-info-bg)!important;color:var(--mpwl-ui-info)!important;border-color:#bfd7e7!important}

/* Tables need to read as one system. */
.mpwl-admin-v3 table.widefat,
.mpwl-admin-v3 .mpwl-table-wrap table,
.mpwl-admin-v3 .mpwl-summary352-flow-table{
  border-collapse:separate;
  border-spacing:0;
  width:100%;
  border-color:var(--mpwl-ui-line)!important;
}
.mpwl-admin-v3 table.widefat th,
.mpwl-admin-v3 .mpwl-table-wrap th,
.mpwl-admin-v3 .mpwl-summary352-flow-table th{
  background:#f7f9fb!important;
  color:#65798e!important;
  font-size:10.5px!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  font-weight:800!important;
  border-bottom:1px solid var(--mpwl-ui-line)!important;
}
.mpwl-admin-v3 table.widefat td,
.mpwl-admin-v3 .mpwl-table-wrap td,
.mpwl-admin-v3 .mpwl-summary352-flow-table td{border-bottom:1px solid #e5ecf2!important;vertical-align:top}

/* ---------- Clinic patient chart hierarchy ---------- */
.mpwl-chart-nav-v355{
  position:relative;
  display:flex!important;
  align-items:center;
  gap:2px!important;
  overflow:visible!important;
}
.mpwl-chart-nav-v355>a,
.mpwl-chart-nav-more-toggle{
  min-height:39px;
  display:inline-flex;
  align-items:center;
  padding:0 13px;
  border:0;
  border-bottom:3px solid transparent;
  background:transparent;
  color:#526b82;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap;
}
.mpwl-chart-nav-v355>a:hover,
.mpwl-chart-nav-more-toggle:hover{color:#174f7d;background:#f6f9fc}
.mpwl-chart-nav-v355>a.active,
.mpwl-chart-nav-more.is-active>.mpwl-chart-nav-more-toggle{color:#174f7d;border-bottom-color:var(--mpwl-ui-blue)}
.mpwl-chart-nav-more{position:relative;margin-left:auto}
.mpwl-chart-nav-more-toggle span{margin-left:5px;font-size:15px}
.mpwl-chart-nav-more-menu{
  position:absolute;
  z-index:100;
  top:calc(100% + 5px);
  right:0;
  width:190px;
  padding:5px;
  display:none;
  background:#fff;
  border:1px solid var(--mpwl-ui-line);
  border-radius:8px;
  box-shadow:0 12px 28px rgba(26,49,73,.14);
}
.mpwl-chart-nav-more.is-open .mpwl-chart-nav-more-menu{display:block}
.mpwl-chart-nav-more-menu a{
  display:block;
  padding:9px 10px;
  border-radius:5px;
  color:#334f69;
  text-decoration:none;
  font-size:13px;
  font-weight:650;
}
.mpwl-chart-nav-more-menu a:hover{background:#f2f7fb;color:#174f7d}
.mpwl-chart-nav-more-menu a.active{background:var(--mpwl-ui-blue-soft);color:#17588e;font-weight:800}

/* ---------- Summary Flow Sheet: read first, edit only when needed ---------- */
.mpwl-summary352-flow-table th:nth-child(1){width:13%}
.mpwl-summary352-flow-table th:nth-child(2){width:18%}
.mpwl-summary352-flow-table th:nth-child(3){width:auto}
.mpwl-summary352-flow-table th:nth-child(4){width:12%;text-align:right}
.mpwl-summary352-flow-table td:nth-child(4){text-align:right;white-space:nowrap}
.mpwl-summary352-flow-table td{padding-top:12px!important;padding-bottom:12px!important}
.mpwl-summary353-med-dose strong{display:block;color:#263f58;font-size:13px}
.mpwl-summary353-med-dose small{display:block;margin-top:3px;color:#657a8f;font-size:12px}
.mpwl-summary355-note-display p{margin:0;color:#344d65;line-height:1.42;font-size:13px}
.mpwl-summary355-note-display p.is-empty{color:#8a9bac;font-style:italic}
.mpwl-summary355-note-actions{display:flex;align-items:center;gap:9px;margin-top:7px;flex-wrap:wrap}
.mpwl-summary355-note-actions a{font-size:11.5px;font-weight:700;text-decoration:none;color:#2d6f9d}
.mpwl-summary355-note-editor-form textarea{width:100%;min-height:76px;margin:0}
.mpwl-summary355-note-editor.is-editing{padding:1px 0}
.mpwl-summary352-locked-note span{font-size:13px;line-height:1.42}

/* Summary page: reduce visual weight and keep the workflow scan-friendly. */
.mpwl-summary351-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
.mpwl-summary351-actions .is-wide{grid-column:1/-1!important}
.mpwl-summary351-actions>.button:last-child:nth-child(odd){grid-column:auto!important}
.mpwl-summary351-box-head h3{font-size:13px!important}
.mpwl-summary351-info dt{font-size:10.5px!important;letter-spacing:.05em!important}
.mpwl-summary351-info dd{font-size:12.5px!important}

/* ---------- Patient portal content ---------- */
.mpwl-portal .mpwl-content{font-size:14px}
.mpwl-portal .mpwl-content p,
.mpwl-portal .mpwl-content li{line-height:1.55}
.mpwl-portal .mpwl-card{border-radius:9px!important}
.mpwl-portal .mpwl-card small:not(.mpwl-badge):not(.mpwl-status-pill){font-size:12px}

/* Online Forms: required work first, complete state second, catalog after. */
.mpwl-forms-required-v355{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);
  gap:22px;
  align-items:center;
  margin:0 0 16px;
  padding:20px 22px;
  background:#fff;
  border:1px solid var(--mpwl-ui-line);
  border-left:4px solid var(--mpwl-ui-blue);
  border-radius:8px;
}
.mpwl-forms-required-v355.has-required{border-left-color:#d39725;background:#fffdf9}
.mpwl-forms-required-v355.is-clear{grid-template-columns:1fr auto;border-left-color:#4b9a72;background:#fbfefc}
.mpwl-forms-required-v355>div:first-child>small,
.mpwl-forms-section-label-v355 small{display:block;color:#71859a;font-size:10px;font-weight:800;letter-spacing:.11em}
.mpwl-forms-required-v355 h2{margin:3px 0 5px!important;font-size:21px!important;line-height:1.2!important;color:#243f59!important}
.mpwl-forms-required-v355 p{margin:0!important;color:#62768a}
.mpwl-forms-required-list{display:grid;gap:7px}
.mpwl-forms-required-list>a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 11px;border:1px solid #e2c887;border-radius:7px;background:#fff;color:#334d66;text-decoration:none}
.mpwl-forms-required-list>a:hover{border-color:#d4a74c;background:#fffaf0}
.mpwl-forms-required-list span{display:grid;gap:2px}
.mpwl-forms-required-list strong{font-size:13px}
.mpwl-forms-required-list small{font-size:11.5px!important;color:#75879a}
.mpwl-forms-required-list b{font-size:12px;color:#7a5610;white-space:nowrap}
.mpwl-forms-required-clear{display:grid;place-items:center;width:44px;height:44px;border:1px solid #b9dac8;border-radius:50%;background:var(--mpwl-ui-good-bg);color:var(--mpwl-ui-good);font-size:22px;font-weight:800}
.mpwl-forms-section-label-v355{margin:23px 0 9px;padding-bottom:7px;border-bottom:1px solid var(--mpwl-ui-line)}
.mpwl-forms-hub-card{border-radius:8px!important;box-shadow:none!important}

/* ---------- Patient mobile navigation ---------- */
.mpwl-mobile-bottom-nav{display:none}
@media(max-width:900px){
  .mpwl-portal:not(.mpwl-simple-mode){padding-bottom:72px!important}
  .mpwl-mobile-bottom-nav{
    position:fixed;
    z-index:10020;
    left:0;
    right:0;
    bottom:0;
    height:64px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    background:rgba(255,255,255,.98);
    border-top:1px solid #cfdbe6;
    box-shadow:0 -5px 16px rgba(32,54,79,.08);
    padding:4px max(6px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
    backdrop-filter:blur(10px);
  }
  .mpwl-mobile-bottom-nav>a,
  .mpwl-mobile-bottom-nav>button{
    border:0;
    background:transparent;
    color:#61768b;
    text-decoration:none;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    padding:3px 2px;
    border-radius:6px;
    min-width:0;
  }
  .mpwl-mobile-bottom-icon{display:grid;place-items:center;width:20px;height:20px}
  .mpwl-mobile-bottom-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mpwl-mobile-bottom-nav small{font-size:10px!important;line-height:1.1;font-weight:750;white-space:nowrap}
  .mpwl-mobile-bottom-nav>a.is-active{color:#155e98;background:#edf6fd}
  .mpwl-mobile-bottom-nav>button[aria-expanded=true]{color:#155e98;background:#edf6fd}
  .mpwl-mobile-portal-actions>.mpwl-mobile-menu-toggle{display:none!important}
  .mpwl-mobile-account-link{display:none!important}

  .mpwl-sidebar{padding-bottom:78px!important}
  .mpwl-nav-section{margin-bottom:14px!important}
  .mpwl-nav-heading{font-size:10px!important;letter-spacing:.1em!important}
  .mpwl-sidebar nav a{min-height:42px!important;font-size:13.5px!important}

  .mpwl-forms-required-v355,
  .mpwl-forms-required-v355.is-clear{grid-template-columns:1fr;gap:14px;padding:16px}
  .mpwl-forms-required-clear{display:none}
  .mpwl-forms-required-list>a{align-items:flex-start}

  .mpwl-chart-nav-v355{overflow-x:auto!important;overflow-y:visible!important;scrollbar-width:none}
  .mpwl-chart-nav-v355::-webkit-scrollbar{display:none}
  .mpwl-chart-nav-more{margin-left:0}
  .mpwl-chart-nav-more-menu{position:fixed;top:auto;left:12px;right:12px;bottom:12px;width:auto;max-height:55vh;overflow:auto}
}

@media(max-width:782px){
  .mpwl-summary352-flow-table thead{display:none}
  .mpwl-summary352-flow-table,
  .mpwl-summary352-flow-table tbody,
  .mpwl-summary352-flow-table tr,
  .mpwl-summary352-flow-table td{display:block;width:100%!important}
  .mpwl-summary352-flow-table tr{padding:12px 13px;border-bottom:1px solid var(--mpwl-ui-line)}
  .mpwl-summary352-flow-table td{padding:4px 0!important;border:0!important;text-align:left!important}
  .mpwl-summary352-flow-table td:before{content:attr(data-label);display:block;margin-bottom:2px;color:#788b9e;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:800}
  .mpwl-summary355-note-actions{margin-top:6px}
}


/* ---------- v3.12.356 Clinic Tools launcher ----------
 * Clinic Tools is the parent directory for low-frequency clinic destinations.
 * It was omitted from the hub-page selectors in the earlier consolidation pass,
 * which left it with the older 2-column card treatment. Keep this page balanced:
 * two high-frequency admin tools on the first row, three directory cards below,
 * then collapse cleanly without leaving an empty visual hole.
 */
.mpwl-page-mpwl-clinic-tools .mpwl-hub-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.mpwl-page-mpwl-clinic-tools .mpwl-hub-card{
  grid-column:span 3;
  min-height:126px!important;
  padding:17px!important;
  border:1px solid #d9e3ec!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:var(--mpwl-ui-shadow)!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:12px!important;
  align-content:start!important;
}
.mpwl-page-mpwl-clinic-tools .mpwl-hub-card:nth-child(n+3){grid-column:span 2}
.mpwl-page-mpwl-clinic-tools .mpwl-hub-card:hover{
  border-color:#9eb9d1!important;
  box-shadow:0 7px 20px rgba(31,70,110,.07)!important;
  transform:translateY(-1px);
}
.mpwl-page-mpwl-clinic-tools .mpwl-hub-card>.dashicons{
  width:40px!important;
  height:40px!important;
  font-size:24px!important;
  border-radius:9px!important;
}
.mpwl-page-mpwl-clinic-tools .mpwl-hub-card strong{font-size:14px!important;line-height:1.3!important}
.mpwl-page-mpwl-clinic-tools .mpwl-hub-card p{
  margin:5px 0 12px!important;
  color:#687b90!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.mpwl-page-mpwl-clinic-tools .mpwl-hub-card b{
  margin-top:auto!important;
  color:#526fc5!important;
  font-size:12px!important;
}
@media (max-width:1180px){
  .mpwl-page-mpwl-clinic-tools .mpwl-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mpwl-page-mpwl-clinic-tools .mpwl-hub-card,
  .mpwl-page-mpwl-clinic-tools .mpwl-hub-card:nth-child(n+3){grid-column:span 1}
  .mpwl-page-mpwl-clinic-tools .mpwl-hub-card:last-child{grid-column:1/-1}
}
@media (max-width:782px){
  .mpwl-page-mpwl-clinic-tools .mpwl-hub-grid{grid-template-columns:1fr!important;gap:9px!important}
  .mpwl-page-mpwl-clinic-tools .mpwl-hub-card,
  .mpwl-page-mpwl-clinic-tools .mpwl-hub-card:nth-child(n+3),
  .mpwl-page-mpwl-clinic-tools .mpwl-hub-card:last-child{
    grid-column:auto!important;
    min-height:0!important;
    padding:14px!important;
  }
}
