*{box-sizing:border-box}body{margin:0;background:#f4f7f8;color:#203b43;font:15px/1.5 system-ui,-apple-system,sans-serif}a{color:#137d80;text-decoration:none}button,input,select{font:inherit}button,.button{cursor:pointer;background:#137d80;color:white;border:0;border-radius:9px;padding:10px 16px;display:inline-block}button:hover,.button:hover{background:#0f6669}button:disabled{opacity:.6}input,select{padding:10px 12px;border:1px solid #d5e0e3;border-radius:8px;background:white;color:#203b43;max-width:100%}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #76bfc6;outline-offset:2px}.sidebar{width:245px;position:fixed;inset:0 auto 0 0;background:white;border-right:1px solid #e0e8eb;padding:32px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-weight:700;color:#203b43}.brand-icon{background:#137d80;color:white;border-radius:12px;padding:8px 14px;font-size:24px}.brand small{display:block;font-weight:400;color:#788e97;font-size:12px}.sidebar nav{margin-top:50px;display:grid;gap:12px}.sidebar nav a{padding:12px 6px}.sidebar-bottom{margin-top:auto;display:grid;font-size:12px;color:#788e97;gap:12px}.main{margin-left:245px;max-width:1600px;padding:42px 44px}.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#137d80;font-weight:700}h1{font-size:32px;letter-spacing:-1px;margin:8px 0}h2{font-size:18px;margin:0 0 18px}p.muted,.muted{color:#6c828c}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.metric,.panel{background:white;border:1px solid #e1e9ec;border-radius:14px;padding:24px}.metric strong{display:block;font-size:32px;letter-spacing:-1px}.metric span{color:#6c828c;font-size:13px}.filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end}.filters label{display:grid;gap:6px;font-size:12px;color:#6c828c}.panels{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin:20px 0}.panel-head{display:flex;gap:14px;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head h2{margin:0}.quiet{background:#eaf4f3;color:#137d80}.quiet:hover{background:#dceeed}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#78909a;border-bottom:1px solid #e5edef;padding:12px}td{padding:16px 12px;border-bottom:1px solid #eef2f4;font-size:13px}td small{display:block;color:#78909a}.badge{font-size:11px;border-radius:20px;background:#e5f3ee;color:#22775e;padding:5px 9px;white-space:nowrap}.pending{background:#fff1d9;color:#94692d}.empty{padding:30px;color:#78909a;text-align:center}.bar-row{display:grid;grid-template-columns:105px 1fr 35px;gap:12px;align-items:center;font-size:12px;margin:13px 0}.bar-track{height:12px;background:#edf3f4;border-radius:20px;overflow:hidden}.bar{height:100%;background:#42a5a5;border-radius:20px}.export-links{display:flex;flex-wrap:wrap;gap:16px;font-size:12px}.message{padding:12px 16px;background:#eaf4f3;border-radius:8px;margin:16px 0}.error{color:#a22f37}.login{max-width:420px;margin:12vh auto;background:white;border:1px solid #e0e8eb;border-radius:18px;padding:36px}.login form{display:grid;gap:16px}.login label{display:grid;gap:6px;font-size:13px}.notice{padding:12px 0;color:#78909a;font-size:12px}svg.chart{width:100%;height:180px;overflow:visible}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.answers{display:grid;gap:18px}.answers li{padding-bottom:14px;border-bottom:1px solid #edf2f3}.answers strong{display:block;font-size:13px}.answers span{color:#647e87}#invite-output{overflow-wrap:anywhere}.toolbar{display:flex;gap:12px;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1000px){.sidebar{width:185px;padding:24px 14px}.main{margin-left:185px;padding:28px 22px}.panels,.detail-grid{grid-template-columns:1fr}}@media(max-width:650px){.sidebar{position:static;width:auto;padding:18px}.sidebar nav{margin-top:16px;display:flex;font-size:12px}.sidebar-bottom{display:none}.main{margin:0;padding:24px 16px}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:26px}.topbar{align-items:start}h1{font-size:27px}.panel{padding:18px}.filters label{flex:1 1 120px}}

/* Center the working area inside the space left by the sidebar. */
.admin-stage{margin-left:245px;min-width:0}.main{margin:0 auto;width:100%;max-width:1600px;min-width:0}.sidebar{z-index:20}.topbar>div{min-width:0}.filters input,.filters select{width:100%}.table-wrap{max-width:100%;overscroll-behavior-inline:contain}.panel-head{flex-wrap:wrap}.panel-head input{min-width:0}.bar-row{grid-template-columns:minmax(80px,105px) minmax(0,1fr) 35px}.metrics,.panels,.detail-grid{min-width:0}.panel,.metric{min-width:0}h1{overflow-wrap:anywhere}
@media(min-width:1900px){.main{max-width:1720px;padding-top:48px}}@media(max-width:1000px){.admin-stage{margin-left:185px}.main{margin:0 auto;width:100%}}@media(max-width:650px){.admin-stage{margin-left:0}.main{margin:0;width:100%}.sidebar-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.sidebar nav{flex-wrap:wrap}.sidebar nav a{padding:6px 0}.metrics{grid-template-columns:1fr}.metric{display:flex;align-items:center;justify-content:space-between}.topbar{flex-direction:column;gap:10px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filters label{min-width:0}.filters button{width:100%}.panels,.detail-grid{grid-template-columns:1fr}.toolbar{width:100%}.toolbar .button{width:100%;text-align:center}.panel-head input{width:100%}.brand{justify-content:flex-start}.bar-row{grid-template-columns:90px minmax(0,1fr) 25px}table{min-width:620px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #e8dfd7;margin-top:18px;padding-top:16px;font-size:12px;scroll-margin-top:20px}.page-summary{color:#73656a;white-space:nowrap}.page-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.page-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;min-width:32px;padding:6px 10px;border:1px solid #e8dfd7;border-radius:7px;background:#fffdfb;color:#b90024}.page-link:hover{background:#fae5e8}.page-link.disabled{color:#aaa;background:#f5f1ed;cursor:default}.page-current{padding:6px;color:#73656a;white-space:nowrap}#activity,#trend,#history{scroll-margin-top:20px}@media(max-width:650px){.pagination{align-items:flex-start;flex-direction:column}.page-controls{gap:4px}.page-link{padding:7px 9px}.page-current{font-size:11px;padding:4px}}

#activity,#trend,#history{display:flex;flex-direction:column;overflow-anchor:none}#activity>.pagination,#trend>.pagination,#history>.pagination{margin-top:auto}.pagination{padding-top:18px}.pagination:focus{outline:none}.panel[aria-busy="true"] .page-controls{opacity:.5;pointer-events:none}.pagination-feedback{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:12px 18px;background:#fff0f1;color:#98001d;border:1px solid #e2d2bf;border-radius:8px;z-index:40}#history .table-wrap{flex-shrink:0}

#history tbody td{height:72px}#history td:first-child{min-width:180px;max-width:260px}#history .patient-name{display:block;max-width:240px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#history td:first-child small{height:18px;line-height:18px;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Let pagination preserve the viewport explicitly instead of browser scroll anchoring. */
html{overflow-anchor:none}

.pagination-live-region{position:fixed;top:0;left:0;width:1px;height:1px;margin:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}

.admin-icon{width:1.125rem;height:1.125rem;flex:none;vertical-align:middle}
.sidebar nav a,.sidebar-bottom button,.dashboard-actions .button,.dashboard-actions button,.icon-action,.filters button{display:inline-flex;align-items:center;gap:.55rem}
.sidebar nav a{padding:.65rem .6rem;border-radius:8px}
.sidebar nav a[aria-current="page"]{background:#fae5e8;color:#98001d;font-weight:650}
.dashboard-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}
.dashboard-actions small{flex-basis:100%;color:#73656a}
.metric span{display:flex;align-items:center;gap:.45rem}
.metric .admin-icon{color:#98001d}
