/* Customer tasks: readable controls, focused forms and optional settings. */
.client-portal{font-size:16px;line-height:1.65}
.client-portal .app-shell{grid-template-columns:224px minmax(0,1fr)}
.client-portal .app-main{max-width:1200px;padding:30px clamp(18px,3vw,38px)}
.client-portal .app-title h1{font-size:clamp(1.7rem,3vw,2.25rem)}
.client-portal .app-title p{max-width:64ch;font-size:1rem}
.client-portal .app-field label,.client-portal #profileForm .app-field label{font-size:.95rem;line-height:1.5}
.client-portal .app-field small,.client-portal #profileForm .app-field small,.client-portal .app-card>small{font-size:.88rem;line-height:1.6}
.client-portal .app-help,.client-portal .profile-editor-guide{font-size:.95rem}
.client-portal .app-field :is(input,select,textarea){font-size:1rem;min-height:48px}
.client-portal .app-button{min-height:48px;font-size:.95rem;padding:11px 16px;white-space:normal}
.client-portal #profile{grid-column:1/-1}
.client-portal #profileForm{gap:20px}
.client-portal .app-form{gap:20px}
.client-portal .app-field{gap:7px}
.client-portal .app-field input[type=checkbox],.client-portal .app-field input[type=radio]{min-height:0}
.client-portal .client-disclosure{border:1px solid #d6e2f2;border-radius:12px;background:#fff;margin:16px 0;min-width:0}
.client-portal .client-disclosure.full{grid-column:1/-1}
.client-portal .client-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:14px 18px;cursor:pointer;font-size:1rem;font-weight:700;list-style:none;color:#123364}
.client-portal .client-disclosure>summary::-webkit-details-marker{display:none}
.client-portal .client-disclosure>summary::after{content:'＋';flex:0 0 auto;font-size:1.2rem;color:#075df2}
.client-portal .client-disclosure[open]>summary::after{content:'−'}
.client-portal .client-disclosure[open]>summary{margin-bottom:18px;border-bottom:1px solid #e1e9f5}
.client-portal .client-disclosure>summary~*{margin-right:18px;margin-left:18px}
.client-portal .client-disclosure>summary~*:last-child{margin-bottom:18px}
.client-portal .document-upload-panel{margin:18px 0 22px}
.client-portal .document-upload-panel>summary{justify-content:flex-start;color:#fff;background:#075df2;border-radius:11px}
.client-portal .document-upload-panel>summary::after{margin-left:auto;color:#fff}
.client-portal .document-upload-panel[open]>summary{border-radius:11px 11px 0 0}
.client-portal .document-optional{margin:0;background:#f7faff}
.client-portal .document-settings{background:#f8faff}
.client-portal .document-settings .account-pin-settings{margin-top:0;border:0;grid-template-columns:1fr;gap:12px;padding-top:0}
.client-portal .account-pin-controls{justify-items:start}
.client-portal .account-pin-options label{min-height:48px;font-size:.94rem}
.client-portal .document-list-heading{font-size:1.15rem;margin:20px 0 12px}
.client-portal .documents-profile-context{grid-template-columns:minmax(0,1fr);gap:8px;padding:18px}
.client-portal .documents-profile-context p{margin:0;font-size:.94rem}
.client-portal .document-settings .pet-health-editor{margin:0;border:0;padding:0}
.client-portal .health-history-heading{margin-top:16px}
.client-portal .health-history-heading h3{font-size:1.2rem;margin:0 0 6px}
.client-portal .health-add-actions{gap:10px;margin:18px 0}
.client-portal .health-add-actions .app-button{flex:1 1 180px}
.client-portal .pet-health-record{padding:20px;border-color:#d6e2f2;border-radius:12px}
.client-portal .pet-health-record>strong{font-size:1.1rem}
.client-portal .health-record-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.client-portal .health-record-meta span{font-size:.85rem;padding:4px 9px;background:#edf4ff;border-radius:6px;color:#354f78}
.client-portal .health-record-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.client-portal .health-record-dates dt{font-size:.86rem;color:var(--app-muted)}
.client-portal .health-record-dates dd{margin:2px 0;font-size:1rem;font-weight:600}
.client-portal .health-record-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.client-portal .health-settings .health-main-data{max-width:none}
.client-portal .health-preferences{margin-top:20px}
.client-portal .health-preferences summary,.client-portal .health-optional summary{min-height:44px;font-size:.96rem}
.client-portal .pet-health-editor label:has(input[type=checkbox]){min-height:44px;padding:8px 0;font-size:.96rem}
.client-portal .health-document-shortcut{padding:16px 0;border-top:1px solid var(--app-line)}
.client-portal .health-document-shortcut .app-button{width:100%}
.client-portal .health-entry{scroll-margin-top:100px}
.client-portal .client-menu-toggle{display:none}
.client-portal .client-home-link{display:inline-flex;align-items:center;min-height:44px;font-size:.94rem;font-weight:600;color:#075df2;margin-bottom:8px}
.client-portal[data-client-section=resumen] .client-home-link{display:none}
.client-portal .app-main{scroll-margin-top:90px}
.client-portal .profile-editor-footer{position:sticky;bottom:0;z-index:5;margin-top:24px;background:#fff;padding:14px 0 calc(14px + env(safe-area-inset-bottom));box-shadow:0 -8px 20px #fff}
.client-portal .profile-editor-footer span{font-size:.92rem}
@media(max-width:980px){
  .client-portal .app-shell{grid-template-columns:minmax(0,1fr)}
  .client-portal .app-side{position:sticky;top:0;z-index:30;padding:12px 16px;box-shadow:0 3px 16px #1233640a}
  .client-portal .client-menu-toggle{display:inline-flex;min-height:44px;margin-left:auto;font-size:.9rem}
  .client-portal .app-nav,.client-portal .app-side-bottom{display:none}
  .client-portal .app-side.mobile-menu-open .app-nav{display:grid;grid-template-columns:1fr 1fr;width:100%;max-height:50vh;overflow:auto;margin-top:10px}
  .client-portal .app-side.mobile-menu-open .app-side-bottom{display:block;order:4;width:100%;margin:4px 0 0;border-top:1px solid var(--app-line);padding-top:10px}
  .client-portal .app-side-bottom .pwa-tools{margin:10px 0 0}
  .client-portal .app-side-bottom .pwa-help{font-size:.85rem}
  .client-portal .app-nav a{font-size:.94rem}
  .client-portal .app-main{padding:24px 16px}
}
@media(max-width:620px){
  .client-portal .app-card{padding:18px 14px}
  .client-portal .pet-health-editor{padding:14px 10px}
  .client-portal .client-disclosure>summary{padding:14px;font-size:.96rem}
  .client-portal .client-disclosure>summary~*{margin-left:14px;margin-right:14px}
  .client-portal .health-record-dates{grid-template-columns:1fr}
  .client-portal .health-record-actions .app-button{flex:1 1 100px}
  .client-portal .health-add-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  .client-portal .health-add-actions>.app-button{width:100%}
  .client-portal .app-actions .app-button{font-size:.9rem}
  .client-portal .app-top{gap:16px}
}
