.doctor-details{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-section-title{margin-top:22px;font-size:.88rem}
.form-hint{margin:3px 0 12px;color:var(--muted);font-size:.72rem}
.doctor-list-title{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);font-size:1rem!important}
.doctor-row{display:grid;grid-template-columns:1fr auto;gap:15px}
.doctor-meta{display:flex;flex-direction:column}
.doctor-meta small{color:var(--muted)}
.doctor-buttons{display:flex;gap:12px}
.admin-link{color:var(--teal-dark)!important}
.delete-link{color:#a13f3f!important}
@media(max-width:600px){.doctor-details,.doctor-row{grid-template-columns:1fr}.doctor-buttons{flex-wrap:wrap}}
.appointment-heading-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.password-control{position:relative;display:grid;width:100%;grid-template-columns:minmax(0,1fr);align-items:center}
.password-control input{position:relative;z-index:1;display:block;width:100%;min-height:50px;grid-area:1/1;padding-right:54px}
.password-control #togglePassword{position:relative;z-index:2;top:auto;right:auto;display:inline-flex;width:40px;min-width:40px;height:40px;grid-area:1/1;align-items:center;justify-content:center;justify-self:end;align-self:center;margin:0 5px 0 0;padding:0;color:var(--portal-blue);background:transparent;line-height:1;transform:none!important;box-shadow:none!important}
.password-control #togglePassword:hover:not(:disabled),.password-control #togglePassword:active:not(:disabled){transform:none!important;box-shadow:none!important}
.password-eye{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-eye-closed{display:none}.password-control #togglePassword.is-visible .password-eye-open{display:none}.password-control #togglePassword.is-visible .password-eye-closed{display:block}
.appointment-filters{grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(145px,1fr)) auto}
.admin-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:18px;border-top:1px solid var(--portal-line)}
.admin-pagination span{color:var(--portal-muted);font-size:.72rem;font-weight:800}
.staff-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:14px;align-items:end;margin-bottom:24px;padding:18px;background:#f7f9fa;border:1px solid var(--portal-line)}
.staff-list,.audit-list{display:grid;border-top:1px solid var(--portal-line)}
.staff-row,.audit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--portal-line)}
.staff-row>div:first-child,.audit-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
.staff-row span,.audit-row span{display:grid;gap:3px}.staff-row small,.audit-row small{color:var(--portal-muted);font-size:.6rem;font-weight:800;text-transform:uppercase}.staff-row strong,.audit-row strong{font-size:.77rem;overflow-wrap:anywhere}
.staff-controls{display:flex;gap:9px;align-items:center}.staff-controls select{min-width:190px}.staff-controls .btn{min-height:44px}

/* Mobile administration workspace */
html,body{max-width:100%;overflow-x:hidden}
.portal-shell,.portal-main,.panel,.appointment-card,.doctor-row{min-width:0}
.patient-field,.patient-field a,.patient-field span,.doctor-meta small{overflow-wrap:anywhere}
input,select,textarea,button{max-width:100%}

@media(max-width:700px){
  .portal-header{padding:10px 14px;gap:10px}
  .portal-brand{min-width:0;gap:9px}
  .portal-brand img{width:38px;height:38px;flex:0 0 38px}
  .portal-brand span{font-size:.82rem;line-height:1.2;white-space:normal}
  .portal-main{padding:18px 12px 36px}
  .dashboard-heading{align-items:flex-start;gap:12px}
  .dashboard-heading h1{font-size:1.55rem}
  .dashboard-heading .button-secondary{width:100%}
  .panel{padding:18px 14px;border-radius:12px}
  .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .metric-card{padding:14px 12px}
  .metric-card strong{font-size:1.4rem}
  .appointment-heading-actions,.appointment-filters,.filter-field{width:100%;justify-content:stretch}
  .appointment-heading-actions>* ,.appointment-filters>*{flex:1 1 100%}
  .appointment-filters input,.appointment-filters select,.appointment-filters button{width:100%}
  .appointment-card{grid-template-columns:1fr;padding:16px 13px;gap:15px}
  .appointment-actions,.appointment-actions label{width:100%}
  .appointment-actions select,.appointment-actions button{width:100%;min-height:44px}
  .patient-grid{grid-template-columns:1fr}
  .patient-question{padding:12px}
  .doctor-buttons{display:grid;grid-template-columns:1fr;width:100%;gap:8px}
  .doctor-buttons button{width:100%;min-height:42px;text-align:left}
  .day-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 0}
  .day-toggle{grid-column:1/-1}
  .day-row label:last-child{grid-column:1/-1}
  .day-row input[type=time],.day-row select{width:100%;font-size:16px}
  input,select,textarea{font-size:16px}
  .staff-form,.staff-row,.audit-row{grid-template-columns:1fr;grid-auto-flow:row}
  .staff-controls{align-items:stretch;flex-direction:column}.staff-controls select,.staff-controls button{width:100%}
  .admin-pagination{justify-content:space-between;gap:8px}.admin-pagination .btn{padding-inline:13px}
}

@media(max-width:380px){
  .dashboard-metrics,.day-row{grid-template-columns:1fr}
  .day-row>*{grid-column:1!important}
  .portal-brand span{font-size:.75rem}
}
