:root{
  --pmd-primary:#DD4800;
  --pmd-bg:#ffffff;
  --pmd-border: rgba(0,0,0,.10);
  --pmd-text: rgba(0,0,0,.88);
  --pmd-muted: rgba(0,0,0,.62);
}
.pmd-portal-wrap{ max-width: 1100px; margin: 0 auto; padding: 16px 12px 40px; background: var(--pmd-bg); }
.pmd-portal-card{
  background:#fff;
  border:1px solid var(--pmd-border);
  border-radius: 18px;
  box-shadow: 0 10px 22px rgba(0,0,0,.04);
  padding: 16px;
}
.pmd-portal-head{ margin-bottom: 10px; }
.pmd-portal-title{ font-weight: 950; font-size: 1.25rem; color: var(--pmd-text); }
.pmd-portal-sub{ margin-top: 4px; color: var(--pmd-muted); }
.pmd-label{ display:block; font-weight: 850; margin: 12px 0 6px; color: var(--pmd-text); }
.pmd-input{
  width: 100%;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.14);
  box-sizing: border-box;
  outline: none;
  background: #fff;
}
.pmd-input:focus{
  border-color: rgba(221,72,0,.45);
  box-shadow: 0 0 0 3px rgba(221,72,0,.10);
}
.pmd-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 16px;
  padding: 12px 14px;
  font-weight: 950;
  border: 1px solid rgba(221,72,0,.22);
  background: rgba(221,72,0,.06);
  color: var(--pmd-primary);
  cursor: pointer;
  text-decoration: none;
  width: 100%;
  margin-top: 12px;
}
.pmd-btn-solid{
  background: var(--pmd-primary);
  border-color: var(--pmd-primary);
  color: #fff;
}
.pmd-btn-outline{ background: transparent; }
.pmd-divider{ height: 1px; background: rgba(0,0,0,.08); margin: 14px 0; }
.pmd-msg{ margin-top: 10px; color: var(--pmd-muted); }
.pmd-msg.pmd-err{ color: #b42318; }
.pmd-msg.pmd-ok{ color: #067647; }

.pmd-dash-grid{ display:flex; gap: 16px; align-items:flex-start; }
.pmd-dash-left{ flex: 1 1 62%; min-width:0; display:flex; flex-direction:column; gap: 12px; }
.pmd-dash-right{ flex: 1 1 38%; min-width:0; display:flex; flex-direction:column; gap: 12px; }

.pmd-table{ margin-top: 12px; border: 1px solid rgba(0,0,0,.10); border-radius: 16px; overflow:hidden; }
.pmd-row{ display:grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 10px; padding: 10px 12px; border-bottom: 1px solid rgba(0,0,0,.08); align-items:center; }
.pmd-row:last-child{ border-bottom: 0; }
.pmd-row.pmd-head{ background: rgba(0,0,0,.02); font-weight: 900; color: var(--pmd-text); }
.pmd-link{ color: var(--pmd-primary); font-weight: 850; text-decoration:none; }
.pmd-muted{ color: var(--pmd-muted); }

.pmd-tile-grid{ display:grid; grid-template-columns: 1fr; gap: 10px; margin-top: 10px; }
.pmd-tile{
  border:1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  padding: 12px;
  text-decoration: none;
  background: #fff;
}
.pmd-tile:hover{ border-color: rgba(221,72,0,.28); box-shadow: 0 8px 18px rgba(0,0,0,.04); }
.pmd-tile-h{ font-weight: 950; color: var(--pmd-text); }
.pmd-tile-s{ color: var(--pmd-muted); margin-top: 4px; }

.pmd-patient-list{ margin-top: 12px; display:flex; flex-direction: column; gap: 10px; }
.pmd-patient-item{ border:1px solid rgba(0,0,0,.10); border-radius: 16px; padding: 12px; background: #fff; }
.pmd-patient-name{ font-weight: 950; color: var(--pmd-text); display:flex; align-items:center; gap: 8px; flex-wrap:wrap; }
.pmd-badge{ font-size: .82rem; border:1px solid rgba(0,0,0,.10); border-radius: 999px; padding: 4px 8px; background: rgba(0,0,0,.02); color: var(--pmd-muted); }

.pmd-2col{ display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }

@media (max-width: 980px){
  .pmd-dash-grid{ flex-direction: column; }
  .pmd-row{ grid-template-columns: 1fr 1fr; }
  .pmd-2col{ grid-template-columns: 1fr; }
}