.patient-app{--ink:#203842;--muted:#64767d;--line:#e3ebed;--accent:#087f83;background:#f7f9fa;color:var(--ink);font:15px/1.6 "Segoe UI",system-ui,sans-serif}
.patient-app .portal-shell{max-width:1120px;padding:0 32px;margin:auto}
.patient-app .site-header{height:92px;padding:0;border-bottom:1px solid var(--line)}
.patient-app .brand-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--accent)}
.patient-app .brand{font-size:15px;letter-spacing:2px}.patient-app .brand-mark{display:grid;place-items:center;width:30px;height:30px;background:var(--accent);border-radius:9px;color:#fff;font-size:25px;font-weight:500;line-height:1}
.patient-app .site-caption{font-size:13px;color:var(--muted)}
.patient-app section{box-shadow:none;margin:0;border-radius:0;padding:0;background:transparent}
.patient-app h1,.patient-app h2,.patient-app h3{letter-spacing:-.025em;color:var(--ink)}
.patient-app h1{font-size:30px;line-height:1.25;margin:8px 0 6px;font-weight:650}.patient-app h2{font-size:26px;line-height:1.3;margin:0 0 9px;font-weight:650}.patient-app h3{font-size:16px;font-weight:650;margin:24px 0 8px}
.patient-app p{margin:0 0 12px}.patient-app .muted,.patient-app .section-heading p{color:var(--muted)}
.patient-app .eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:var(--accent)}
.patient-app button{font-size:14px;font-weight:600;padding:11px 18px;border-radius:7px;margin-top:0;line-height:1.5;transition:background .15s}
.patient-app button:hover:not(:disabled){background:#076b6f}.patient-app button.secondary{background:#edf5f5;color:#087378}.patient-app button.secondary:hover:not(:disabled){background:#e0efef}
.patient-app button.text-button{background:transparent;color:#176b70;padding:6px 0;border-radius:3px}.patient-app button.text-button:hover:not(:disabled){background:transparent;text-decoration:underline}
.patient-app button.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:22px}.patient-app button:disabled{cursor:default;opacity:.5}
.patient-app input,.patient-app select,.patient-app textarea{font-size:14px;border:1px solid #cfdcdf;border-radius:7px;padding:11px 12px;background:#fff;color:var(--ink);margin-top:6px;min-height:45px}
.patient-app input[type=checkbox]{min-height:0;accent-color:var(--accent);width:16px;height:16px;vertical-align:middle;margin:0 8px 0 0}
.patient-app label{font-size:14px;font-weight:600;margin:20px 0 6px}.patient-app .field-hint{font-size:12px;color:var(--muted);margin:6px 0 14px}.patient-app .field-legend{font-size:12px;margin:0 0 24px;color:var(--muted)}
.patient-app #message{border:1px solid #cde4e3;background:#edf7f6;color:#28595a;margin:22px 0 0;padding:12px 16px;font-size:14px}.patient-app #message[data-tone=error]{border-color:#efcfca;background:#fff4f1;color:#953e32}
.patient-app .login-card{max-width:490px;margin:64px auto 72px;padding:42px;background:white;border:1px solid var(--line);border-radius:14px}.patient-app .login-card h1{font-size:36px;margin:14px 0 18px}.patient-app .login-card>p{color:var(--muted)}.patient-app .login-card form{margin-top:28px}.patient-app .login-card button{width:100%;margin-top:20px}.patient-app .login-help{font-size:12px;text-align:center;margin:22px 0 0}
.patient-app .patient-overview{display:grid;grid-template-columns:1fr auto;gap:0 24px;padding:34px 0 28px}.patient-app .patient-overview>div>p{color:var(--muted);margin:0}.patient-app .overview-actions{display:flex;align-items:flex-end;flex-direction:column;gap:10px;padding-top:9px}.patient-app .status-pill{font-size:12px;font-weight:600;background:#e8f3f2;color:#256b68;padding:6px 11px;border-radius:20px;margin:0;max-width:330px}
.patient-app #correction,.patient-app #association{grid-column:1/-1;margin:16px 0 0}.patient-app #association:empty{display:none}.patient-app .notice{border:1px solid #eee0b8;background:#fff9e9;color:#765d2a;font-size:14px;padding:14px;border-radius:8px}
.patient-app .portal-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:30px}.patient-app .portal-tabs button{background:transparent;color:var(--muted);border-radius:0;padding:0 0 13px;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:8px}.patient-app .portal-tabs button:hover:not(:disabled){background:transparent;color:var(--accent)}.patient-app .portal-tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}.patient-app .tab-count{background:#e9eff1;color:#5a6d75;font-size:11px;min-width:20px;border-radius:12px;text-align:center;padding:1px 5px}
.patient-app .workflow-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:38px;margin-bottom:54px}.patient-app .journey-sidebar{padding-top:8px}.patient-app .sidebar-title{font-size:10px;letter-spacing:1.3px;color:#829299;font-weight:700;margin-bottom:16px}.patient-app .step-list{list-style:none;padding:0;margin:0}.patient-app .step-list li{position:relative}.patient-app .step-list li+li{margin-top:7px}.patient-app .step-list button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;color:#788890;padding:13px 11px;border-radius:9px;font-weight:400}.patient-app .step-list button:hover:not(:disabled){background:#edf2f3}.patient-app .step-list button[aria-current=step]{background:#e8f3f2;color:#1c6467}.patient-app .step-number{width:30px;height:30px;border:1px solid #d5e0e3;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;flex-shrink:0;background:#fff}.patient-app .step-list button[aria-current=step] .step-number{background:var(--accent);border-color:var(--accent);color:#fff}.patient-app .step-list strong{display:block;font-size:14px;font-weight:600}.patient-app .step-list small{font-size:11px;color:#839299;display:block;margin-top:1px}.patient-app .pause-note{border-top:1px solid var(--line);margin:24px 10px 0;padding-top:20px;color:var(--muted);font-size:12px}.patient-app .pause-note strong{font-size:12px;font-weight:600;color:#526b73}.patient-app .pause-note p{margin:5px 0 0;line-height:1.65}
.patient-app .workflow-main{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 34px;min-width:0;scroll-margin-top:20px;align-self:start}.patient-app .journey-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#7b8c94;margin-bottom:24px;font-size:10px;letter-spacing:1px;font-weight:600}.patient-app .autosave-label{letter-spacing:0;font-size:11px;font-weight:400;color:#758a88}.patient-app .section-heading{margin-bottom:26px}.patient-app .section-heading p{margin-bottom:0;font-size:14px;max-width:590px}.patient-app .step-panel h2:focus{outline:none}
.patient-app .patient-data{display:grid;grid-template-columns:1fr 1.7fr;padding:0;margin:0 0 16px;gap:0}.patient-app .patient-data dt,.patient-app .patient-data dd{border-bottom:1px solid #edf1f2;padding:12px 0;font-size:14px;min-width:0}.patient-app .patient-data dt{font-weight:400;color:var(--muted)}.patient-app .patient-data dd{font-weight:500}.patient-app .registration-details{margin:26px 0 0;border-top:1px solid var(--line);padding-top:20px}.patient-app summary{font-size:14px;font-weight:600;color:#32656c}.patient-app .registration-details>p{margin-top:14px;font-size:13px}.patient-app .registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.patient-app .registration-grid>div{min-width:0}
.patient-app .step-navigation{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:30px;padding-top:21px;gap:18px}.patient-app #stepNext{margin-left:auto;min-width:130px}.patient-app #stepNext span{margin-left:18px}.patient-app .save-indicator{font-size:11px;color:#7b8d94;margin:14px 0 0}.patient-app .save-indicator:empty{display:none}.patient-app #saved{font-size:12px;margin:12px 0 0}.patient-app #draftConflict{margin-top:16px}.patient-app #draftConflict button{margin:8px 8px 0 0}
.patient-app .document-requirements{font-size:12px;color:#5c737a;background:#f4f8f9;border-radius:7px;padding:12px 14px}.patient-app #appointmentDetails:empty{display:none}.patient-app #appointmentDetails{font-size:12px}.patient-app .upload-area{border:1px dashed #bacfd2;border-radius:9px;background:#fafcfc;padding:20px;text-align:center;margin:22px 0 16px}.patient-app .upload-symbol{font-size:25px;line-height:1;color:#498b8d}.patient-app .upload-area label{margin:6px 0 0}.patient-app .upload-area>.muted{font-size:12px}.patient-app .upload-area input{min-height:0;max-width:100%;font-size:12px;padding:8px;border:none;background:transparent;margin:10px 0 0}.patient-app .upload-area input::file-selector-button{background:#e7f0f1;color:#3a646b;border:0;border-radius:5px;padding:8px 10px;font:inherit;margin-right:8px}.patient-app .list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 12px}.patient-app .list-heading h3{margin:0;font-size:14px}.patient-app .list-heading button{font-size:12px}
.patient-app .document{border:1px solid var(--line);padding:16px;border-radius:9px;background:#fff;margin:12px 0;font-size:13px}.patient-app .document h3{font-size:14px;margin:0;overflow-wrap:anywhere}.patient-app .document p{font-size:12px;color:var(--muted);margin:5px 0}.patient-app .document a{font-size:12px;font-weight:600;color:var(--accent)}.patient-app .document-top{display:flex;align-items:start;gap:12px}.patient-app .file-symbol{display:grid;place-items:center;flex-shrink:0;width:35px;height:42px;border:1px solid #dbe6e8;border-radius:5px;background:#f6f9fa;font-size:9px;letter-spacing:.4px;color:#70868f;font-weight:700}.patient-app .document-body{flex:1;min-width:0}.patient-app .document-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:9px 0 7px}.patient-app .review-pill{display:inline-block;padding:3px 8px;border-radius:5px;font-size:10px;font-weight:600;background:#f1f4f5;color:#647780}.patient-app .review-pill[data-review=pendente]{background:#fff7e5;color:#967025}.patient-app .review-pill[data-review=aprovado]{background:#eaf5ee;color:#357451}.patient-app .review-pill[data-review=recusado]{background:#fff0ed;color:#a15441}.patient-app .review-pill.previous{background:#f0f2f5;color:#7d8791}.patient-app .document .rejection-note{background:#fff5f2;border-radius:6px;padding:9px 11px;color:#99533e;margin:10px 0}.patient-app .document .document-delivery{font-size:11px}.patient-app .document-footer{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:10px;flex-wrap:wrap}.patient-app .document-footer button{font-size:12px}.patient-app .document details{margin:12px 0 0}.patient-app .document details summary{font-size:12px}.patient-app .replaced-document{opacity:.85}.patient-app .empty-documents{font-size:13px;color:var(--muted);padding:16px 0}
.patient-app .review-summary{border:1px solid var(--line);border-radius:9px;padding:18px;margin:16px 0 24px}.patient-app .review-summary p{font-size:13px;margin:0;padding:9px 0;border-bottom:1px solid #edf1f2;overflow-wrap:anywhere}.patient-app .review-summary p:last-child{border:0}.patient-app .confirmation{display:flex;align-items:start;font-size:13px;font-weight:400;gap:4px;margin:20px 0}.patient-app .confirmation input{flex-shrink:0;margin-top:3px}
.patient-app .history-workspace{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 34px;margin-bottom:54px}.patient-app .history-workspace .section-heading{align-items:start}.patient-app .history-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0}.patient-app .history-metric{background:#f7fafa;border:1px solid #edf1f2;padding:17px 20px;border-radius:8px}.patient-app .history-metric strong{display:block;font-size:25px;line-height:1.2;font-weight:600;color:#335a63}.patient-app .history-metric span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.patient-app .history-filters{display:grid;grid-template-columns:1fr 250px;gap:18px;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:22px}.patient-app .history-filters label{margin:0;font-size:12px}.patient-app .history-request{margin:25px 0 32px}.patient-app .history-request-head{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:12px}.patient-app .history-request-head h3{font-size:15px;margin:0}.patient-app .history-request-head p{font-size:11px;color:var(--muted);margin:3px 0 0}.patient-app .history-timeline{list-style:none;padding:0;margin:12px 0 20px;border-left:1px solid #dce7e8}.patient-app .history-timeline li{position:relative;padding:0 0 14px 16px;font-size:12px;color:#4c6872}.patient-app .history-timeline li:before{content:"";width:6px;height:6px;border:2px solid #fff;outline:1px solid #cddede;border-radius:50%;background:#6f9697;position:absolute;left:-5px;top:6px}.patient-app .history-timeline time{font-size:10px;color:#819399;display:block}.patient-app .history-timeline p{font-size:12px;margin:4px 0;color:#805c3c}.patient-app .empty-history{text-align:center;padding:46px 20px;color:var(--muted)}.patient-app .empty-history h3{font-size:19px;margin:14px 0 8px}.patient-app .empty-history p{font-size:13px;margin-bottom:20px}.patient-app .empty-history-symbol{font-size:27px;color:#a0b7bc}
.patient-app .patient-footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:22px 0 30px;font-size:11px;color:#8a9aa0}
@media(max-width:850px){.patient-app .portal-shell{padding:0 22px}.patient-app .workflow-layout{grid-template-columns:190px minmax(0,1fr);gap:22px}.patient-app .workflow-main{padding:26px}.patient-app .step-list small{display:none}.patient-app .registration-grid{grid-template-columns:1fr}}
@media(max-width:640px){.patient-app .portal-shell{padding:0 16px}.patient-app .site-header{height:72px}.patient-app .brand{font-size:13px}.patient-app .site-caption{font-size:11px}.patient-app .patient-overview{padding:25px 0 23px;gap:12px}.patient-app .patient-overview h1{font-size:24px}.patient-app .patient-overview>div>p{font-size:13px}.patient-app .overview-actions{padding-top:4px;gap:8px}.patient-app .status-pill{font-size:10px;max-width:140px;padding:5px 8px}.patient-app #logout{font-size:11px}.patient-app .portal-tabs{gap:24px;margin-bottom:22px}.patient-app .portal-tabs button{font-size:12px}.patient-app .workflow-layout{display:block;margin-bottom:28px}.patient-app .journey-sidebar{padding:0}.patient-app .sidebar-title,.patient-app .pause-note{display:none}.patient-app .step-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:20px}.patient-app .step-list li+li{margin-top:0}.patient-app .step-list button{display:flex;flex-direction:column;gap:7px;padding:9px 2px;text-align:center;background:transparent!important}.patient-app .step-list strong{font-size:10px;font-weight:500}.patient-app .step-list small{display:none}.patient-app .step-number{width:28px;height:28px;font-size:11px}.patient-app .workflow-main{padding:23px 20px;border-radius:10px}.patient-app h2{font-size:22px}.patient-app .journey-caption{font-size:9px;margin-bottom:23px}.patient-app .autosave-label{font-size:10px}.patient-app .section-heading{margin-bottom:21px}.patient-app .section-heading p{font-size:13px}.patient-app .patient-data{grid-template-columns:1fr}.patient-app .patient-data dt{border:0;padding:9px 0 0;font-size:11px}.patient-app .patient-data dd{padding:2px 0 10px;font-size:13px;margin:0}.patient-app .field-hint{font-size:11px}.patient-app label{font-size:13px}.patient-app input,.patient-app select,.patient-app textarea{font-size:16px}.patient-app button{font-size:13px}.patient-app .registration-grid{grid-template-columns:1fr}.patient-app .list-heading{align-items:start;flex-direction:column;gap:6px}.patient-app .list-heading h3{font-size:13px}.patient-app .document{padding:13px}.patient-app .document h3{font-size:13px}.patient-app .document-top{gap:10px}.patient-app .file-symbol{width:30px;height:36px;font-size:8px}.patient-app .document p{font-size:11px}.patient-app .history-workspace{padding:23px 20px;margin-bottom:28px}.patient-app .history-workspace>.section-heading{align-items:start;flex-direction:column;gap:14px}.patient-app .history-metrics{gap:7px;margin:22px 0}.patient-app .history-metric{padding:12px 9px}.patient-app .history-metric strong{font-size:21px}.patient-app .history-metric span{font-size:10px;line-height:1.4}.patient-app .history-filters{grid-template-columns:1fr;gap:14px}.patient-app .history-request-head{gap:10px}.patient-app .history-request-head h3{font-size:14px}.patient-app .patient-footer{font-size:10px;flex-direction:column;gap:4px;padding-top:18px}.patient-app .login-card{padding:28px 23px;margin:38px auto}.patient-app .login-card h1{font-size:30px}.patient-app .login-card p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.patient-app *{scroll-behavior:auto!important;transition:none!important}}

.patient-app #saved{display:none}.patient-app #draftConflict{margin:0 0 22px}
.patient-app #draftConflict button{display:block;max-width:100%;margin:8px 0 0;text-align:left}
