body{background:var(--bg);font-size:16px}button{font:inherit}button:disabled{opacity:.6;cursor:wait}button,input,select,summary{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold-lo);outline-offset:3px}.topbar{padding:18px 20px}.top-inner{width:1160px;max-width:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-mark{flex-shrink:0;border:2px solid var(--gold);font-size:18px;font-weight:800;color:var(--gold-hi);background:linear-gradient(140deg,var(--navy-3),var(--navy));box-shadow:0 3px 12px #0003}.brand-text b{font-size:16px}.brand-text span{font-size:13px}.chip{font-size:11px;letter-spacing:.08em}main{max-width:1200px;margin:auto;padding:24px 20px}.crumbs{font-size:14px}.hero-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:28px;background:linear-gradient(115deg,var(--navy),var(--navy-2) 60%,var(--navy-3))}.hero-band h1{font-size:clamp(26px,4vw,36px);color:var(--gold-hi);margin:8px 0}.hero-band p{color:var(--ice-2);margin:0;font-size:15px}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:800;color:var(--navy-3)}.hero-band .eyebrow{color:var(--gold-mid)}.overview{display:flex;gap:22px;flex-wrap:wrap;margin:22px 4px;font-size:14px;color:var(--muted)}.overview b{color:var(--navy);font-size:17px;margin-right:5px}.category-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:24px}.category{background:linear-gradient(160deg,var(--navy-3),var(--navy-2) 45%,var(--navy));border:1px solid #e5bd6173;border-radius:16px;color:var(--ice);padding:20px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow)}.category[aria-pressed=true]{border:2px solid var(--gold);padding:19px;box-shadow:0 0 0 3px #e5bd6126,var(--shadow)}.category-number{font-size:25px;font-weight:600;color:var(--gold)}.category strong{display:block;color:var(--gold-mid);font-size:17px}.category small{display:block;color:var(--ice-2);font-size:13px;margin-top:7px}.category .pill{margin-left:auto}.pill{display:inline-block;white-space:nowrap;font-size:10px;letter-spacing:.07em;font-weight:800;padding:5px 8px;border-radius:20px;background:#d3dde5;color:#405463}.pill.active{background:var(--gold);color:var(--navy)}.pill.complete{background:#dcefe2;color:#1d6139}.selection{margin-bottom:20px;padding:22px}.select-fields{display:grid;gap:16px}label{display:block;font-size:14px;font-weight:600}.field{display:block;margin-top:7px;min-height:46px}.staff-details{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:14px;display:flex;gap:20px;flex-wrap:wrap;color:var(--muted)}.staff-details b{color:var(--navy)}.progress-card{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;border-bottom:3px solid var(--gold)}.progress-card h2{margin:5px 0 0;font-size:20px;overflow-wrap:anywhere}.progress-side{min-width:150px;text-align:right}.progress-side strong{display:block;font-size:13px;margin:5px 0}progress{appearance:none;width:100%;height:6px;border:0;background:var(--ice-2);border-radius:4px;overflow:hidden}progress::-webkit-progress-bar{background:var(--ice-2)}progress::-webkit-progress-value{background:var(--gold-lo)}progress::-moz-progress-bar{background:var(--gold-lo)}.save{font-size:12px;color:var(--muted)}.section-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 4px;font-size:13px;color:var(--muted)}.text-link{color:var(--teal);text-decoration:underline;border:0;background:none;font-size:13px;cursor:pointer}.check-section{margin-bottom:12px;padding:0;overflow:hidden}.check-section summary{cursor:pointer;display:flex;align-items:center;gap:14px;list-style:none;padding:20px}.check-section summary::-webkit-details-marker{display:none}.check-section summary:after{content:'＋';margin-left:6px;color:var(--navy);font-size:19px}.check-section[open] summary:after{content:'−'}.section-number{font-size:13px;font-weight:800;background:var(--ice-2);padding:8px 10px;border-radius:8px}.section-title{flex:1;font-size:16px;font-weight:700}.section-tally{font-size:13px;color:var(--muted)}.check-rows{padding:0 20px 14px}.check-row{display:flex;align-items:flex-start;gap:14px;padding:16px 12px;border-top:1px solid var(--line);border-radius:7px;cursor:pointer;font-weight:400;line-height:1.6}.check-row input{width:23px;height:23px;flex-shrink:0;margin:2px 0 0;accent-color:var(--navy)}.check-row .copy{flex:1}.check-row strong{display:block;font-size:16px;font-weight:600}.check-row small{display:block;font-size:14px;color:var(--muted);margin-top:4px}.check-row.checked{background:#eaf5ed}.check-row.checked input{accent-color:#2c7345}.check-row.checked strong{color:#23583a}.check-row .pill{margin-top:4px}footer{text-align:center;font-size:13px;color:var(--navy-3);line-height:1.8;padding:30px 10px 15px}footer span{color:var(--muted);font-size:12px}dialog.login{max-width:460px;margin:auto;text-align:left;padding:26px;color:var(--ink)}dialog::backdrop{background:#0b2239de}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dialog-heading h2{margin:0}dialog label{margin-bottom:18px}dialog .primary{width:100%;justify-content:center}.sub{font-size:14px}#error,#form-error{background:#fff0ed;color:#943421;padding:14px;border:1px solid #d7a69b;border-radius:10px;margin-bottom:16px}#error button{margin-left:12px}.btn{min-height:44px}.field:focus{outline-color:var(--gold-lo)}@media(min-width:720px){.category-grid{grid-template-columns:repeat(3,1fr)}.category{align-items:flex-start;flex-wrap:wrap}.category .pill{margin-left:0}.select-fields{grid-template-columns:1fr 1.6fr}.progress-side{width:260px}}@media(max-width:520px){.topbar .chip{display:none}.brand-text b{font-size:14px}.brand-text span{font-size:11px}main{padding:16px 12px}.hero-band{padding:23px}.hero-band .btn{width:100%;justify-content:center}.crumbs{font-size:12px}.progress-card{padding:16px 14px}.progress-card h2{font-size:17px}.progress-side{min-width:120px}.check-section summary{padding:16px 12px;gap:9px}.check-rows{padding:0 8px 10px}.check-row{padding:14px 8px}.check-row>.pill{display:none}.selection{padding:17px}.section-title{font-size:15px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

[hidden]{display:none!important}.login-wrap label{text-align:left;margin:16px 0}.login-wrap .primary{width:100%;justify-content:center}.login-wrap h1{font-size:28px}.login-wrap .brand-mark{width:60px;height:60px}.login-wrap #auth-message{font-size:14px;overflow-wrap:anywhere}.backup-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}.backup-actions label{cursor:pointer}#backup-message{font-size:14px}

#admin-panel{margin-bottom:24px;scroll-margin-top:12px}.user-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:20px 0}.user-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #cfe0ea}.user-row small{display:block;color:#5b6b78;margin-top:6px}.user-actions{display:flex;flex-wrap:wrap;gap:8px}#user-message{margin:18px 0;overflow-wrap:anywhere}@media(max-width:600px){.user-row{align-items:flex-start;flex-direction:column}.top-inner{flex-wrap:wrap}}

#admin-panel{background:#f0f3f7;border:0;padding:24px;border-radius:20px}#admin-panel>.sub{margin-top:8px}#admin-panel .user-fields{grid-template-columns:repeat(3,minmax(0,1fr))}#user-form{background:white;border:1px solid #e3e8ed;border-radius:16px;padding:20px;margin:20px 0 24px}#user-form .user-fields{margin-top:0}#user-list{display:grid;gap:12px}.access-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:16px;box-shadow:0 4px 14px #0b22390b}.access-avatar{width:52px;height:52px;border-radius:50%;background:#244d67;color:white;display:grid;place-items:center;font-size:23px;font-weight:700;flex-shrink:0}.access-person{min-width:0;flex:1}.access-person strong{display:block;text-transform:uppercase;font-size:16px;overflow-wrap:anywhere;color:#183d4b}.access-person small{display:block;color:#5b6b78;font-size:14px;margin-top:5px}.access-actions{display:flex;gap:10px}.access-icon{display:grid;place-items:center;border:0;background:transparent;color:#244d67;width:44px;height:44px;border-radius:8px;cursor:pointer}.access-icon:hover{background:#f2faff}.access-icon.delete{color:#6d7d89}#edit-user-form label{margin:18px 0}#edit-user-message{font-size:14px;color:#a33}.edit-buttons{display:flex;gap:12px;flex-wrap:wrap}#edit-user-dialog{max-width:500px}#edit-user-dialog .primary{width:auto}@media(max-width:700px){#admin-panel .user-fields{grid-template-columns:1fr}#admin-panel{padding:16px}.access-card{padding:16px;gap:12px}.access-avatar{width:44px;height:44px;font-size:21px}.access-actions{gap:2px}.access-person strong{font-size:14px}.access-icon{width:40px}}

.topbar .brand-text { text-align: center; }
.topbar .brand-mark.header-hospital-logo {
  width: 68px; height: 68px;
  border: 0; border-radius: 0;
  background: transparent; box-shadow: none;
  overflow: visible;
}
.topbar .header-hospital-logo img {
  width: 100%; height: 100%; object-fit: contain;
}

.topbar .brand-mark.header-hospital-logo {
  border: 2px solid #e5bd61;
  border-radius: 50%;
  padding: 4px;
  overflow: hidden;
}
.account-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  margin-left: auto;
}
.gold-name {
  color: #e5bd61;
  font-size: 15px;
  font-weight: 700;
}
@media (max-width: 520px) {
  .account-controls { gap: 10px; }
  .gold-name { font-size: 13px; }
}

.topbar .top-inner {
  max-width: 100%;
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
}
.topbar .brand { grid-column: 1; grid-row: 1; }
#header-title {
  grid-column: 2;
  grid-row: 1;
  text-align: center;
  text-transform: uppercase;
  font-size: clamp(22px, 2.3vw, 40px);
  font-weight: 900;
  letter-spacing: 1.8px;
  line-height: 1.2;
  color: #f7d68c;
  background: linear-gradient(#fff2c7, #f7d68c 45%, #e5bd61 70%, #b98a1e);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 1px rgba(0,0,0,.55));
}
.topbar .account-controls { grid-column: 3; grid-row: 1; }
@media (max-width: 1100px) {
  .topbar .top-inner { grid-template-columns: 1fr auto; gap: 16px; }
  .topbar .account-controls { grid-column: 2; flex-wrap: wrap; }
  #header-title {
    grid-column: 1 / -1;
    grid-row: 2;
    font-size: clamp(20px, 4vw, 30px);
    padding-bottom: 8px;
  }
}
@media (max-width: 560px) {
  .topbar .account-controls { gap: 6px; }
  .topbar .account-controls .topbtn { padding: 8px; font-size: 12px; }
}

.topbar .brand-mark.header-hospital-logo {
  padding: 0;
  background: #fff;
  border: 2px solid #e5bd61;
  border-radius: 50%;
  overflow: hidden;
}
.topbar .header-hospital-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.06);
}
