/* Medino 1.5.8 — non-destructive visual and accessibility refinement layer */
:root{
  --focus-ring:0 0 0 4px rgba(17,148,156,.16);
  --shadow-panel:0 10px 30px rgba(11,59,63,.075);
}
body{font-size:.9rem;line-height:1.72;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
a,button,.btn,.nav-item,.icon-button{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--brand-2);outline-offset:2px;box-shadow:var(--focus-ring)}
::selection{background:rgba(17,148,156,.22);color:var(--text)}

/* Navigation and header */
.sidebar{border-left-color:color-mix(in srgb,var(--line) 82%,var(--brand) 18%)}
.nav-label{font-size:.7rem;font-weight:700;letter-spacing:.01em}
.nav-item{min-height:46px;height:auto;font-size:.82rem}
.nav-item.active{box-shadow:inset 0 0 0 1px rgba(17,148,156,.12)}
.sidebar-user{padding-bottom:2px}.user-meta strong{font-size:.76rem}.user-meta span,.user-meta small{font-size:.68rem}
.topbar{border-bottom:1px solid color-mix(in srgb,var(--line) 85%,transparent);box-shadow:0 7px 22px rgba(11,59,63,.035)}
.topbar h1{font-size:1.05rem}.breadcrumb{font-size:.72rem;line-height:1.6}
.global-search{min-width:min(330px,32vw)}.global-search input{font-size:.78rem}.global-search kbd{font-size:.62rem}

/* Content hierarchy */
.content-wrap{padding-top:2px}.page-content{max-width:1720px;margin-inline:auto;width:100%}
.page-head{margin-bottom:20px;padding:2px 0}
.page-head h2{font-size:1.3rem;line-height:1.45;font-weight:850;letter-spacing:-.015em}
.page-head p{font-size:.78rem;line-height:1.9;max-width:820px}
.panel{border-color:color-mix(in srgb,var(--line) 86%,var(--brand) 14%);box-shadow:var(--shadow-panel)}
.panel-header{min-height:64px;padding-block:15px}.panel-header h3{font-size:.93rem;line-height:1.5}.panel-header p{font-size:.72rem;line-height:1.75}
.panel-body{line-height:1.8}
.summary-mini,.stat-card,.dashboard-stat{box-shadow:0 8px 24px rgba(11,59,63,.055)}

/* Forms */
label,.form-label{font-size:.73rem;font-weight:700;color:color-mix(in srgb,var(--muted) 86%,var(--text) 14%)}
.form-control,.form-select{font-size:.8rem;min-height:44px;border-radius:12px;padding-inline:12px}
textarea.form-control{min-height:96px;line-height:1.8;resize:vertical}
.form-control:focus,.form-select:focus{border-color:var(--brand-2);box-shadow:var(--focus-ring)}
.form-hint,small.form-hint{font-size:.69rem;line-height:1.8;color:var(--muted)}
.btn{min-height:40px;border-radius:11px;font-size:.78rem;font-weight:750;padding-inline:15px}
.btn-brand{box-shadow:0 8px 18px rgba(7,93,99,.14)}
.btn-brand:hover{transform:translateY(-1px);box-shadow:0 11px 22px rgba(7,93,99,.2)}
.btn-danger:hover,.btn-light:hover{transform:translateY(-1px)}
.icon-button{border-radius:12px}.table-actions a,.table-actions button{min-width:34px;width:34px;height:34px}

/* Tables */
.table-responsive{scrollbar-width:thin;scrollbar-color:#b9d0d0 transparent}
.data-table{font-size:.77rem}
.data-table thead th{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--surface-2) 94%,var(--brand-soft) 6%);font-size:.7rem;letter-spacing:.005em;white-space:nowrap}
.data-table th,.data-table td{padding-top:13px;padding-bottom:13px;vertical-align:middle}
.data-table tbody tr{transition:background-color .15s ease}.data-table tbody tr:hover{background:color-mix(in srgb,var(--brand-soft) 34%,transparent)}
.data-table code{font-size:.7rem;word-break:break-all}
.pagination-wrap{font-size:.7rem}.status-pill{font-size:.68rem;min-height:27px;display:inline-flex;align-items:center}
.empty-state{padding-block:38px}.empty-state h4{font-size:.9rem}.empty-state p{font-size:.74rem;line-height:1.8}

