/* Four existing dock slots; retain the approved height, backing and safe area. */
.app-bottom-nav .app-nav-item{min-width:0}
.app-bottom-nav .app-nav-item>span{display:block!important;white-space:nowrap}
.app-topbar>.topbar-doctor-shortcut{display:none!important}

.personal-profile-screen{gap:14px}
.personal-profile-screen>.screen-head{padding-bottom:4px}
.personal-profile-screen>.screen-head h1{margin-bottom:0}
.personal-module{display:grid;gap:14px;padding:18px}
.personal-module h2,.personal-journey>h2{margin:0;font-size:1.2rem}
.personal-module p{margin:0;line-height:1.5}
.personal-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.personal-edit{min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--primary);font-size:.875rem;font-weight:600}
.personal-details{display:grid;gap:12px;margin:0}
.personal-details>div{display:grid;gap:3px;min-width:0}
.personal-details dt{font-size:.85rem;color:var(--muted)}
.personal-details dd{margin:0;color:var(--ink);font-weight:650;overflow-wrap:anywhere}
.personal-journey{display:grid;gap:12px}
.personal-empty{font-size:.9rem;color:var(--muted)}
.personal-rental-list{display:grid;gap:12px}
.personal-rental{display:grid;gap:5px;overflow-wrap:anywhere}
.personal-rental+.personal-rental{border-top:1px solid var(--border);padding-top:12px}
.personal-rental span{font-size:.9rem;color:var(--primary)}
.personal-rental small{color:var(--muted)}
.personal-doctor{display:flex;align-items:center;gap:12px;min-width:0}
.personal-doctor>div{min-width:0;overflow-wrap:anywhere}
.personal-doctor img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.personal-doctor p{font-size:.9rem;color:var(--muted);margin-top:4px}
.personal-doctor-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;color:var(--primary);font-weight:650;text-decoration:none}

/* Large local-only form, independent of the rental/clinical modal system. */
body.patient-details-open{overflow:hidden}
dialog.patient-details-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(560px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:28px;border:1px solid var(--border);border-radius:24px;background:var(--surface);color:var(--ink);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 24px 70px -24px rgba(0,49,72,.3)}
.patient-details-dialog::backdrop{background:rgba(16,39,51,.46)}
.patient-details-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.patient-details-heading h2{font-size:1.75rem;line-height:1.15;margin:0 0 16px}
.patient-details-heading h2:focus{outline:none}
.patient-details-close{width:44px;height:44px;flex:none;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--ink);font:28px/1 sans-serif}
.patient-details-dialog>[data-personal-intro]{font-size:1.05rem;line-height:1.5;margin-bottom:24px}
.patient-details-dialog form{display:grid;gap:9px}
.patient-details-dialog label{font-size:1.05rem;font-weight:650;margin-top:8px}
.patient-details-dialog label span{font-weight:400;color:var(--muted)}
.patient-details-dialog input{box-sizing:border-box;display:block;width:100%;min-height:56px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:1.1rem}
.patient-details-dialog input:focus-visible{outline:3px solid rgba(0,110,157,.2);border-color:var(--primary)}
.patient-details-dialog input[aria-invalid=true]{border-color:#b44634}
.personal-field-error{margin:0;color:#a43829;font-size:.95rem}
.personal-local-note{font-size:.85rem;color:var(--muted);margin:12px 0}
.patient-details-submit{width:100%;min-height:58px;font-size:1.1rem;justify-content:center;border:0;cursor:pointer}
@media(max-width:599px){
 dialog.patient-details-dialog{inset:auto 0 0;width:100%;max-height:100vh;max-height:100dvh;min-height:min(740px,94dvh);margin:0;padding:28px 22px max(24px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0}
 .patient-details-heading h2{font-size:1.8rem}
}
@media(min-width:760px){.personal-details{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Same pricing select and existing tariff logic, promoted to a primary field. */
.rental-pricing-field{grid-column:1/-1;min-width:0;width:100%}
.rental-pricing-field>label{display:grid;gap:8px;font-size:1rem;font-weight:700}
.rental-pricing-field select{box-sizing:border-box;width:100%;max-width:100%;min-height:56px;padding:14px 44px 14px 14px;border:1px solid var(--border);border-radius:12px;background-color:#fff;color:var(--ink);font:inherit;font-size:1rem;line-height:1.5;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23006e9d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.rental-pricing-field select:focus-visible{outline:3px solid rgba(0,110,157,.2);border-color:var(--primary)}
.rental-pricing-field select:disabled{background-color:var(--surface-soft);opacity:.8}
.rental-pricing-field .field-help{font-size:.83rem;font-weight:400;line-height:1.45;margin:8px 0 0;color:var(--muted)}
