:root{--gray-100:#fff;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#6b7280;--gray-500:#111;--hue-blue:#003da5;--hue-blue-pale:#dce8ff;--hue-cyan:#3498db;--hue-cyan-pale:#d8ecfb;--hue-green:#2ecc71;--hue-green-pale:#d8f7e6;--hue-yellow:#f1c40f;--hue-yellow-pale:#fcf4cc;--hue-red:#d63031;--hue-red-pale:#f9d7d7;--hue-purple:#9b59b6;--hue-purple-pale:#ecdef3;--patient-card-min-width:320px}body{margin:0;font-family:"Red Hat Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{-webkit-animation:App-logo-spin 20s linear infinite;animation:App-logo-spin 20s linear infinite}}.App-header{background-color:var(--gray-500);min-height:100vh;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;font-size:calc(10px + 2vmin);color:var(--gray-100)}.App-link{color:var(--hue-cyan)}.app-container{min-height:100vh;background-color:var(--hue-blue-pale);color:var(--gray-500);font-family:"Red Hat Text",system-ui,sans-serif}.patient-grid-wrapper{width:100%;margin-top:20px;padding:0 24px;box-sizing:border-box}.patient-lookup-toolbar{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);grid-gap:24px;gap:24px;-webkit-align-items:start;align-items:start;margin-bottom:24px}.patient-lookup-toolbar .search-card{max-width:none;margin:0}.patient-grid{display:grid;grid-gap:24px;gap:24px;width:100%;max-width:2000px;margin:0 auto;grid-template-columns:repeat(auto-fit,minmax(var(--patient-card-min-width),1fr))}.user-panel{position:absolute;top:20px;right:30px;grid-gap:12px;gap:12px}.top-bar,.user-panel{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}.top-bar{position:fixed;top:0;left:0;width:100%;min-height:70px;background-color:var(--gray-100);border-bottom:1px solid var(--gray-200);box-shadow:0 2px 8px rgba(0,0,0,.04);-webkit-justify-content:space-between;justify-content:space-between;padding:12px 32px;box-sizing:border-box;z-index:50}.nav-left{display:-webkit-flex;display:flex;grid-gap:30px;gap:30px;-webkit-flex-wrap:wrap;flex-wrap:wrap}.nav-link{position:relative;text-decoration:none;font-weight:500;color:var(--gray-500);transition:color .2s ease}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background-color:var(--hue-blue);-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:center;transform-origin:center;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.nav-link.active,.nav-link:hover{color:var(--hue-blue)}.nav-link.active:after{-webkit-transform:scaleX(1);transform:scaleX(1)}.nav-right{display:-webkit-flex;display:flex;grid-gap:12px;gap:12px;-webkit-flex-shrink:0;flex-shrink:0}.nav-right,.session-timer{-webkit-align-items:center;align-items:center}.session-timer{display:-webkit-inline-flex;display:inline-flex;-webkit-justify-content:center;justify-content:center;height:34px;padding:0 14px;border-radius:10px;background:var(--hue-blue-pale);border:1px solid var(--hue-blue);color:var(--hue-blue);font-size:.8rem;font-weight:600;line-height:1;white-space:nowrap}.session-timer-warning{background:var(--hue-yellow-pale);border-color:var(--hue-yellow);color:var(--gray-500)}.session-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;padding:20px;z-index:80}.session-modal{width:min(460px,100%);background:var(--gray-100);border-radius:10px;box-shadow:0 16px 36px rgba(0,0,0,.22);padding:24px;box-sizing:border-box}.session-modal h2{margin-top:0;margin-bottom:12px}.session-modal p{margin:0 0 10px}.session-modal-actions{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;grid-gap:10px;gap:10px;margin-top:18px}.session-modal-actions button{padding:10px 16px;border-radius:4px;border:none;background:var(--hue-blue);color:var(--gray-100);font-weight:600;cursor:pointer}.session-modal-actions button:disabled{opacity:.7;cursor:wait}.session-secondary-button{background:var(--gray-100)!important;color:var(--hue-blue)!important;border:1px solid var(--hue-blue)!important}.role-badge{display:-webkit-flex;display:flex;padding:0 14px;text-transform:capitalize;letter-spacing:.3px}.logout-button,.role-badge{-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;height:34px;font-weight:600}.logout-button,.role-badge{display:-webkit-inline-flex;display:inline-flex;padding:0 16px;font-size:.85rem;line-height:1;border-radius:10px}.role-badge{padding:0 12px;font-size:.8rem;font-weight:700;background:var(--gray-500);color:var(--gray-100)}.role-volunteer{background-color:var(--gray-300);color:var(--gray-500)}.role-officestaff,.role-receptionist{background-color:var(--hue-green);color:var(--gray-100)}.role-medicalpersonnel,.role-nurse{background-color:var(--hue-cyan);color:var(--gray-100)}.role-doctor,.role-physician{background-color:var(--hue-purple);color:var(--gray-100)}.role-admin{background-color:var(--hue-yellow);color:var(--gray-500)}.logout-button:hover{background-color:var(--hue-red)}.patient-pagination-controls{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between;grid-gap:12px;gap:12px;padding:0 24px;margin:8px auto 16px;max-width:2000px;box-sizing:border-box}.patient-pagination-summary{font-size:.9rem;color:var(--gray-400)}.patient-pagination-actions{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;grid-gap:10px;gap:10px}.pagination-button{border:none;border-radius:4px;padding:8px 12px;background-color:var(--hue-blue);color:var(--gray-100);cursor:pointer}.pagination-button:disabled{background-color:var(--gray-300);color:var(--gray-400);cursor:not-allowed}.pagination-page-indicator{font-size:.9rem;color:var(--gray-500);min-width:100px;text-align:center}.info-message{margin:12px 0;padding:10px 12px;border-radius:6px;border:1px solid var(--hue-yellow)}.info-message,.info-message.error{background-color:var(--hue-yellow-pale);color:var(--gray-500)}.info-message.error{border-color:var(--hue-yellow)}.error-message{margin:12px 0;padding:10px 12px;border-radius:6px;background-color:var(--hue-red-pale);border:1px solid var(--hue-red);color:var(--gray-500)}.page-content{padding:110px 40px 40px}@media (max-width:1024px){.top-bar{padding:12px 20px}.page-content{padding-left:24px;padding-right:24px}.patient-lookup-toolbar{grid-template-columns:1fr}}@media (max-width:768px){:root{--patient-card-min-width:260px}.top-bar{-webkit-align-items:flex-start;align-items:flex-start;-webkit-flex-direction:column;flex-direction:column;grid-gap:10px;gap:10px;min-height:0}.nav-left{grid-gap:14px;gap:14px}.nav-right{width:100%;-webkit-justify-content:flex-start;justify-content:flex-start}.session-modal-actions{-webkit-flex-direction:column;flex-direction:column}.page-content{padding:130px 12px 20px}.patient-pagination-controls{-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;align-items:flex-start;padding:0 8px}.patient-pagination-actions{width:100%;-webkit-flex-wrap:wrap;flex-wrap:wrap}.patient-grid-wrapper{padding:0 8px}}@-webkit-keyframes App-logo-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes App-logo-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.account-menu{position:relative}.account-menu-link,.account-menu-toggle,.logout-button{display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;min-height:34px;padding:0 16px;border-radius:10px;border:1px solid transparent;font-size:.85rem;font-weight:600;line-height:1;text-decoration:none;cursor:pointer}.account-menu-toggle{background:var(--hue-blue);color:var(--gray-100)}.account-menu-link:hover,.account-menu-toggle:hover{background:var(--hue-cyan);color:var(--gray-100)}.account-menu-panel{position:absolute;top:calc(100% + 10px);right:0;width:320px;padding:18px;border-radius:16px;border:1px solid var(--gray-200);background:var(--gray-100);box-shadow:0 18px 42px rgba(0,0,0,.12);z-index:80}.account-menu-header,.account-menu-section{margin-bottom:16px}.account-menu-eyebrow,.account-menu-label{margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--gray-400)}.account-menu-username{margin:0;font-size:1.05rem;font-weight:700}.account-menu-copy{margin:0 0 10px;color:var(--gray-400);line-height:1.45}.account-menu-actions{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;grid-gap:10px;gap:10px}.account-menu-link,.logout-button{width:100%;box-sizing:border-box}.account-menu-link{background:var(--hue-blue);color:var(--gray-100)}.logout-button{border:1px solid var(--hue-red);background:var(--gray-100);color:var(--hue-red)}.role-mfa_pending,.role-quarantined{background-color:var(--gray-400);color:var(--gray-100)}@media (max-width:768px){.account-menu,.account-menu-toggle{width:100%}.account-menu-panel{position:static;width:100%;margin-top:10px}}.account-menu-link-standalone{background:var(--hue-blue);color:var(--gray-100)}.account-menu-link-standalone:hover{background:var(--hue-cyan);color:var(--gray-100)}.account-menu-link-secondary{background:var(--gray-100);color:var(--hue-blue);border-color:var(--hue-blue)}.account-menu-link-secondary:hover{background:var(--hue-blue-pale);color:var(--hue-blue)}.patient-overlay-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;align-items:center;z-index:1000;padding:16px;box-sizing:border-box}.patient-overlay-card{width:min(900px,calc(100vw - 32px));max-height:90vh;overflow-y:auto;background:var(--gray-100);padding:40px;border-radius:4px;font-family:"Times New Roman",serif;box-shadow:0 10px 30px rgba(0,0,0,.3);box-sizing:border-box}.patient-overlay-header{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;align-items:center;margin-bottom:20px;grid-gap:12px;gap:12px}.patient-overlay-actions{margin-bottom:20px}.patient-section{margin-bottom:30px}.patient-field-row{display:grid;grid-template-columns:250px 1fr;margin-bottom:10px;grid-gap:8px;gap:8px}.patient-field-label-group{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;grid-gap:6px;gap:6px}.patient-field-row label{font-weight:700}.permission-indicator-list{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;grid-gap:6px;gap:6px;-webkit-flex-wrap:wrap;flex-wrap:wrap}.permission-indicator{width:11px;height:11px;border-radius:3px;-webkit-flex-shrink:0;flex-shrink:0;border:1px solid rgba(0,0,0,.2)}.permission-volunteer{background-color:var(--gray-300)}.permission-officestaff{background-color:var(--hue-green)}.permission-medicalpersonnel{background-color:var(--hue-cyan)}.permission-physician{background-color:var(--hue-purple)}.permission-admin{background-color:var(--hue-yellow)}.patient-field-value{border-bottom:1px solid var(--gray-300);padding:4px 0}@media (max-width:768px){.patient-overlay-card{padding:20px}.patient-field-row{grid-template-columns:1fr}.patient-overlay-header{-webkit-align-items:flex-start;align-items:flex-start;-webkit-flex-direction:column;flex-direction:column}}@media print{.patient-overlay-backdrop{position:static;background:none;padding:0}.patient-overlay-card{box-shadow:none;width:100%;max-height:none}}.patient-append-existing{margin-bottom:8px;min-height:24px}.append-note-button{margin-top:8px}.add-patient-page{display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;padding:8px 0 24px}.add-patient-shell{width:min(980px,100%);background:linear-gradient(180deg,var(--gray-100),#f7fbff);border:1px solid rgba(0,61,165,.12);border-radius:18px;box-shadow:0 18px 44px rgba(0,61,165,.08);padding:28px 28px 32px;box-sizing:border-box}.add-patient-header{margin-bottom:20px}.add-patient-header h2{margin:0 0 12px;color:var(--hue-blue);font-size:2rem}.add-patient-hint{margin:0;background-color:var(--hue-cyan-pale);border-color:rgba(52,152,219,.35)}.add-patient-form{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;grid-gap:8px;gap:8px}.add-patient-form .patient-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--gray-200)}.add-patient-form .patient-section h3{margin:0 0 14px;color:var(--hue-blue)}.add-patient-form .patient-field-row{-webkit-align-items:start;align-items:start}.add-patient-form .patient-field-value{border-bottom:none}.add-patient-form input,.add-patient-form select,.add-patient-form textarea{width:100%;max-width:100%;border:1px solid var(--gray-300);border-radius:10px;padding:10px 12px;box-sizing:border-box;background-color:var(--gray-100);color:var(--gray-500);font:inherit}.add-patient-form input:focus,.add-patient-form select:focus,.add-patient-form textarea:focus{outline:2px solid rgba(0,61,165,.18);border-color:var(--hue-blue)}.add-patient-birth-row,.add-patient-birth-section{margin-bottom:0}.add-patient-actions{display:-webkit-flex;display:flex;-webkit-justify-content:flex-start;justify-content:flex-start;padding-top:8px}.add-patient-submit{border:none;border-radius:999px;background-color:var(--hue-blue);color:var(--gray-100);padding:12px 20px;font:inherit;font-weight:600;cursor:pointer;box-shadow:0 10px 24px rgba(0,61,165,.2)}.add-patient-submit:hover:not(:disabled){background-color:var(--hue-cyan)}.add-patient-submit:disabled{background-color:var(--gray-300);color:var(--gray-400);cursor:not-allowed;box-shadow:none}.add-patient-success{background-color:var(--hue-green-pale);border-color:rgba(46,204,113,.45);color:#0f5132}@media (max-width:768px){.add-patient-shell{padding:20px 16px 24px;border-radius:14px}.add-patient-form .patient-field-row{grid-template-columns:1fr}}.admin-console{background-color:var(--gray-500);color:var(--gray-200);font-family:Consolas,"Courier New",monospace;padding:20px;border-radius:6px}.admin-console h3{margin-bottom:20px;color:var(--hue-cyan)}.admin-tabs,.tab-buttons{display:-webkit-flex;display:flex;grid-gap:10px;gap:10px;margin-bottom:15px;-webkit-flex-wrap:wrap;flex-wrap:wrap}.admin-tabs button,.tab-buttons button{position:relative;margin-right:0;padding:6px 12px;border:none;border-radius:4px;background-color:hsla(0,0%,100%,.06);color:var(--gray-200);cursor:pointer}.admin-tabs button:after,.tab-buttons button:after{content:"";position:absolute;left:8px;right:8px;bottom:3px;height:2px;background-color:var(--hue-cyan);-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:center;transform-origin:center;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.admin-tabs button.active,.tab-buttons button.active{background-color:var(--hue-blue);color:var(--gray-100)}.admin-tabs button.active:after,.tab-buttons button.active:after{-webkit-transform:scaleX(1);transform:scaleX(1)}.edit-patient-section,.patient-form{margin-top:15px}.admin-console input,.admin-console select,.admin-console textarea{display:block;margin-top:4px;margin-bottom:10px;padding:6px;width:100%;max-width:400px;border:1px solid var(--hue-blue);border-radius:4px;background-color:hsla(0,0%,100%,.06);color:var(--gray-200)}.admin-console .admin-role-select{color:var(--gray-200);background-color:hsla(0,0%,100%,.08)}.admin-console .admin-role-select option{color:var(--gray-200);background-color:var(--gray-500)}.admin-console button{padding:8px 16px;margin-right:8px;border:none;border-radius:4px;background-color:var(--hue-blue);cursor:pointer;font-family:Consolas,"Courier New",monospace;color:var(--gray-100)}.admin-console button:hover{background-color:var(--hue-cyan)}.admin-console .error-message{background-color:var(--hue-red);padding:8px;margin-bottom:10px;border-radius:4px;color:var(--gray-100)}.admin-console .info-message{background-color:var(--hue-yellow-pale);border:1px solid var(--hue-yellow);padding:8px;margin-bottom:10px;border-radius:4px;color:var(--gray-500)}.policy-label{display:inline-block;margin-left:10px;font-weight:700;color:var(--hue-cyan)}.admin-console table{width:100%;border-collapse:collapse;font-size:.85rem;table-layout:auto}.admin-console td,.admin-console th{padding:4px 14px 4px 8px;vertical-align:top;border-bottom:1px solid hsla(0,0%,100%,.08)}.admin-console th{text-align:left;color:var(--hue-blue)}.admin-console tbody tr{transition:background-color .15s ease}.admin-console tbody tr:hover{background-color:hsla(0,0%,100%,.06)}.action-error,.action-fail{color:var(--hue-red);font-weight:700}.audit-container{padding:24px;background-color:var(--gray-500);color:var(--gray-200);font-family:Consolas,"Courier New",monospace;border-radius:10px;box-shadow:0 0 20px rgba(0,0,0,.6);border:1px solid var(--gray-400)}.search-btn,.verify-btn{background-color:var(--hue-blue);color:var(--gray-100);border:none;padding:6px 14px;border-radius:4px;cursor:pointer;font-family:inherit;font-size:.85rem;transition:background-color .2s ease}.search-btn:hover,.verify-btn:hover{background-color:var(--hue-cyan)}.search-btn:active,.verify-btn:active{background-color:var(--hue-blue)}.audit-header{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;align-items:center;margin-bottom:16px}.audit-header h2{color:var(--hue-blue);font-weight:400;letter-spacing:1px}.verify-container{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:flex-end;align-items:flex-end;min-width:280px}.verify-fail,.verify-ok{margin-top:6px;text-align:right;font-size:.8rem}.verify-ok{color:var(--hue-green);font-weight:700}.verify-fail{color:var(--hue-red);font-weight:700}.audit-filters{-webkit-flex-direction:column;flex-direction:column;margin-bottom:20px}.audit-filters,.filter-row{display:-webkit-flex;display:flex;grid-gap:12px;gap:12px}.date-row label,.filter-row{-webkit-align-items:center;align-items:center}.date-row label{display:-webkit-flex;display:flex;grid-gap:8px;gap:8px;color:var(--gray-400);font-size:.8rem}.audit-filters input{background:hsla(0,0%,100%,.06);border:1px solid var(--gray-400);color:var(--gray-200);padding:6px 8px;border-radius:4px}.audit-table{width:100%;border-collapse:collapse;font-size:.85rem;table-layout:auto}.audit-table th{text-align:left;padding-bottom:8px;color:var(--hue-cyan);border-bottom:1px solid var(--gray-400)}.audit-table td{padding:4px 8px;vertical-align:top;border-bottom:1px solid hsla(0,0%,100%,.08)}.audit-table tbody tr{transition:background-color .15s ease}.audit-table tbody tr:hover{background-color:var(--gray-500)}.audit-table td:first-child,.audit-table td:nth-child(2),.audit-table td:nth-child(3),.audit-table td:nth-child(4),.audit-table th:first-child,.audit-table th:nth-child(2),.audit-table th:nth-child(3),.audit-table th:nth-child(4){white-space:nowrap}.audit-table td:nth-child(5),.audit-table th:nth-child(5){width:100%}.audit-table td:nth-child(3),.audit-table th:nth-child(3){padding-right:14px}.details pre{margin:0;white-space:pre-wrap;color:var(--hue-yellow-pale)}.action-success{color:var(--hue-green)}.action-attempt{color:var(--hue-yellow)}.action-error,.action-fail{color:var(--hue-red);font-weight:700}.action-auth{color:var(--hue-purple)}.action-audit{color:var(--hue-cyan)}.login-container{width:100%;min-width:0;max-width:380px;background:var(--gray-100);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.08);overflow:hidden;font-family:"Red Hat Text",system-ui,sans-serif}.login-accent{height:6px;background:var(--hue-blue)}.login-content{padding:24px}.login-helper{margin:0 0 16px;color:var(--gray-400);line-height:1.5}.login-container .form-group{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;margin-bottom:14px}.login-container label{font-size:.8rem;color:var(--gray-400);margin-bottom:4px}.login-container input{padding:8px 10px;border-radius:6px;border:1px solid var(--gray-300);font-size:.9rem}.login-container input:focus{outline:none;border-color:var(--hue-blue);box-shadow:0 0 0 1px var(--hue-blue)}.login-container button{margin-top:12px;padding:10px;background:var(--hue-blue);color:var(--gray-100);border:none;border-radius:8px;font-size:.9rem;cursor:pointer}.login-container button:hover:not(:disabled){background:var(--hue-cyan)}.login-container button:disabled{opacity:.7;cursor:not-allowed}.login-error{margin-top:12px;color:var(--hue-red);font-size:.85rem}.account-page-shell{display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;padding:24px 12px}.account-page-card{width:100%;max-width:560px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:18px;box-shadow:0 12px 32px rgba(0,0,0,.08);padding:28px;box-sizing:border-box}.account-page-header{margin-bottom:20px}.account-page-header h2{margin:0 0 10px}.account-page-eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:var(--gray-400)}.account-page-copy{margin:8px 0;color:var(--gray-400);line-height:1.5}.account-hidden-username{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.account-password-form{position:relative}.account-password-form .form-group{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;margin-bottom:16px}.account-password-form label{margin-bottom:6px;font-size:.92rem;font-weight:600}.account-password-form input{min-height:42px;padding:10px 12px;border-radius:10px;border:1px solid var(--gray-300);font-size:.95rem}.account-password-form input:focus{outline:none;border-color:var(--hue-blue);box-shadow:0 0 0 1px var(--hue-blue)}.password-policy-panel,.password-strength-panel{margin:20px 0;padding:14px 16px;border-radius:12px}.password-strength-panel{background:var(--hue-yellow-pale);border:1px solid rgba(241,196,15,.45)}.password-policy-panel{background:var(--hue-blue-pale);border:1px solid rgba(0,61,165,.18)}.password-policy-title{margin:0 0 10px;font-weight:700}.password-policy-panel ul{margin:0;padding-left:18px;color:var(--gray-500)}.account-password-form button{min-width:220px;min-height:42px;padding:10px 16px;border:none;border-radius:10px;background:var(--hue-blue);color:var(--gray-100);font-size:.95rem;font-weight:600;cursor:pointer}.account-password-form button:hover:not(:disabled){background:var(--hue-cyan)}.account-password-form button:disabled{cursor:wait;opacity:.75}@media (max-width:768px){.account-page-card{padding:20px}.account-password-form button{width:100%}}.mfa-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px;-webkit-align-items:start;align-items:start}.mfa-manual-panel,.mfa-qr-panel{padding:18px;border-radius:14px;border:1px solid var(--gray-200);background:var(--gray-100)}.mfa-qr-panel{text-align:center;background:linear-gradient(180deg,var(--hue-blue-pale),var(--gray-100))}.mfa-qr-image{width:220px;height:220px;max-width:100%;border-radius:14px;border:1px solid var(--gray-300);background:var(--gray-100)}.mfa-secret-box{margin:12px 0 18px;padding:12px;border-radius:10px;background:var(--gray-500);color:var(--gray-100);font-family:monospace;font-size:1rem;letter-spacing:.08em;word-break:break-all}@media (max-width:768px){.mfa-setup-grid{grid-template-columns:1fr}.mfa-qr-image{width:200px;height:200px}}.about-page{max-width:1200px;margin:0 auto}.about-hero{margin-bottom:28px}.about-eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;color:var(--hue-blue)}.about-hero h1{margin:0 0 12px;font-size:clamp(2rem,4vw,3rem)}.about-intro{max-width:720px;margin:0;line-height:1.6;color:var(--gray-400)}.about-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:20px;gap:20px;margin-bottom:32px}.about-card{min-height:240px;padding:22px;border-radius:18px;box-shadow:0 10px 24px rgba(0,0,0,.08);display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;grid-gap:18px;gap:18px}.about-card-logo-wrap{height:72px;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}.about-card-logo{width:72px;height:72px;object-fit:contain}.about-card-logo-placeholder{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;border-radius:20px;background:hsla(0,0%,100%,.75);color:var(--gray-500);font-size:1.1rem;font-weight:800}.about-card-copy h2{margin:0 0 8px;font-size:1.15rem;line-height:1.35;text-align:center}.about-card-copy p{margin:0;line-height:1.55;text-align:center}.about-card-react{background:linear-gradient(145deg,#153249,#215a82);color:var(--gray-100)}.about-card-flask{background:linear-gradient(145deg,#f1f5f9,#dbe7f0)}.about-card-sqlalchemy{background:linear-gradient(145deg,#fde68a,#fbbf24)}.about-card-docker{background:linear-gradient(145deg,#d9f0ff,#7dd3fc)}.about-card-keycloak{background:linear-gradient(145deg,#fee2e2,#fca5a5)}.about-card-nginx{background:linear-gradient(145deg,#dcfce7,#86efac)}.about-card-fhir{background:linear-gradient(145deg,#ede9fe,#c4b5fd)}.about-card-cia{background:linear-gradient(145deg,#dbeafe,#93c5fd)}.about-card-hipaa{background:linear-gradient(145deg,#ecfccb,#bef264)}.about-card-mailhog{background:linear-gradient(145deg,#fef3c7,#fcd34d)}.about-card-gitlab{background:linear-gradient(145deg,#ffedd5,#fb923c)}.about-section{margin-top:24px;padding:24px;border-radius:18px;background:var(--gray-100);box-shadow:0 10px 24px rgba(0,0,0,.05)}.about-section h2{margin-top:0}.about-list{margin:12px 0 0;padding-left:20px;line-height:1.7}.about-list-code code{font-size:.95rem}@media (max-width:768px){.about-card{min-height:0}}.patient-card{width:100%;min-width:0;background-color:var(--gray-100);border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.05);font-family:"Red Hat Text",system-ui,sans-serif;transition:box-shadow .2s ease;box-sizing:border-box}.patient-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.08)}.patient-accent{height:4px;background:var(--hue-blue)}.patient-body{padding:18px 22px 22px}.patient-header{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;align-items:center;grid-gap:10px;gap:10px}.patient-name{font-size:1.1rem;font-weight:700;color:var(--gray-500)}.patient-id{font-size:.75rem;font-weight:600;color:var(--hue-blue);background:var(--hue-blue-pale);padding:4px 10px;border-radius:4px}.patient-subheader{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;margin-top:8px;font-size:.85rem;color:var(--gray-400);grid-gap:8px;gap:8px}.patient-divider{height:1px;background:var(--gray-200);margin:14px 0}.patient-card-inner-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 18px;gap:14px 18px}.chart-item{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column}.chart-item.full-width{grid-column:span 2}.chart-label{font-size:.7rem;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.chart-value{font-size:.9rem;font-weight:500;color:var(--gray-500);word-break:break-word}.patient-card-actions{margin-top:15px}@media (max-width:768px){.patient-body{padding:14px}.patient-header,.patient-subheader{-webkit-align-items:flex-start;align-items:flex-start;-webkit-flex-direction:column;flex-direction:column}.patient-card-inner-grid{grid-template-columns:1fr;grid-gap:12px;gap:12px}.chart-item.full-width{grid-column:auto}}.patient-report-actions{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;grid-gap:8px;gap:8px}.patient-report-actions-compact{-webkit-align-items:flex-end;align-items:flex-end}.patient-report-button-row{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;grid-gap:10px;gap:10px}.patient-report-button{border:1px solid var(--hue-blue);background:var(--gray-100);color:var(--hue-blue);border-radius:4px;padding:8px 12px;font-weight:600;cursor:pointer}.patient-report-button:disabled{opacity:.7;cursor:wait}.patient-report-error{margin:0;color:#a12626;font-size:.9rem}@media (max-width:768px){.patient-report-actions-compact{-webkit-align-items:stretch;align-items:stretch}.patient-report-button-row{-webkit-flex-direction:column;flex-direction:column}}.search-card{width:100%;max-width:900px;margin:0 auto 32px;background:var(--gray-100);border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.06);padding:24px;box-sizing:border-box}.search-header-group{margin-bottom:20px}.search-header{font-size:1rem;font-weight:700;color:var(--gray-500)}.search-tooltip-row{margin-top:8px}.tooltip-wrapper{position:relative;display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;width:22px;height:22px;cursor:pointer;font-size:.85rem;font-weight:700;color:var(--gray-100);background:var(--hue-blue);border-radius:999px}.tooltip-content{visibility:hidden;opacity:0;position:absolute;top:125%;left:0;width:260px;background-color:var(--gray-500);color:var(--gray-100);text-align:left;padding:8px;border-radius:6px;font-size:.8rem;line-height:1.4;transition:opacity .2s ease;z-index:10}.tooltip-wrapper:hover .tooltip-content{visibility:visible;opacity:1}.search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:20px;gap:20px}.field{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column}.field label{font-size:.75rem;font-weight:600;color:var(--gray-400);margin-bottom:6px;text-transform:uppercase}.field input,.field select{padding:8px 10px;border-radius:4px;border:1px solid var(--gray-300);font-size:.85rem}.field input:focus,.field select:focus{outline:none;border-color:var(--hue-blue);box-shadow:0 0 0 1px var(--hue-blue)}.apply-button{margin-top:24px;padding:10px 18px;background:var(--hue-blue);color:var(--gray-100);border:none;border-radius:4px;font-weight:600;cursor:pointer}.apply-button:hover{background:var(--hue-cyan)}.search-actions{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;grid-gap:10px;gap:10px;-webkit-align-items:center;align-items:center;margin-top:24px}.search-actions .apply-button{margin-top:0}@media (max-width:768px){.search-card{padding:16px;margin-bottom:20px}.search-grid{grid-template-columns:1fr;grid-gap:14px;gap:14px}.apply-button,.inline-action-note{width:100%}.search-actions{-webkit-align-items:stretch;align-items:stretch}.tooltip-content{left:auto;right:0;width:min(260px,calc(100vw - 48px))}}.disclosure-card{width:100%;background:var(--gray-100);border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.06);padding:24px;box-sizing:border-box}.disclosure-header{font-size:1rem;font-weight:700;margin-bottom:10px;color:var(--gray-500)}.disclosure-help{margin:0 0 18px;color:var(--gray-400);line-height:1.5}.disclosure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:20px;gap:20px}.disclosure-actions{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;grid-gap:10px;gap:10px;margin-top:20px;-webkit-align-items:center;align-items:center}.disclosure-secondary-button{padding:10px 18px;border-radius:4px;border:1px solid var(--hue-blue);background:var(--gray-100);color:var(--hue-blue);font-weight:600;cursor:pointer}.disclosure-secondary-button:disabled{opacity:.7;cursor:wait}.inline-action-note{margin:0;padding:10px 12px}.action-button-disabled,.action-button-disabled:hover{background:var(--gray-300);color:var(--gray-400);cursor:not-allowed}.disclosure-preview{margin-top:20px;border-top:1px solid var(--gray-200);padding-top:16px}.disclosure-preview h3{margin:0 0 12px}.disclosure-preview-list{margin:0;padding-left:18px;line-height:1.6}.disclosure-preview-json{margin:0;white-space:pre-wrap;word-break:break-word;background:var(--hue-blue-pale);padding:12px;border-radius:4px}@media (max-width:768px){.disclosure-card{padding:16px}.disclosure-grid{grid-template-columns:1fr;grid-gap:14px;gap:14px}.disclosure-actions{-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:stretch;align-items:stretch}.disclosure-actions .apply-button,.disclosure-secondary-button,.inline-action-note{width:100%}}.room-card{width:100%;min-width:0;background-color:var(--gray-100);border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.05);font-family:"Red Hat Text",system-ui,sans-serif;transition:box-shadow .2s ease;box-sizing:border-box}.room-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.08)}.room-accent{height:4px;background:var(--hue-green)}.room-body{padding:18px 22px 22px}.room-header{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;align-items:center;grid-gap:10px;gap:10px}.room-name{font-size:1.1rem;font-weight:700;color:var(--gray-500)}.room-badge{font-size:.75rem;font-weight:600;color:var(--hue-green);background:#edf8ef;padding:4px 10px;border-radius:4px}.room-divider{height:1px;background:var(--gray-200);margin:14px 0}.room-card-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 18px;gap:14px 18px}.room-item{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column}.room-item.full-width{grid-column:span 2}.room-label{font-size:.7rem;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.room-value{font-size:.9rem;font-weight:500;color:var(--gray-500);word-break:break-word}.room-card-actions{margin-top:15px}@media (max-width:768px){.room-body{padding:14px}.room-header{-webkit-align-items:flex-start;align-items:flex-start;-webkit-flex-direction:column;flex-direction:column}.room-card-grid{grid-template-columns:1fr;grid-gap:12px;gap:12px}.room-item.full-width{grid-column:auto}}.room-search-card{width:100%;background:var(--gray-100);border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.06);padding:24px;box-sizing:border-box}.room-search-header{font-size:1rem;font-weight:700;margin-bottom:20px;color:var(--gray-500)}.room-search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:20px;gap:20px}@media (max-width:768px){.room-search-card{padding:16px}.room-search-grid{grid-template-columns:1fr;grid-gap:14px;gap:14px}}
/*# sourceMappingURL=main.49120162.chunk.css.map */