:root{--color-primary: #20B2AA;--color-primary-dark: #179990;--color-accent: #1A1A40;--color-bg: #f5fbfc;--color-surface: #ffffff;--color-border: rgba(0, 0, 0, .08);--color-text: #1f2a37;--color-muted: #6b7280;--color-danger: #ef4444;--color-warning: #f59e0b;--color-success: #059669;--color-info: #0ea5e9;--shadow-sm: 0 4px 16px rgba(2, 6, 23, .08);--shadow-md: 0 10px 30px rgba(2, 6, 23, .1);--shadow-lg: 0 14px 36px rgba(2, 6, 23, .14);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom)}*{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}input,textarea,select,button{font:inherit}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.container{max-width:1120px;margin:0 auto;padding:0 var(--space-4) calc(var(--space-6) + var(--safe-bottom))}h1,h2,h3,h4{margin:var(--space-3) 0;line-height:1.2}h1{font-size:2rem;color:var(--color-primary)}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.1rem;color:var(--color-muted)}.small{font-size:.9rem;color:var(--color-muted)}.muted{color:var(--color-muted)}.center{text-align:center}.right{text-align:right}.nowrap{white-space:nowrap}.avatar-circle{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:#008b8b;color:#fff;font-weight:800;font-size:28px;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-sm)}.field-with-addon{position:relative}.field-addon{position:absolute;top:6px;right:6px;display:flex;gap:6px}.alert{padding:10px 12px;border-radius:var(--radius-sm);background:#f8fafc;border:1px solid var(--color-border)}.alert.success{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.alert.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.alert.info{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}.landing-container{width:100%;min-height:100vh;display:grid;place-items:center;padding:calc(var(--space-8) + var(--safe-top)) var(--space-4) var(--space-8)}.landing-content{width:100%;max-width:680px;text-align:center;background:var(--color-surface);padding:var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.logo-landing{width:100px;height:100px;object-fit:contain;margin-bottom:var(--space-4)}.landing-content .subtitle{font-size:1.1rem;color:var(--color-muted);margin-top:var(--space-1)}.landing-content p{font-size:1rem;line-height:1.65;margin:var(--space-5) 0}.landing-actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.login-container,.auth-container{width:100%;min-height:100vh;display:grid;place-items:center;padding:calc(var(--space-8) + var(--safe-top)) var(--space-4) var(--space-8)}.login-box,.auth-card{width:100%;max-width:560px;background:var(--color-surface);padding:40px 44px;border-radius:18px;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.header{text-align:center;margin-bottom:var(--space-6)}.header h1{color:var(--color-primary);margin:var(--space-2) 0 0;font-size:28px}.header p{color:var(--color-muted);margin:var(--space-1) 0 0}.logo-minimalista{width:50px;height:50px;object-fit:contain}.login-logo{display:block;margin:0 auto var(--space-4);width:88px;height:auto}.login-form .input-group,.auth-card .input-group{margin-bottom:var(--space-5)}.input-group label{display:block;margin-bottom:var(--space-2);font-weight:600}.input-group input,.input-group textarea,.search-bar input{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:var(--radius-sm);background:#fff;color:#111827;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input-group input::placeholder{color:#9ca3af}.input-group input:focus,.input-group textarea:focus,.search-bar input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #20b2aa1f}.error-message{color:var(--color-danger);font-size:14px;text-align:center;margin:0 0 var(--space-3)}.cashback-preview{background:var(--color-bg);padding:var(--space-3);border-radius:var(--radius-sm);margin-top:var(--space-2);text-align:center;border:1px dashed var(--color-border)}.back-button,.btn-outline-link{background:none;border:0;color:var(--color-primary);font-weight:700;padding:6px 10px;cursor:pointer}.back-button:hover,.btn-outline-link:hover{text-decoration:underline}.auth-card .btn-primary+.back-button,.login-form .btn-primary+.back-button,.auth-card .btn-primary+.btn-outline-link,.login-form .btn-primary+.btn-outline-link{display:block;margin:var(--space-3) auto 0;text-align:center}.input-group>div{position:relative}.input-group>div>.password-toggle,.input-group>div>.btn-outline.password-toggle,.input-group>div>.btn-outline[aria-label*=enha]{position:absolute;top:50%;right:6px;transform:translateY(-50%);padding:6px 10px;font-size:12px;line-height:1;border-radius:8px;white-space:nowrap}.input-group>div>.btn-outline.password-toggle:hover,.input-group>div>.btn-outline[aria-label*=enha]:hover{background:#f8fafc}button{cursor:pointer}button:disabled{opacity:.7;cursor:not-allowed}.btn,.btn-primary,.btn-outline,.btn-danger,.btn-quiet,.btn-warning,.cta-button,.login-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;min-height:44px;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:700;font-size:15px;line-height:1;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .06s ease,box-shadow .18s ease;box-shadow:var(--shadow-sm);background:#fff;color:var(--color-text)}.btn:focus-visible,.btn-primary:focus-visible,.btn-outline:focus-visible,.btn-danger:focus-visible,.btn-quiet:focus-visible,.btn-warning:focus-visible,.cta-button:focus-visible,.login-button:focus-visible,.btn-outline-link:focus-visible{outline:3px solid rgba(32,178,170,.35);outline-offset:2px}.btn:active,.btn-primary:active,.btn-outline:active,.btn-danger:active,.btn-quiet:active,.btn-warning:active,.cta-button:active,.login-button:active{transform:translateY(1px)}.cta-button,.login-button,.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 6px 16px #20b2aa2e}.cta-button:hover,.login-button:hover,.btn-primary:hover{background:var(--color-primary-dark)}.btn-outline{background:#fff;color:#1f2a37;border-color:#00000024}.btn-outline:hover{background:#f8fafc;border-color:#00000038}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover{filter:brightness(.96)}.btn-warning{background:var(--color-warning);color:#1f2937;border-color:#0000000f}.btn-warning:hover{filter:brightness(.98)}.btn-quiet{background:#f3f7f7;color:#0f766e;border:1px solid #E1EFEF}.btn-quiet:hover{background:#e8f1f1}.btn-outline-link{display:inline-block;font-size:14px;font-weight:600;color:var(--color-primary);background:transparent;border:1px solid var(--color-primary);padding:8px 14px;border-radius:var(--radius-sm);text-decoration:none;min-height:40px;line-height:1}.btn-outline-link:hover{background:var(--color-primary);color:#fff;text-decoration:none}.button-row{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.button-row.subtle{margin-top:var(--space-3)}.button-row.ctas{margin-top:var(--space-4)}.btn-block{width:100%}.btn--sm{padding:8px 12px;min-height:38px;font-size:14px}.btn--lg{padding:14px 20px;min-height:48px;font-size:16px}.saldo-destaque .btn-warning{padding:8px 14px;font-size:.9rem;border-radius:999px;background:linear-gradient(#f7c66d,var(--color-warning));box-shadow:0 2px 6px #00000014}.saldo-destaque .btn-warning:hover{background:linear-gradient(#f3b954,#e19d40);transform:translateY(-1px)}.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.tabs::-webkit-scrollbar{height:6px}.tabs::-webkit-scrollbar-thumb{background:#0000001f;border-radius:999px}.tabs button{flex:0 0 auto;padding:8px 14px;min-height:40px;border:1px solid rgba(0,0,0,.14);border-radius:999px;background:#fff;color:#334155;font-weight:700;white-space:nowrap;position:relative;overflow:hidden}.tabs button:hover{background:#f8fafc}.tabs button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tabs button:after{content:"";position:absolute;left:10%;right:10%;bottom:0;height:2px;border-radius:2px;background:transparent;transition:background-color .18s,transform .18s;transform:scaleX(0);transform-origin:center}.tabs button.active:after{background:#ffffffe6;transform:scaleX(1)}@media (min-width: 768px){.btn,.btn-primary,.btn-outline,.btn-danger,.btn-quiet,.btn-warning,.cta-button,.login-button{padding:12px 18px;min-height:46px;font-size:15px}}.dashboard-container{max-width:1000px;margin:var(--space-8) auto;padding:var(--space-8);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.header-title-group{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.header-logo{width:40px;height:40px;object-fit:contain}.logout-button{padding:10px 16px;border:none;border-radius:var(--radius-sm);background:var(--color-danger);color:#fff;font-weight:700}.logout-button:hover{background:#c9302c}.search-bar{flex-grow:1}.admin-actions-bar{display:flex;gap:var(--space-4);align-items:center;margin:var(--space-5) 0;flex-wrap:wrap}.admin-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.patient-list{list-style:none;padding:0;margin:0}.patient-list li{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--space-3);cursor:pointer;transition:background-color .2s,box-shadow .2s,border-color .2s;background:#fff}.patient-list li:hover{background:#f9fafb;box-shadow:var(--shadow-sm)}.patient-list-info{flex:1;display:flex;align-items:center;gap:var(--space-2)}.patient-list-info span{font-weight:700;display:block}.patient-list-info small{color:var(--color-muted)}.profile-pic-small{width:44px;height:44px;border-radius:50%;background:#008b8b;color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;flex-shrink:0;box-shadow:var(--shadow-sm)}.profile-pic-large{width:84px;height:84px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-sm)}.patient-details-header{display:flex;gap:var(--space-5);align-items:center;margin-bottom:var(--space-4);justify-content:center;text-align:center;max-width:760px;margin-left:auto;margin-right:auto}.patient-info p{margin:4px 0}.saldo-destaque{background:#eafffd;border:1px solid rgba(32,178,170,.25);color:#0f766e;padding:var(--space-4);border-radius:var(--radius-md);font-size:20px;font-weight:800;text-align:center;margin:var(--space-4) 0;box-shadow:var(--shadow-sm)}.transaction-list{list-style:none;padding:0;margin:0}.transaction-list li{display:flex;justify-content:space-between;gap:var(--space-3);padding:12px 14px;border-bottom:1px solid #eef1f4}.transaction-list li span:last-child{min-width:110px;text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;letter-spacing:.2px}.transaction-list li.credito span:last-child{color:var(--color-success);font-weight:700}.transaction-list li.debito span:last-child{color:var(--color-danger);font-weight:700}.transaction-list li .btn-outline.small,.transaction-list li .btn-danger.small{padding:6px 10px;font-size:12px;line-height:1.2;border-radius:10px}.transaction-list li .btn-outline.small{border-color:#0000002e}.transaction-list li .btn-danger.small{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.inconsistency-warning{background:#fcf8e3;border:1px solid #faebcc;color:#8a6d3b;padding:var(--space-4);border-radius:var(--radius-sm);margin:var(--space-4) 0;text-align:center}.dashboard-tabs{display:flex;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4)}.dashboard-tabs button{flex:1;padding:var(--space-4);background:none;border:none;cursor:pointer;color:#6b7280;font-weight:700;border-bottom:3px solid transparent;transition:color .2s,border-color .2s,background .2s}.dashboard-tabs button:hover{background:#f8fafc}.dashboard-tabs button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-content{padding-top:var(--space-4)}.admin-dashboard-embedded{padding:0;box-shadow:none;border-radius:0}.procedimento-list{list-style:none;padding:0;margin:0}.procedimento-list li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--space-3);background:#fff}.procedimento-list li.inativo{background:#f7f7f7;opacity:.85;border-style:dashed}.procedimento-info{flex:1}.procedimento-info span{font-weight:700;display:block}.procedimento-info small{color:var(--color-muted);display:block;margin-top:2px}.procedimento-descricao{font-size:14px;color:var(--color-muted);margin-top:var(--space-2)}.procedimento-list li .admin-actions{display:flex;gap:10px;flex-wrap:wrap}.patient-portal,.portal-layout{display:flex;gap:var(--space-6);align-items:stretch}.portal-sidebar,.patient-portal .sidebar,.patient-portal .left-panel{width:280px;min-width:240px;max-width:320px;padding:24px 20px;display:flex;flex-direction:column;align-items:center;border-right:1px solid rgba(0,0,0,.06);background:#f8f9fa;border-radius:var(--radius-lg)}.portal-sidebar .brand,.patient-portal .sidebar .brand{width:100%;display:flex;justify-content:center;margin-bottom:var(--space-2)}.portal-sidebar .brand img,.patient-portal .sidebar .brand img,.logo-sidebar{height:28px;width:auto;display:block}.patient-portal .greeting{margin:6px 0 14px;text-align:center;color:#2d3748;font-size:14px}.patient-portal .greeting+.soft-sep{width:100%;height:1px;background:#0000000f;margin:12px 0 8px;border-radius:1px}.patient-portal .menu{margin-top:6px;width:100%;display:flex;flex-direction:column;gap:12px}.patient-portal .menu button{width:100%;text-align:left;padding:10px 14px;border-radius:10px;border:1px solid rgba(0,0,0,.1);background:#fff;color:var(--color-text);cursor:pointer}.patient-portal .menu button.active{background:#20a090;color:#fff;border-color:transparent}.patient-portal .menu .danger{background:var(--color-danger);color:#fff;border-color:transparent}.portal-content,.patient-portal .content,.patient-portal .right-panel{flex:1;padding:24px}.portal-content .card,.patient-portal .content .card{margin:0 auto;max-width:820px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-sm)}.modal-overlay{position:fixed;inset:0;background:#0009;display:grid;place-items:center;z-index:1000}.modal-content{width:92%;max-width:560px;max-height:calc(100vh - 80px - var(--safe-top) - var(--safe-bottom));background:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:grid;grid-template-rows:auto 1fr auto;gap:var(--space-4)}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3);position:sticky;top:0;background:var(--color-surface);z-index:2}.modal-body{overflow:auto}.modal-close-button{background:none;border:none;font-size:28px;color:#888;cursor:pointer}.modal-confirm-button{width:100%;padding:15px;border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-weight:700;position:sticky;bottom:0;box-shadow:0 -6px 16px #0000000f}.modal-confirm-button:disabled{background:#a3a3a3;cursor:not-allowed}.procedimentos-list{max-height:240px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);margin:var(--space-4) 0;background:#fff}.procedimento-item{display:flex;align-items:center;padding:8px}.procedimento-item input{margin-right:10px}.procedimento-item label{width:100%;cursor:pointer}.resgate-summary{margin-top:var(--space-4);padding:var(--space-4);background:#f8f9fa;border-radius:var(--radius-sm)}.resgate-summary h4{margin-top:0}.resgate-summary p{display:flex;justify-content:space-between;margin:5px 0}.desconto-valor{color:var(--color-danger)}.valor-final{font-size:1.1rem;font-weight:800;border-top:1px solid #ddd;padding-top:10px;margin-top:10px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5)}.list-clean{list-style:none;padding:0;margin:0}.divider{height:1px;background:var(--color-border);margin:var(--space-4) 0;border-radius:1px}.regulamento-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:25px}.regulamento-section{margin-top:var(--space-4)}.regulamento-title{margin:0 0 var(--space-3);color:var(--color-primary);font-size:1.1rem;border-bottom:1px solid var(--color-border);padding-bottom:6px}.regulamento-list{margin:var(--space-3) 0 0 var(--space-6);padding-left:0}.regulamento-list li{margin-bottom:8px}.regulamento-exemplo{margin-top:var(--space-3);background:var(--color-bg);border:1px solid #cfe8f3;color:#155b75;padding:12px 15px;border-radius:var(--radius-sm);font-size:14px}.faq-list{display:flex;flex-direction:column;gap:10px;margin-top:15px}.faq-item{border:1px solid var(--color-border);border-radius:10px;overflow:hidden;background:#fafafa}.faq-item.open{background:#f8fffe;border-color:#cfe8f3}.faq-question{width:100%;display:flex;justify-content:space-between;gap:10px;border:none;background:transparent;text-align:left;padding:15px;font-weight:600;cursor:pointer;font-size:1em}.faq-icon{font-size:20px;line-height:1}.faq-answer{padding:0 15px 15px;color:#444;line-height:1.6}.sr-only,.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}:focus-visible{outline:3px solid rgba(32,178,170,.35);outline-offset:2px}.container>.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);text-align:left}.logo-title{display:flex;align-items:center;gap:10px}.logo{height:40px;width:auto;display:block}.header-actions{display:flex;align-items:center;gap:10px}:root{--fs-xs: clamp(12px, 1.7vw, 14px);--fs-sm: clamp(13px, 1.9vw, 15px);--fs-md: clamp(15px, 2.2vw, 16px);--fs-lg: clamp(18px, 2.8vw, 20px);--fs-xl: clamp(22px, 4vw, 28px)}body{font-size:var(--fs-md)}h1{font-size:var(--fs-xl)}h2{font-size:calc(var(--fs-lg) * .95)}h3{font-size:calc(var(--fs-lg) * .85)}.small{font-size:var(--fs-sm)}@media (max-width: 900px){.patient-portal,.portal-layout{flex-direction:column}.portal-sidebar,.patient-portal .sidebar,.patient-portal .left-panel{width:100%;max-width:none;border-right:0;border-bottom:1px solid rgba(0,0,0,.06)}.portal-content,.patient-portal .content,.patient-portal .right-panel{padding:var(--space-4)}.landing-content{padding:var(--space-6)}.dashboard-container{margin:var(--space-6) auto;padding:var(--space-6)}}@media (max-width: 560px){.login-box,.auth-card{padding:var(--space-6)}.button-row{flex-direction:column}.dashboard-header{flex-direction:column;gap:var(--space-3);align-items:flex-start}.admin-actions-bar{gap:var(--space-3)}.admin-actions-bar .search-bar{width:100%;order:1}.admin-actions-bar>*:not(.search-bar){order:2}.patient-list li{padding:12px 14px}.profile-pic-small{width:40px;height:40px}.patient-details-header{gap:16px}}@media (prefers-color-scheme: dark){:root{--color-bg: #0f1720;--color-surface: #111827;--color-border: #1f2937;--color-text: #e5e7eb;--color-muted: #9ca3af;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 8px 22px rgba(0, 0, 0, .4);--shadow-lg: 0 14px 36px rgba(0, 0, 0, .45)}body{background:var(--color-bg);color:var(--color-text)}.card,.landing-content,.login-box,.auth-card,.dashboard-container,.portal-content .card{background:var(--color-surface);border-color:var(--color-border)}.patient-list li,.procedimento-list li{background:#0f1720;border-color:var(--color-border)}.tabs button{background:#0f1720;color:var(--color-text);border-color:#233246}.tabs button.active{background:var(--color-primary);color:#0b1418}.input-group input,.input-group textarea,.search-bar input{background:#0b111a;color:var(--color-text);border-color:#233246}.input-group input::placeholder,.search-bar input::placeholder{color:#5d6a7a}.modal-content{background:var(--color-surface)}.procedimento-list li.inativo{background:#0e141b;border-color:#263243}.saldo-destaque{background:#25c5bd1f;border-color:#25c5bd59;color:#b6fff6}}.patient-list li,.procedimento-list li,.card{transition:box-shadow .18s ease,transform .06s ease,background-color .18s ease;will-change:transform}.patient-list li:active,.procedimento-list li:active,.card:active{transform:translateY(1px)}@media (max-width: 560px){.admin-actions-bar{position:sticky;top:calc(8px + var(--safe-top));z-index:5;padding-top:6px;padding-bottom:6px;-webkit-backdrop-filter:saturate(140%) blur(6px);backdrop-filter:saturate(140%) blur(6px);background:color-mix(in srgb,var(--color-bg) 86%,white);border-bottom:1px solid rgba(0,0,0,.05)}}*{-webkit-tap-highlight-color:rgba(0,0,0,0)}.card .card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.table-responsive{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-sm)}.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.table th{font-weight:800;color:#334155;background:#f9fbfc}.table tbody tr:hover{background:#f8fafc}.table td:last-child{text-align:right}.table .btn-outline{min-width:86px}.badge{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:800;font-size:.8rem;line-height:1;border:1px solid transparent;letter-spacing:.2px;white-space:nowrap}.badge-admin{background:#e6f7f5;border-color:#cdecea;color:#0f766e}.badge-owner{background:#fff7ed;border-color:#fcd34d;color:#92400e}.form-grid{display:grid;grid-template-columns:140px 1fr;gap:10px 14px;align-items:center}.form-grid label{font-weight:700;color:#374151}.form-grid input,.form-grid select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:var(--radius-sm);background:#fff;font-size:16px;transition:border-color .2s,box-shadow .2s}.form-grid input:focus,.form-grid select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #20b2aa1f}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}.form-grid label{margin-top:6px}.table th,.table td{padding:10px 12px}}@media (prefers-color-scheme: dark){.card .card-header{border-bottom-color:var(--color-border)}.table{background:var(--color-surface)}.table th{background:#0b111a;color:var(--color-text)}.table th,.table td{border-color:var(--color-border)}.form-grid input,.form-grid select{background:#0b111a;color:var(--color-text);border-color:#233246}.badge-admin{background:#20b2aa26;border-color:#20b2aa59;color:#b6fff6}.badge-owner{background:#f3b53e29;border-color:#f3b53e73;color:#f8d084}}.input-group>div input{padding-right:96px}.transaction-list li span:last-child{min-width:auto;text-align:left;font-family:inherit;letter-spacing:0}.transaction-list li>span:nth-of-type(2){min-width:110px;text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;letter-spacing:.2px}.transaction-list li.credito>span:nth-of-type(2){color:var(--color-success);font-weight:700}.transaction-list li.debito>span:nth-of-type(2){color:var(--color-danger);font-weight:700}.modal-content .input-group{margin-bottom:var(--space-4)}.modal-content .input-group+.input-group{margin-top:var(--space-2)}.modal-content .input-group:last-of-type{margin-bottom:var(--space-6)}.modal-content .modal-confirm-button{margin-top:var(--space-4)}@media (max-width: 600px){.patient-details-header{display:grid;grid-template-columns:64px 1fr;gap:var(--space-3);align-items:center;text-align:left;justify-content:initial}.patient-details-header .avatar-circle{width:64px;height:64px;font-size:1rem}.button-row.ctas{flex-direction:column;gap:var(--space-3)}.button-row.ctas .cta-button{width:100%}}@media (max-width: 560px){.transaction-list li{flex-wrap:wrap;gap:8px 10px;align-items:flex-start}.transaction-list li>span:first-child{flex:1 1 100%;line-height:1.45}.transaction-list li>span:nth-of-type(2){order:2}.transaction-list li>span:last-child{order:3}.transaction-list li .btn-outline.small,.transaction-list li .btn-danger.small{margin-top:6px}}@media (max-width: 720px){.transaction-list li>span:nth-of-type(2){min-width:96px}}.reports-page{display:grid;gap:18px}.reports-card{padding:20px}.reports-header{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.reports-header-main{text-align:left}.reports-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.reports-title{margin:0}.reports-subtitle{margin-top:6px;margin-bottom:0}.reports-updated{white-space:nowrap}.reports-period-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.reports-period-head-main{text-align:left}.reports-section-center{text-align:center;margin-bottom:18px}.reports-section-title-dark{margin-bottom:6px;color:#e5e7eb}.reports-section-subtitle-dark{margin:0;color:#9ca3af}.reports-dark-card{padding:20px;background:#091427;border-color:#163150}.reports-grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.reports-grid-rankings{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.reports-metric-card{padding:18px;box-shadow:none}.reports-metric-title{font-size:14px;font-weight:800;margin-bottom:10px}.reports-metric-value{font-size:24px;font-weight:900;line-height:1.2;min-height:30px}.reports-metric-hidden{letter-spacing:.06em}.reports-tone-default{background:#f8fafc;border:1px solid #cbd5e1}.reports-tone-default .reports-metric-title{color:#64748b}.reports-tone-default .reports-metric-value{color:#0f172a}.reports-tone-info{background:#eef4ff;border:1px solid #bfdbfe}.reports-tone-info .reports-metric-title{color:#475569}.reports-tone-info .reports-metric-value{color:#1e3a8a}.reports-tone-success{background:#ecfdf5;border:1px solid #bbf7d0}.reports-tone-success .reports-metric-title{color:#4b5563}.reports-tone-success .reports-metric-value{color:#166534}.reports-tone-warning{background:#fff7ed;border:1px solid #fed7aa}.reports-tone-warning .reports-metric-title{color:#4b5563}.reports-tone-warning .reports-metric-value{color:#9a3412}.reports-tone-accent{background:#eff6ff;border:1px solid #93c5fd}.reports-tone-accent .reports-metric-title{color:#475569}.reports-tone-accent .reports-metric-value{color:#1d4ed8}.reports-filter-head{margin-bottom:16px;text-align:center}.reports-filter-title{margin:0}.reports-filter-subtitle{margin:6px 0 0}.reports-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;justify-content:flex-start}.reports-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}.reports-select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #d1d5db;background:#fff;color:#111827}.reports-ranking-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px;flex-wrap:wrap}.reports-ranking-title{margin:0}.reports-table-wrap{width:100%;overflow-x:auto}.reports-table{width:100%;border-collapse:collapse}.reports-table th,.reports-table td{padding:12px 10px;border-bottom:1px solid var(--color-border);vertical-align:middle}.reports-table th{text-align:left;font-weight:800}.reports-table td{text-align:left}.reports-table th.right,.reports-table td.right{text-align:right}.reports-row-clickable{cursor:pointer}.reports-cell-index{color:#e5e7eb}.reports-cell-name{font-weight:800;color:#f8fafc}.reports-cell-cpf{color:#cbd5e1}.reports-cell-value{font-weight:800;color:#e5e7eb}.reports-cell-hidden{letter-spacing:.05em}.reports-summary-row{margin-bottom:18px}.reports-summary-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px;flex-wrap:wrap}.reports-summary-label{color:#e5e7eb}.reports-summary-value{font-weight:900}.reports-summary-track{width:100%;height:12px;border-radius:999px;background:#ffffff1a;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.reports-summary-fill{height:100%;border-radius:999px;transition:width .25s ease}.reports-period-caption{text-align:left}.reports-toggle{width:100%;justify-content:space-between;text-align:left;padding:14px 16px}.reports-toggle-content{display:grid;gap:2px;text-align:left}.reports-toggle-icon{font-size:16px}.reports-timeline-table-head{margin-bottom:14px;text-align:left}.reports-timeline-table-title{margin:0}.reports-bar-cell{min-width:180px}.reports-mini-track{width:100%;height:10px;border-radius:999px;background:#94a3b838;overflow:hidden}.reports-mini-fill{height:100%;border-radius:999px;transition:width .25s ease}.reports-center-card{text-align:left}.reports-center-card p{margin:0}.reports-actions-left{justify-content:flex-start}@media (max-width: 900px){.reports-header,.reports-period-head{align-items:flex-start}.reports-header-actions{justify-content:flex-start}}@media (max-width: 640px){.reports-card{padding:16px}.reports-grid-cards{grid-template-columns:1fr 1fr}.reports-grid-rankings{grid-template-columns:1fr}.reports-metric-value{font-size:21px}.reports-table th,.reports-table td{padding:10px 8px;font-size:13px}.reports-presets{justify-content:flex-start}}@media (max-width: 480px){.reports-grid-cards{grid-template-columns:1fr}.reports-header-actions{width:100%}.reports-header-actions>*{width:100%}.reports-updated{white-space:normal}}.patient-photo-wrap{position:relative;display:inline-grid;place-items:center;border-radius:999px;flex:0 0 auto}.patient-photo-img{width:100%;height:100%;border-radius:999px;object-fit:cover;display:block;box-shadow:var(--shadow-sm);border:3px solid rgba(255,255,255,.9)}.patient-photo-fallback{box-shadow:var(--shadow-sm)}.patient-photo-edit{position:absolute;right:-4px;bottom:-4px;width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:var(--color-primary);color:#fff;border:2px solid #fff;box-shadow:var(--shadow-sm);cursor:pointer;line-height:1}.patient-photo-edit input,.patient-photo-upload-btn input{display:none}.patient-photo-area,.patient-photo-admin-block{display:grid;gap:8px;justify-items:center;align-content:start}.patient-photo-upload-btn{cursor:pointer;box-shadow:none;min-height:36px;padding:8px 12px}.notification-menu-btn{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:8px}.notification-badge{min-width:22px;height:22px;padding:0 7px;border-radius:999px;display:inline-grid;place-items:center;background:var(--color-danger);color:#fff;font-size:12px;line-height:1}.notifications-card{display:grid;gap:16px}.notifications-head{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}.notifications-list{display:grid;gap:10px}.notification-item{width:100%;display:grid;grid-template-columns:12px 1fr;gap:12px;text-align:left;border:1px solid var(--color-border);background:#fff;border-radius:var(--radius-sm);padding:14px;box-shadow:none}.notification-item.unread{border-color:#20b2aa59;background:#f0fffd}.notification-dot{width:10px;height:10px;border-radius:999px;background:#cbd5e1;margin-top:5px}.notification-item.unread .notification-dot{background:var(--color-primary)}.notification-content{display:grid;gap:5px}.notification-content span{line-height:1.45}.notification-content small,.tx-expiration{color:var(--color-muted);font-size:.85rem}.tx-expiration{display:inline-block;margin-left:6px;font-weight:700}.maintenance-page{display:grid;gap:18px}.maintenance-hero{display:flex;justify-content:space-between;gap:18px;align-items:center}.maintenance-hero h2,.maintenance-card h3{margin-top:0}.maintenance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.maintenance-card{text-align:left}.maintenance-card .button-row{margin-top:14px}.maintenance-table td,.maintenance-table th{vertical-align:middle}.maintenance-danger-zone{border-color:#f59e0b59;background:#fffaf0}.badge-warning-soft{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.expiration-report-card{border-color:#f59e0b47}.expiration-row:hover{background:#fffbeb}.expiration-hot{color:#dc2626;font-weight:800}@media (max-width: 640px){.patient-details-header .patient-photo-admin-block{justify-items:start}.notifications-head,.maintenance-hero{align-items:stretch}.notifications-head>*,.maintenance-hero>*{width:100%}}@media (prefers-color-scheme: dark){.notification-item{background:#0f1720;border-color:var(--color-border)}.notification-item.unread{background:#20b2aa1f;border-color:#20b2aa57}.maintenance-danger-zone{background:#f59e0b1a;border-color:#f59e0b52}.expiration-row:hover{background:#f59e0b1a}}button,.btn,.btn-primary,.btn-outline,.btn-danger,.btn-warning,.btn-quiet,.cta-button,.login-button,.modal-confirm-button{text-decoration:none}.btn-primary,.cta-button,.login-button,.modal-confirm-button{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:#fff!important}.btn-primary:hover,.cta-button:hover,.login-button:hover,.modal-confirm-button:hover{background:var(--color-primary-dark)!important;border-color:var(--color-primary-dark)!important;color:#fff!important}.btn-outline,.btn-outline-link{background:#fff!important;border-color:#0f172a2e!important;color:#0f172a!important}.btn-outline:hover,.btn-outline-link:hover{background:#f1f5f9!important;border-color:#0f172a47!important;color:#0f172a!important}.btn-quiet{background:#eefafa!important;border-color:#c7eeee!important;color:#0f766e!important}.btn-quiet:hover{background:#dff5f4!important;color:#0f766e!important}.btn-danger,.logout-button,.patient-portal .menu .danger{background:var(--color-danger)!important;border-color:var(--color-danger)!important;color:#fff!important}.btn-warning{background:#f59e0b!important;border-color:#f59e0b!important;color:#1f2937!important}.card button:not(.btn-primary):not(.btn-danger):not(.btn-warning):not(.modal-confirm-button),.portal-content button:not(.btn-primary):not(.btn-danger):not(.btn-warning):not(.modal-confirm-button),.patient-portal button:not(.btn-primary):not(.btn-danger):not(.btn-warning):not(.modal-confirm-button){color:#0f172a}.patient-portal{width:100%}.patient-portal .sidebar,.patient-portal .left-panel,.portal-sidebar{background:linear-gradient(180deg,#f8ffff,#eefafa)!important;border:1px solid rgba(32,178,170,.14);color:#0f172a}.patient-portal .menu button,.portal-sidebar button{background:#fff!important;color:#0f172a!important;border:1px solid rgba(15,23,42,.12)!important;box-shadow:0 2px 8px #0f172a0d;font-weight:750}.patient-portal .menu button:hover,.portal-sidebar button:hover{background:#f1f5f9!important;color:#0f172a!important}.patient-portal .menu button.active{background:var(--color-primary)!important;color:#fff!important;border-color:var(--color-primary)!important;box-shadow:0 8px 18px #20b2aa2e}.patient-portal .menu .danger,.patient-portal .menu button.danger{background:var(--color-danger)!important;color:#fff!important;border-color:var(--color-danger)!important}.patient-portal .content,.patient-portal .right-panel,.portal-content{min-width:0}.patient-portal .content .card,.portal-content .card{color:#1f2937;text-align:left}.patient-portal .content .card h2,.patient-portal .content .card h3,.portal-content .card h2,.portal-content .card h3{color:#0f172a}.patient-portal .content .card p,.portal-content .card p{color:#374151}.patient-portal .content .card .muted,.portal-content .card .muted,.patient-portal .content .card small,.portal-content .card small{color:#64748b}.patient-photo-actions,.portal-actions,.notification-actions,.notificacoes-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.patient-photo-actions button,.portal-actions button,.notification-actions button,.notificacoes-actions button{min-height:40px}.notification-card,.notificacao-card,.notifications-card,.portal-notification-item,.notificacao-item{background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:14px;padding:14px 16px;color:#1f2937;box-shadow:0 3px 12px #0f172a0d}.notification-card.unread,.notificacao-card.unread,.portal-notification-item.unread,.notificacao-item.unread{background:#ecfeff;border-color:#20b2aa47}.notification-card button,.notificacao-card button,.portal-notification-item button,.notificacao-item button{background:#fff!important;color:#0f172a!important;border:1px solid rgba(15,23,42,.16)!important}.reports-page{width:100%;max-width:1180px;margin:0 auto;gap:20px;text-align:left}.reports-card,.reports-dark-card{width:100%;border-radius:18px}.reports-header,.reports-period-head,.reports-ranking-head,.reports-summary-head{align-items:center}.reports-header-main,.reports-period-head-main,.reports-filter-head,.reports-timeline-table-head,.reports-center-card{text-align:left!important}.reports-header-main{flex:1 1 360px}.reports-header-actions{flex:0 1 auto;justify-content:flex-end}.reports-title,.reports-filter-title,.reports-ranking-title,.reports-timeline-table-title{color:#0f172a}.reports-subtitle,.reports-filter-subtitle,.reports-period-caption,.reports-updated{color:#64748b}.reports-section-center{max-width:760px;margin-left:auto;margin-right:auto}.reports-grid-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:stretch}.reports-grid-rankings{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:start}.reports-metric-card{min-height:112px;display:flex;flex-direction:column;justify-content:center}.reports-metric-title,.reports-metric-value{word-break:break-word}.reports-filter-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.reports-presets{justify-content:center}.reports-presets .btn-outline,.reports-presets button{box-shadow:none}.reports-table-wrap{border-radius:14px;border:1px solid rgba(148,163,184,.18);background:#ffffff05}.reports-table{min-width:620px}.reports-table th{white-space:nowrap}.reports-table td{color:#334155}.reports-dark-card .reports-table td,.reports-dark-card .reports-table th{border-bottom-color:#ffffff1a}.reports-dark-card .reports-table th,.reports-dark-card .reports-ranking-title,.reports-dark-card .reports-timeline-table-title{color:#f8fafc}.reports-dark-card .reports-table td{color:#dbeafe}.reports-dark-card .reports-cell-name{color:#fff}.reports-dark-card .reports-cell-cpf,.reports-dark-card .reports-cell-index{color:#cbd5e1}.reports-dark-card .reports-cell-value{color:#f8fafc}.reports-expiration-card,.reports-alert-card,.expiration-report-card{background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;border-radius:16px;padding:18px}.reports-expiration-card h3,.reports-alert-card h3,.expiration-report-card h3{color:#9a3412;margin-top:0}.maintenance-page,.manutencao-page{width:100%;max-width:1120px;margin:0 auto;text-align:left}.maintenance-grid,.manutencao-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:stretch}.maintenance-card,.manutencao-card{background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:18px;padding:18px;box-shadow:var(--shadow-sm)}.maintenance-card h3,.manutencao-card h3{color:#0f172a;margin-top:0}.maintenance-card p,.manutencao-card p{color:#64748b}@media (max-width: 900px){.reports-header,.reports-period-head{align-items:stretch}.reports-header-actions{width:100%;justify-content:flex-start}.reports-header-actions .btn,.reports-header-actions .btn-outline,.reports-header-actions .btn-primary,.reports-header-actions button{flex:1 1 180px}.reports-grid-rankings{grid-template-columns:1fr}}@media (max-width: 640px){.reports-page{gap:16px}.reports-card,.reports-dark-card{padding:16px}.reports-header-actions{flex-direction:column;align-items:stretch}.reports-header-actions>*,.reports-presets>*,.reports-filter-grid>*{width:100%}.reports-presets{justify-content:stretch}.reports-grid-cards{grid-template-columns:1fr}.reports-table{min-width:560px}.patient-portal .menu button{text-align:center}.patient-photo-actions,.portal-actions,.notification-actions,.notificacoes-actions{flex-direction:column;align-items:stretch}.patient-photo-actions button,.portal-actions button,.notification-actions button,.notificacoes-actions button{width:100%}}@media (prefers-color-scheme: dark){.btn-outline,.btn-outline-link,.patient-portal .menu button,.portal-sidebar button,.notification-card button,.notificacao-card button,.portal-notification-item button,.notificacao-item button{background:#111827!important;border-color:#334155!important;color:#f8fafc!important}.btn-outline:hover,.btn-outline-link:hover,.patient-portal .menu button:hover,.portal-sidebar button:hover{background:#1f2937!important;color:#f8fafc!important}.patient-portal .menu button.active{background:var(--color-primary)!important;color:#031516!important}.patient-portal .sidebar,.patient-portal .left-panel,.portal-sidebar{background:#0b111a!important;border-color:#233246}.patient-portal .content .card,.portal-content .card,.notification-card,.notificacao-card,.notifications-card,.portal-notification-item,.notificacao-item,.maintenance-card,.manutencao-card{background:#111827;color:#e5e7eb;border-color:#233246}.patient-portal .content .card h2,.patient-portal .content .card h3,.portal-content .card h2,.portal-content .card h3,.maintenance-card h3,.manutencao-card h3,.reports-title,.reports-filter-title,.reports-ranking-title,.reports-timeline-table-title{color:#f8fafc}.patient-portal .content .card p,.portal-content .card p,.maintenance-card p,.manutencao-card p,.reports-subtitle,.reports-filter-subtitle,.reports-period-caption,.reports-updated{color:#cbd5e1}.reports-table td{color:#e5e7eb}.reports-expiration-card,.reports-alert-card,.expiration-report-card{background:#f59e0b1f;border-color:#f59e0b59;color:#fde68a}.reports-expiration-card h3,.reports-alert-card h3,.expiration-report-card h3{color:#fbbf24}}.patient-portal .content,.patient-portal .right-panel,.portal-content{display:flex;flex-direction:column;align-items:center;text-align:center}.patient-portal .content>*,.patient-portal .right-panel>*,.portal-content>*{width:100%}.patient-portal .content .card,.patient-portal .right-panel .card,.portal-content .card{width:100%;max-width:860px;margin-left:auto;margin-right:auto;text-align:center!important}.patient-portal .content .card h1,.patient-portal .content .card h2,.patient-portal .content .card h3,.patient-portal .content .card h4,.patient-portal .right-panel .card h1,.patient-portal .right-panel .card h2,.patient-portal .right-panel .card h3,.patient-portal .right-panel .card h4,.portal-content .card h1,.portal-content .card h2,.portal-content .card h3,.portal-content .card h4,.patient-portal .content .card p,.patient-portal .right-panel .card p,.portal-content .card p{text-align:center}.patient-portal .avatar-circle,.patient-portal .profile-pic-large,.portal-content .avatar-circle,.portal-content .profile-pic-large{margin-left:auto;margin-right:auto}.patient-info,.portal-patient-info,.patient-profile-info,.profile-info,.dados-paciente,.patient-data{text-align:center;margin-left:auto;margin-right:auto}.patient-info p,.portal-patient-info p,.patient-profile-info p,.profile-info p,.dados-paciente p,.patient-data p{text-align:center}.patient-details-header{justify-content:center;text-align:center;margin-left:auto;margin-right:auto}.saldo-destaque,.patient-balance,.portal-balance,.balance-card{text-align:center!important;margin-left:auto;margin-right:auto}.patient-photo-actions,.portal-actions,.notification-actions,.notificacoes-actions,.button-row,.button-row.ctas{justify-content:center}.patient-portal .input-group,.portal-content .input-group{max-width:520px;margin-left:auto;margin-right:auto;text-align:left}.patient-portal .input-group label,.portal-content .input-group label{text-align:left}.patient-portal .transaction-list,.portal-content .transaction-list,.patient-portal .notification-list,.portal-content .notification-list,.patient-portal .notificacoes-list,.portal-content .notificacoes-list{max-width:760px;margin-left:auto;margin-right:auto;text-align:left}.patient-portal .transaction-list li,.portal-content .transaction-list li{text-align:left}.notification-card,.notificacao-card,.notifications-card,.portal-notification-item,.notificacao-item{max-width:760px;margin-left:auto;margin-right:auto;text-align:left}.patient-portal section,.portal-content section{width:100%;max-width:860px;margin-left:auto;margin-right:auto}.patient-portal .sidebar,.patient-portal .left-panel,.portal-sidebar{text-align:center}.patient-portal .menu button{text-align:center!important}@media (max-width: 600px){.patient-details-header{grid-template-columns:1fr!important;justify-items:center;text-align:center!important}.patient-details-header .avatar-circle,.patient-details-header .profile-pic-large{margin-bottom:6px}.patient-info,.portal-patient-info,.patient-profile-info,.profile-info,.dados-paciente,.patient-data{width:100%}.patient-portal .content,.patient-portal .right-panel,.portal-content{padding-left:14px;padding-right:14px}.patient-portal .content .card,.patient-portal .right-panel .card,.portal-content .card{padding-left:16px;padding-right:16px}}.patient-photo-wrap{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:999px}.patient-photo-img,.patient-photo-fallback{width:100%;height:100%;border-radius:999px;object-fit:cover;display:block;border:3px solid rgba(255,255,255,.84);box-shadow:0 8px 22px #0f172a29;background:#0f766e;color:#fff;overflow:hidden}.patient-photo-edit-floating{position:absolute;right:-4px;bottom:-4px;width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:var(--color-primary);color:#fff;border:2px solid var(--color-surface);box-shadow:0 6px 14px #0f172a2e;cursor:pointer;font-size:14px;z-index:2}.patient-photo-edit-floating input,.patient-photo-upload-btn input{display:none!important}.patient-photo-area,.patient-photo-admin-block{display:grid;justify-items:center;align-content:start;gap:10px;min-width:140px}.meus-dados-grid{display:grid;grid-template-columns:minmax(150px,220px) minmax(260px,1fr);gap:22px;align-items:center;max-width:720px;margin:0 auto}.dados-bloco{text-align:left}.dados-bloco p{text-align:left!important;margin:8px 0}.patient-photo-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center}.patient-photo-actions .btn-outline,.patient-photo-actions .btn-primary,.patient-photo-upload-btn{min-height:36px;padding:8px 12px;border-radius:999px;font-size:13px;box-shadow:none;white-space:nowrap}.patient-list .patient-photo-wrap{width:42px!important;height:42px!important}.patient-list .patient-photo-img,.patient-list .patient-photo-fallback{border-width:2px;box-shadow:0 3px 10px #0f172a1f;font-size:13px!important}.patient-details-header{align-items:center}.patient-details-header .patient-photo-admin-block{margin-right:4px}.notification-menu-btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;position:relative}.notification-menu-btn span{display:inline-flex;align-items:center;justify-content:center;gap:6px}.notification-badge{min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;background:#ef4444;color:#fff;font-size:12px;line-height:1;font-weight:900}.patient-portal .menu a.btn-outline,.patient-portal .menu button{min-height:46px;display:flex!important;align-items:center;justify-content:center;text-align:center!important}.patient-photo-img{text-indent:0;font-size:0}@media (max-width: 700px){.meus-dados-grid{grid-template-columns:1fr;text-align:center}.dados-bloco,.dados-bloco p{text-align:center!important}.patient-photo-actions{width:100%}.patient-photo-actions .btn-outline,.patient-photo-actions .btn-primary,.patient-photo-upload-btn{flex:1 1 140px}.patient-details-header .patient-photo-admin-block{margin-right:0}}@media (prefers-color-scheme: dark){.patient-photo-img,.patient-photo-fallback{border-color:#ffffffc7;box-shadow:0 8px 24px #0006}.patient-photo-edit-floating{border-color:#111827}.notification-badge{background:#ef4444;color:#fff}}.camera-modal-overlay{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:18px;background:#020617b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.camera-modal-card{width:min(94vw,520px);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:20px;box-shadow:0 22px 60px #00000057;padding:18px;display:grid;gap:14px}.camera-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.camera-modal-head h3{margin:0;color:var(--color-text)}.camera-preview{width:100%;aspect-ratio:1 / 1;max-height:64vh;background:#020617;border-radius:16px;object-fit:cover;border:1px solid rgba(148,163,184,.24)}.camera-modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.camera-modal-actions .btn-primary,.camera-modal-actions .btn-outline{flex:1 1 160px}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