/* Alerts and clinical emphasis */
.alert{border:1px solid color-mix(in srgb,currentColor 15%,transparent);border-radius:14px;font-size:.78rem;line-height:1.85;box-shadow:0 8px 24px rgba(11,59,63,.045)}
.database-update-alert,.installer-security-alert{border-radius:17px;box-shadow:0 10px 30px rgba(11,59,63,.07)}
.patient-profile-card{border-color:color-mix(in srgb,var(--line) 82%,var(--brand) 18%)}
.patient-profile-card .patient-main strong,.patient-profile-card h3{font-size:.94rem}
.clinical-patient-filter{background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--brand-soft) 34%,var(--surface)))}
.medical-alert,.clinical-alert,[class*="allergy"]{border-radius:15px}

/* Backup center */
.backup-action-grid{align-items:stretch}
.backup-action-card{display:flex;flex-direction:column;gap:9px}
.backup-action-card>form{margin-top:auto}
.secure-backup-form{display:grid;gap:8px;margin-top:4px;padding:12px;border:1px solid color-mix(in srgb,var(--line) 75%,var(--brand) 25%);border-radius:14px;background:color-mix(in srgb,var(--brand-soft) 42%,var(--surface))}
.secure-backup-form label{margin:0}.secure-backup-form .form-control{background:var(--surface)}
.secure-backup-form small{font-size:.67rem;line-height:1.75;color:var(--muted)}
.secure-backup-form .btn{margin-top:4px}
.backup-security-note{margin:0 18px 18px;padding:13px 15px;border-radius:13px;background:color-mix(in srgb,var(--brand-soft) 72%,var(--surface));border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));font-size:.72rem;line-height:1.85;color:var(--muted)}
.backup-checksum{direction:ltr;display:inline-block}

/* Login and tools */
.login-shell{border:1px solid rgba(7,93,99,.08)}
.login-card h2{font-size:1.45rem}.login-card>p{font-size:.75rem;line-height:1.8}
.login-card label{font-size:.74rem}.login-card small{font-size:.7rem}
.system-tool-card{border:1px solid color-mix(in srgb,var(--line) 82%,var(--brand) 18%);box-shadow:0 28px 80px rgba(7,93,99,.13)}

/* Dark theme tuning */
html[data-theme="dark"] .data-table thead th{background:#1b2e31}
html[data-theme="dark"] .data-table tbody tr:hover{background:rgba(17,148,156,.08)}
html[data-theme="dark"] .secure-backup-form{background:#193136}
html[data-theme="dark"] .topbar{box-shadow:0 8px 24px rgba(0,0,0,.18)}

@media(max-width:1199px){.global-search{min-width:240px}.page-head h2{font-size:1.2rem}}
@media(max-width:767px){
  body{font-size:.88rem}.content-wrap{padding-inline:12px}.page-head{gap:12px}.page-head h2{font-size:1.14rem}.page-head p{font-size:.75rem}
  .page-actions .btn{flex:1}.panel{border-radius:16px}.panel-header{padding:13px 14px}.panel-body{padding-inline:14px}
  .data-table{font-size:.75rem}.data-table th,.data-table td{padding:11px 10px}
  .topbar{min-height:72px;height:auto;padding-block:10px}.topbar h1{font-size:.94rem}.breadcrumb{font-size:.68rem}
  .quick-add span{display:none}.global-search{display:none}.backup-security-note{margin-inline:12px}
}
@media(max-width:520px){.btn{min-height:42px}.form-control,.form-select{min-height:46px}.table-actions a,.table-actions button{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.btn:hover,.icon-button:hover,.metric-card:hover{transform:none!important}}
@media print{.sidebar,.topbar,.app-footer,.page-actions,.table-actions,.database-update-alert,.installer-security-alert{display:none!important}.main{width:100%!important;margin:0!important}.content-wrap{padding:0!important}.panel{box-shadow:none!important;border-color:#bbb!important}}
