/* Existing SSMP CSS is reused unchanged. Additions below are for new functions. */
a.brand{text-decoration:none}
.patient-stack{display:grid;gap:22px}
.patient-muted{color:var(--navy-500);font-size:14px;line-height:1.55}
.patient-hint{margin:8px 0 0;color:var(--navy-500);font-size:13px;line-height:1.5}
.patient-pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
.patient-step-1 .report-progress__track span{width:33.333%}
.patient-step-2 .report-progress__track span{width:66.667%}
.patient-step-3 .report-progress__track span{width:100%}
.patient-error{color:var(--red-700);line-height:1.5;font-size:14px}
.patient-notice{padding:12px 16px;border:1px solid var(--navy-200);border-radius:10px;color:var(--navy-700);background:var(--navy-050);line-height:1.5;font-size:14px}
.patient-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.patient-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.patient-file-list{display:grid;gap:9px;padding:0;list-style:none}
.patient-file-list li{display:flex;align-items:center;gap:10px;min-width:0}
.patient-file-list li span,.patient-file-list li a{min-width:0;overflow-wrap:anywhere}
.patient-file-list li button{margin-left:auto;flex-shrink:0}
.patient-messages{display:grid;gap:12px;margin:16px 0}
.patient-message{border:1px solid var(--navy-200);border-radius:12px;padding:14px 16px;background:#fff}
.patient-message--internal{border-style:dashed;background:#fff8ed}
.patient-message__meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--navy-500);font-size:12px}
.patient-message__meta strong{color:var(--navy-900)}
.patient-message p{margin:9px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;font-size:14px}
.patient-admin-feedback{width:min(100%,1440px);margin:12px auto}
.patient-admin-fields{display:grid;gap:14px;padding:22px}
.patient-admin-fields h2{margin:0;font-size:22px}
.patient-admin-fields input,.patient-admin-fields select,.patient-admin-fields textarea,.patient-catalog-input{width:100%;min-height:43px;padding:10px 12px;border:1px solid #cfd9e7;border-radius:11px;background:white;color:var(--navy-900);font:inherit}
.patient-admin-fields input:focus,.patient-catalog-input:focus{outline:2px solid #e3193733;border-color:var(--red-600)}
.patient-admin-fields label{display:grid;gap:7px;font-size:13px;color:var(--navy-700)}
.patient-admin-fields .patient-inline-check{display:flex;align-items:center;gap:9px}
.patient-inline-check input{width:18px;height:18px;min-height:18px;accent-color:var(--red-600)}
.patient-catalog-input{min-width:120px;font-size:13px}
.patient-catalog-actions{display:flex;gap:10px;padding:18px 22px}
.patient-admin-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:18px;border-top:1px solid #e9eef5;font-size:13px}
.patient-search-submit{align-self:flex-end}
.patient-admin-toolbar{flex-wrap:wrap}
.patient-admin-toolbar .admin-filter{min-width:150px}
.patient-admin-toolbar input[type=date]{min-height:43px;max-width:170px;border:1px solid #cfd9e7;border-radius:11px;padding:8px 10px;background:#fff}
.patient-admin-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}
.patient-admin-header-actions .patient-user{color:var(--navy-500)}
.patient-drawer-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.patient-drawer-intro h3{margin:0}
.patient-drawer-text{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
.patient-drawer-body .admin-action-form{margin-top:14px}
.patient-drawer-body .patient-inline-check{font-size:12px}
.patient-drawer-body .admin-detail-grid{margin-top:14px}
.patient-drawer-body .patient-file-list{font-size:13px}
.patient-drawer-body .patient-notice{margin-top:14px;font-size:12px}
.patient-qr-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;padding:24px}
.patient-qr-card{max-width:430px;border:1px solid var(--navy-200);border-radius:16px;padding:24px;text-align:center}
.patient-qr-card svg{display:block;width:240px;max-width:100%;height:auto;margin:20px auto}
.patient-qr-card p{overflow-wrap:anywhere;font-size:13px}
.patient-qr-tools{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.patient-privacy h2{font-size:23px;color:var(--navy-900)}
.patient-privacy p,.patient-privacy li{line-height:1.7;color:var(--navy-700)}
body:has(.admin-drawer){overflow:hidden}
button:focus-visible,a:focus-visible,.choice-row:has(input:focus-visible){outline:3px solid #e3193744;outline-offset:3px}
@media(max-width:720px){.patient-admin-header-actions .patient-user,.patient-employee-link{display:none}.patient-admin-header-actions{gap:6px}.patient-admin-toolbar input[type=date]{max-width:none;width:100%}.patient-qr-wrap{padding:18px}.patient-admin-fields{padding:17px}.patient-admin-header-actions button{font-size:12px;padding:0 10px}.patient-search-submit{align-self:stretch}.patient-message{padding:12px}.patient-admin-toolbar .admin-filter{min-width:0}}
@media print{body:has(.patient-qr-card) .admin-login-header,body:has(.patient-qr-card) .admin-dashboard__header,body:has(.patient-qr-card) .admin-navigation,body:has(.patient-qr-card) .admin-summary,body:has(.patient-qr-card) .patient-admin-feedback,body:has(.patient-qr-card) .patient-qr-tools,body:has(.patient-qr-card) .patient-qr-select{display:none!important}.patient-qr-card{page-break-inside:avoid;border:0}.patient-qr-wrap{display:block}.admin-dashboard{background:white}.admin-dashboard__content{border:0;box-shadow:none}}
