:root{--bg:#f4f7fa;--surface:rgba(255, 255, 255, 0.94);--surface-strong:#ffffff;--line:rgba(0, 0, 0, 0.08);--text:#111827;--muted:#6b7280;--accent:#3f87a6;--accent-dark:#2c6e8b;--shadow:0 18px 60px rgba(0, 0, 0, 0.10);--shadow-sm:0 1px 3px rgba(0, 0, 0, 0.06),0 4px 8px rgba(0, 0, 0, 0.04);--shadow-md:0 4px 12px rgba(0, 0, 0, 0.08),0 8px 24px rgba(0, 0, 0, 0.06);--page-max-width:1180px;--panel-radius:28px;--button-radius:14px;--brand-logo-size:34px;--panel-clean-bg:#ffffff;--panel-clean-border:#e5e7eb;--panel-clean-radius:20px;--panel-clean-shadow:var(--shadow-sm);--color-warning-bg:#fef9c3;--color-warning-border:#fde047;--color-warning-text:#713f12;--color-info-bg:#eff6ff;--color-info-border:#93c5fd;--color-info:#3b82f6;--color-info-text:#1e40af;--color-success-bg:#d1fae5;--color-success-border:#6ee7b7;--color-success-text:#065f46;--color-danger-bg:#fee2e2;--color-danger-border:#fca5a5;--color-danger-text:#991b1b;--label:#1c1c1e;--label-2:rgba(60, 60, 67, 0.68);--label-3:rgba(60, 60, 67, 0.38);--separator:rgba(60, 60, 67, 0.14);--fill-quaternary:rgba(118, 118, 128, 0.1);--sidebar-material:rgba(255, 255, 255, 0.72);--tint:var(--accent);--tint-dark:var(--accent-dark);--tint-wash-strong:rgba(63, 135, 166, 0.16);--red:#d6362a;--sidebar-w:264px;--radius-row:12px}a{color:inherit}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--text);-webkit-text-size-adjust:100%;text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;background:var(--bg)}body.overlay-open{overflow:hidden}body[data-page-key]:not([data-page-key=portal_paciente]){--bg:#f4f7fa;background:#f4f7fa}.brand-logo{width:var(--brand-logo-size);height:var(--brand-logo-size);object-fit:contain;flex:0 0 auto}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;min-height:100dvh}.app-sidebar{position:sticky;top:0;align-self:start;min-height:100vh;min-height:100dvh;padding:0;overflow:hidden;border-right:1px solid var(--separator);background:var(--sidebar-material);backdrop-filter:blur(30px) saturate(1.5);-webkit-backdrop-filter:blur(30px) saturate(1.5);z-index:1;transition:opacity .2s ease}.app-shell.is-sidebar-hidden .app-sidebar{opacity:0;border-right-color:transparent;pointer-events:none}.app-sidebar .topbar{width:var(--sidebar-w);height:100vh;height:100dvh;overflow:hidden;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:16px 0}.app-sidebar .brand{display:flex;align-items:center;gap:10px;min-height:0;padding:6px 10px 16px;border-bottom:1px solid var(--separator);margin:0 12px 6px;color:var(--label);font-family:Inter,sans-serif;font-size:.95rem;font-weight:700;letter-spacing:-.01em}.app-sidebar .brand-text{max-width:180px;overflow:hidden;white-space:normal;overflow-wrap:break-word;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.app-sidebar-primary-nav{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 12px}.app-sidebar .nav{display:flex;flex-direction:column;align-items:stretch;gap:1px}.app-sidebar .nav-link{display:flex;align-items:center;justify-content:flex-start;gap:10px;text-align:left;width:100%;min-height:0;border-radius:var(--radius-row);padding:7px 10px;white-space:nowrap;border:0;background:0 0;color:var(--label-2);font-family:Inter,sans-serif;font-weight:500;font-size:.875rem;line-height:1.35;box-shadow:none;overflow:hidden;transition:background-color 160ms ease,color 160ms ease}.sidebar-section{margin-top:14px}.sidebar-section:first-of-type{margin-top:4px}.sidebar-section-label{padding:0 10px 6px;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--label-3)}.app-sidebar .nav-link:hover{background:var(--fill-quaternary);color:var(--label)}.app-sidebar .nav-link.is-active{background:var(--tint-wash-strong);color:var(--tint-dark);font-weight:700}.app-sidebar .sidebar-badge{display:none;position:relative;margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--red) 10%,transparent);border:1px solid var(--red);align-items:center;justify-content:center}.app-sidebar .sidebar-badge-num{display:inline-block;visibility:hidden;font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:.65rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.app-sidebar .sidebar-badge-num-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.app-sidebar .sidebar-badge-num-svg text{fill:#991b1b;font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:.65rem;font-weight:700;font-variant-numeric:tabular-nums}.app-sidebar .sidebar-badge.is-visible{display:inline-flex}.app-sidebar [data-auth-action=logout]{width:100%;justify-content:flex-start}.app-sidebar .nav-link-settings{justify-content:flex-start!important}.app-sidebar .user-profile{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-row);margin-top:4px}.app-sidebar .user-profile:hover{background:var(--fill-quaternary)}.app-sidebar .user-profile .app-nav-icon{width:28px;height:28px;border-radius:50%;overflow:hidden}.app-sidebar .user-profile .avatar{flex:unset;width:28px;height:28px;background:linear-gradient(155deg,#f3b95f,#e88a3a);font-size:.7rem;font-weight:700}.app-sidebar .user-profile .user-name{font-size:.8125rem;font-weight:600;color:var(--label)}.app-sidebar .user-profile .user-role{font-size:.72rem;color:var(--label-3)}.app-sidebar [data-auth-action=logout]{margin-top:auto;border-radius:16px;border:0;background:0 0;color:#526273;box-shadow:none}.app-sidebar .app-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:currentColor;flex:0 0 auto}.app-sidebar .brand .app-nav-icon{width:30px;height:30px;overflow:hidden}.app-sidebar .app-nav-icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;fill:none}.app-sidebar .app-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em;text-align:left}.app-sidebar-footer{margin:auto 12px 0;padding-top:12px;border-top:1px solid var(--separator);display:flex;flex-direction:column;gap:1px}.app-sidebar-footer-link{justify-content:flex-start;background:0 0}.app-shell{transition:grid-template-columns 260ms cubic-bezier(.22, 1, .36, 1)}.app-shell.no-sidebar-transition,.app-shell.no-sidebar-transition *{transition:none!important}.app-shell.is-sidebar-hidden{grid-template-columns:0px minmax(0,1fr)}html.sidebar-pre-hidden .app-shell{grid-template-columns:0px minmax(0,1fr)}.app-main{min-width:0;background:#f6f8fb}.app-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:8px 20px;height:52px;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(199,210,219,.58);position:sticky;top:0;z-index:10;backdrop-filter:blur(8px)}.app-toolbar-btn.sidebar-toggle-btn{margin-right:auto}.app-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:0;padding:0;box-shadow:none;appearance:none;-webkit-appearance:none;background:0 0;color:#516173;cursor:pointer;position:relative;transition:background-color 160ms ease,color 160ms ease;text-decoration:none;flex-shrink:0}.app-toolbar-btn:hover{background:linear-gradient(180deg,rgba(241,248,251,.98) 0,rgba(232,243,248,.96) 100%);color:#2e6f8c}.app-toolbar-btn svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.app-toolbar-btn.is-loading{pointer-events:none}.app-toolbar-btn.is-loading svg{animation:app-toolbar-spin .9s linear infinite}@keyframes app-toolbar-spin{to{transform:rotate(360deg)}}.app-toolbar-btn .nav-notificacoes-badge{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--red);display:none}.app-toolbar-btn .nav-notificacoes-badge.is-visible{display:block}@media (max-width:640px){.app-toolbar{padding:6px 12px}.app-shell{grid-template-columns:1fr}.app-sidebar{position:static;min-height:auto;padding:0;border-right:0;background:0 0;backdrop-filter:none}.app-sidebar .topbar{height:auto;overflow:visible;display:flex}.app-sidebar-primary-nav{overflow-y:visible}}.nav-notificacoes-badge{display:none;position:absolute;top:-1px;right:-1px;width:9px;height:9px;border-radius:50%;background:var(--red);pointer-events:none}.nav-notificacoes-badge.is-visible{display:block}.hidden{display:none!important}body.is-site-loading .nav{visibility:hidden}