@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--bg:#060d1a;--surface:#0a1931ad;--surface-muted:#0c203d9e;--text:#e5f2ff;--text-muted:#9eb8d6;--border:#507ca859;--primary:#12c5ff;--primary-strong:#06aee6;--danger:#b91c1c;--table-head-bg:#96c6ece6;--table-head-text:#031527;--radius:14px;--radius-sm:8px;--shadow:0 20px 44px #040f2273;color:var(--text);background:var(--bg);font-family:Space Grotesk,Segoe UI,sans-serif}:root[data-theme=light]{--bg:#ecf4ff;--surface:#fff;--surface-muted:#f3f7fc;--text:#0f172a;--text-muted:#475569;--border:#d7e2f0;--primary:#0ea5e9;--primary-strong:#0284c7;--table-head-bg:#e2e8f0;--table-head-text:#0f172a;--shadow:0 14px 30px #0f172a1a}*{box-sizing:border-box}body{color:var(--text);background:radial-gradient(circle at 12% 15%,#12c5ff29,#0000 32%),radial-gradient(circle at 86% 8%,#009aff2e,#0000 28%),linear-gradient(160deg,#040914 0%,#071227 52%,#061129 100%);margin:0}:root[data-theme=light] body{background:linear-gradient(160deg,#f3f8ff 0%,#e8f0fb 100%)}:root[data-theme=light] .sidebar{background:linear-gradient(#f8fbff,#eef5ff);border-right-color:#93b1d199;box-shadow:inset -1px 0 #bad0e6cc}:root[data-theme=light] .sidebar-brand{background:linear-gradient(165deg,#fff,#f4f8ff);border-color:#a5c3dfa6}:root[data-theme=light] .sidebar h1{color:#0f172a}:root[data-theme=light] .sidebar-brand small,:root[data-theme=light] .menu-group h2,:root[data-theme=light] .menu-section h3{color:#4a6a8d}:root[data-theme=light] .menu-section{background:linear-gradient(170deg,#fff,#f3f7ff);border-color:#a5c5e3a6}:root[data-theme=light] .menu a{color:#0f2e53}:root[data-theme=light] .menu a:before{background:#21588859;box-shadow:0 0 0 3px #80aad347}:root[data-theme=light] .menu a.active,:root[data-theme=light] .menu a:hover{color:#083a62;border-color:#1582c266}:root[data-theme=light] .topbar{background:#fff;border-bottom:1px solid #d7e2f0}:root[data-theme=light] .avatar-button{color:#0f172a;background:linear-gradient(140deg,#fff,#f2f7ff);border-color:#a5c3dfa6}:root[data-theme=light] .language-select{color:#1f2937}:root[data-theme=light] .language-select select{color:#0f172a;background:#fff;border-color:#c8d6e8}:root[data-theme=light] .card{background:#fff;border-color:#d7e2f0;box-shadow:0 12px 26px #0f172a14}:root[data-theme=light] .card-light{background:#f5f9ff;border-color:#dbe6f2}:root[data-theme=light] .kpi-card{background:#fff;border-color:#d7e2f0}:root[data-theme=light] .page-state{background:#f8fbff;border-color:#d8e4f1}:root[data-theme=light] .btn-ghost{color:#0f172a;background:#f4f8fe;border-color:#c8d6e8}:root[data-theme=light] .btn-primary{color:#fff}:root[data-theme=light] .data-table th,:root[data-theme=light] .data-table td{border-color:#d7e2f0}:root[data-theme=light] .data-table th{color:#0f172a;background:#e8eff8}:root[data-theme=light] .data-table td{color:#0f172a;background:#fff}:root[data-theme=light] .data-table tbody tr:nth-child(2n) td{background:#f8fbff}a{color:inherit}.app-shell{grid-template-columns:272px 1fr;min-height:100vh;display:grid}.auth-shell{justify-content:center;align-items:center;padding:24px;display:flex}.login-layout{grid-template-columns:1fr minmax(360px,420px);gap:18px;width:min(1100px,100%);display:grid}.login-hero{color:#e2e8f0;border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);padding:28px}.login-hero h1{margin:0;font-size:34px}.login-hero p{color:#cbd5e1;margin-top:10px}.login-hero ul{flex-direction:column;gap:8px;margin:18px 0 0;padding-left:20px;display:flex}.sidebar{color:#d8e9ff;background:linear-gradient(#061022f2,#050c1aeb);border-right:1px solid #4f7fab4d;padding:18px 14px;position:relative;box-shadow:inset -1px 0 #08213bd9}.sidebar-brand{background:linear-gradient(165deg,#0b2443db,#07162ad1);border:1px solid #5d8fbc52;border-radius:14px;margin-bottom:14px;padding:12px;box-shadow:0 16px 28px #03102273}.brand-kicker{text-transform:uppercase;letter-spacing:.12em;color:#78afd9;background:#12c5ff24;border:1px solid #12c5ff47;border-radius:999px;padding:3px 8px;font-size:10px;display:inline-flex}.sidebar h1{margin:8px 0 4px;font-size:24px;line-height:1.05}.sidebar-brand small{color:#89adcf;font-size:12px}.menu{flex-direction:column;gap:10px;margin-top:4px;display:flex}.menu a{color:#cfe5ff;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:9px 11px 9px 30px;font-weight:500;text-decoration:none;transition:all .18s;display:flex;position:relative}.menu a:before{content:"";background:#7eb4e173;border-radius:999px;width:8px;height:8px;position:absolute;top:50%;left:12px;transform:translateY(-50%);box-shadow:0 0 0 3px #224a7257}.menu a.active,.menu a:hover{color:#f4fbff;background:linear-gradient(90deg,#12c5ff42,#0c497629);border-color:#12c5ff59;transform:translate(2px)}.menu a.active:before,.menu a:hover:before{background:#8be8ff;box-shadow:0 0 0 3px #077aa866}.menu-group{flex-direction:column;gap:8px;display:flex}.menu-group h2{text-transform:uppercase;letter-spacing:.14em;color:#5d87b3;margin:0 8px;font-size:11px}.chat-nav-badge{color:#04192d;background:#29c8ff;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;font-size:12px;font-weight:800;display:inline-flex}.chat-nav-badge-blink{animation:1.1s ease-in-out infinite chat-blink}@keyframes chat-blink{0%,to{opacity:1;box-shadow:0 0 #29c8ff73}50%{opacity:.3;box-shadow:0 0 0 8px #29c8ff00}}.menu-section{background:linear-gradient(170deg,#091d36b8,#081426a3);border:1px solid #4e7aa338;border-radius:12px;flex-direction:column;gap:6px;margin-bottom:2px;padding:8px;display:flex}.menu-section h3{color:#9dc0e3;border-bottom:1px solid #5780a73d;margin:2px 0 0;padding:0 4px 4px;font-size:12px;font-weight:700}.empty-menu{color:#94a3b8;margin:0;font-size:12px}.content{flex-direction:column;min-height:0;display:flex}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#08172dc2;border-bottom:1px solid #4a78a15c;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.topbar-actions{align-items:center;gap:10px;display:flex}.avatar-button{width:48px;height:48px;color:var(--text);cursor:pointer;background:linear-gradient(140deg,#0a2341d9,#07182ecc);border:1px solid #6497c273;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.avatar-button img{object-fit:cover;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0}.app-feedback{margin:0 24px 12px}.profile-avatar-editor{grid-template-columns:72px 1fr;align-items:end;gap:10px;display:grid}.profile-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.profile-upload-button{cursor:pointer;justify-content:center;align-items:center;width:fit-content;display:inline-flex}.profile-upload-hint{color:var(--text-muted);font-size:12px;line-height:1.4}.avatar-preview{border:1px solid var(--border);background:var(--surface-muted);border-radius:999px;justify-content:center;align-items:center;width:72px;height:72px;font-weight:700;display:inline-flex;overflow:hidden}.avatar-preview img{object-fit:cover;width:100%;height:100%}.profile-divider{border:none;border-top:1px solid var(--border);width:100%;margin:8px 0}.topbar-user{flex-direction:column;gap:2px;display:flex}.breadcrumb{color:#85a5c7;font-size:12px}.language-select{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.language-select select{color:var(--text);background:#0a1f3ae0;border:1px solid #5a88b466;border-radius:6px;padding:4px 8px}.topbar span{color:var(--text-muted);font-size:12px}.content-body{flex-direction:column;flex:1;min-height:0;padding:24px;display:flex;position:relative}.content-body .card{max-width:none}.family-app-shell{grid-template-columns:240px 1fr;gap:12px;min-height:100vh;padding:18px;display:grid}.family-app-main{flex-direction:column;gap:12px;display:flex}.family-app-topbar{border:1px solid var(--border);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.family-app-topbar h1{margin:4px 0 0;font-size:22px}.family-app-topbar-title{flex-direction:column;gap:4px;display:flex}.family-app-topbar-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.family-app-patient-name{min-height:38px;color:var(--text);background:linear-gradient(#0ea5e91f,#3b82f614);border:1px solid #38bdf859;border-radius:999px;align-items:center;padding:6px 12px;font-size:18px;font-weight:700;line-height:1.2;display:inline-flex}.family-app-patient-select{background:linear-gradient(#0ea5e91f,#3b82f614);border-color:#38bdf859;border-radius:999px;min-width:240px;max-width:min(420px,100%);min-height:38px;padding-inline:12px;font-weight:600}.family-app-topbar small{color:var(--text-muted)}.family-side-menu{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:12px;padding:14px 12px;display:flex}.family-side-brand{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;padding:10px}.family-side-brand h1{margin:6px 0 4px;font-size:20px}.family-side-brand small,.family-side-brand span{color:var(--text-muted);font-size:12px}.family-side-nav{flex-direction:column;gap:6px;display:flex}.family-side-link{color:var(--text);background:0 0;border:1px solid #0000;border-radius:9px;padding:9px 10px;text-decoration:none;transition:all .16s}.family-side-link:hover,.family-side-link.active{background:linear-gradient(90deg,#12c5ff38,#0a24401f);border-color:#12c5ff5c}.family-app-content{flex-direction:column;gap:12px;width:100%;display:flex}.family-app-content .card,.family-layout .card{width:100%;max-width:none}.registrations-page-card,.registrations-page-surface{flex-direction:column;flex:1;min-height:0;display:flex}.registrations-page-surface .table-wrap{flex:1;min-height:0;overflow:auto}.dashboard-grid{grid-template-columns:1fr;gap:16px;display:grid}.dashboard-chart-grid{grid-template-columns:repeat(2,minmax(320px,1fr));gap:14px;display:grid}.trend-up,.trend-down{margin-top:4px;font-size:12px;font-weight:600}.trend-up{color:#22c55e}.trend-down{color:#ef4444}.chart-3d{perspective:900px;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));align-items:end;gap:10px;min-height:250px;display:grid}.chart-3d-column{flex-direction:column;align-items:center;gap:6px;display:flex}.chart-3d-bar-wrap{justify-content:center;align-items:flex-end;width:100%;height:170px;display:flex}.chart-3d-bar{transform-origin:bottom;border-radius:10px 10px 6px 6px;width:80%;min-height:12px;animation:.9s cubic-bezier(.22,1,.36,1) chart-bar-rise;position:relative;transform:rotateX(14deg)rotateY(-10deg);box-shadow:0 12px 24px #00000052}.chart-3d-bar:before{content:"";border-radius:inherit;opacity:.38;position:absolute;inset:0}.chart-3d-column strong{font-size:13px;line-height:1.2}.chart-3d-column small{color:var(--text-muted);text-align:center;min-height:30px;font-size:11px}.chart-3d-cyan .chart-3d-bar{background:linear-gradient(#67e8f9 0%,#0ea5e9 100%)}.chart-3d-cyan .chart-3d-bar:before{background:linear-gradient(90deg,#e0f2fe8c,#0000)}.chart-3d-violet .chart-3d-bar{background:linear-gradient(#c4b5fd 0%,#8b5cf6 100%)}.chart-3d-violet .chart-3d-bar:before{background:linear-gradient(90deg,#e9d5ff80,#0000)}.chart-3d-emerald .chart-3d-bar{background:linear-gradient(#86efac 0%,#10b981 100%)}.chart-3d-emerald .chart-3d-bar:before{background:linear-gradient(90deg,#d1fae580,#0000)}.chart-3d-amber .chart-3d-bar{background:linear-gradient(#fcd34d 0%,#f59e0b 100%)}.chart-3d-amber .chart-3d-bar:before{background:linear-gradient(90deg,#fef3c780,#0000)}@keyframes chart-bar-rise{0%{opacity:0;transform:rotateX(14deg)rotateY(-10deg)scaleY(.05)}to{opacity:1;transform:rotateX(14deg)rotateY(-10deg)scaleY(1)}}.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#0b1e39db,#08182ec7);max-width:880px;padding:24px}.card-header{margin-bottom:16px}.card h1{margin:0;font-size:22px}.kpi-grid{grid-template-columns:repeat(3,minmax(130px,1fr));gap:10px;margin-top:12px;display:grid}.kpi-card{background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.kpi-card small{color:var(--text-muted);font-size:12px}.kpi-card strong{font-size:20px}.kpi-grid-4{grid-template-columns:repeat(4,minmax(150px,1fr))}.professional-finance-kpi-grid{grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.professional-finance-kpi-grid .kpi-card{padding:10px}.professional-finance-kpi-grid .kpi-card strong{font-size:18px}.daily-agenda-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;margin-top:16px;display:grid}.daily-report-list{grid-template-columns:1fr;gap:12px;margin-top:16px;display:grid}.daily-report-row{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;padding:12px}.daily-report-row h3{margin:0 0 10px;font-size:16px}.daily-report-items-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.daily-report-chip{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:8px 10px;font-size:13px}.daily-agenda-card{border:1px solid var(--border);background:#fff;border-radius:10px;padding:12px}.daily-agenda-card h3{margin:0 0 10px;font-size:16px}.daily-agenda-list{flex-direction:column;gap:8px;display:flex}.daily-agenda-item{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.daily-agenda-item-routine{background:#eff6ff;border-color:#93c5fd}.daily-agenda-item-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.routine-badge{white-space:nowrap;color:#1d4ed8;background:#dbeafe;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.quick-links-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;display:grid}.quick-link-card{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;padding:12px;text-decoration:none}.quick-link-card h3{margin:0;font-size:16px}.quick-link-card p{margin:8px 0 0;font-size:13px}.card p{color:var(--text-muted);margin:8px 0 0}.form{flex-direction:column;gap:12px;margin-top:8px;display:flex}.grid{align-items:end;gap:12px;display:grid}.grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.five-columns{grid-template-columns:repeat(5,minmax(0,1fr))}.compact-grid .field{width:100%;max-width:none}.professional-profile-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;max-width:980px}.professional-profile-grid .field{width:100%;max-width:none}.professional-cep-group{gap:6px}.professional-cep-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.field{flex-direction:column;gap:6px;width:min(420px,100%);display:flex}.field span{color:var(--text-muted);font-size:14px}.checkbox-field{flex-direction:row;align-items:center;gap:8px}.checkbox-field input{width:auto}.field input{border-radius:var(--radius-sm);border:1px solid #cbd5e1;width:100%;padding:10px;font-size:14px}.field select{border-radius:var(--radius-sm);background:#fff;border:1px solid #cbd5e1;width:100%;padding:10px;font-size:14px}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.table-responsive table{min-width:680px}.table-responsive table th,.table-responsive table td{text-align:left}.portal-inline-tabs{flex-wrap:wrap;gap:8px;display:flex}.calendar-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:10px;display:grid}.calendar-day-card{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;flex-direction:column;gap:6px;min-height:114px;padding:10px;display:flex}.calendar-day-card p{color:var(--text-muted);margin:0}.calendar-shift-pill{background:#0ea5e91a;border:1px solid #38bdf859;border-radius:8px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.calendar-day-break{background:#7f1d1d29;border-color:#f87171b3}.calendar-shift-pill-break{background:#dc26262e;border-color:#f87171bf}.professional-break-status{color:#fecaca;font-size:11px;font-weight:700}.professional-break-hint{color:var(--text-muted);font-size:11px}:root[data-theme=light] .calendar-day-break{background:#fef2f2;border-color:#fca5a5}:root[data-theme=light] .calendar-shift-pill-break{background:#fee2e2;border-color:#f87171}:root[data-theme=light] .professional-break-status{color:#b91c1c}.calendar-day-today{background:#ecfdf3;border-color:#86efac}:root[data-theme=dark] .calendar-day-today{background:#22c55e24;border-color:#4ade8073}.service-multiselect{position:relative}.service-multiselect-trigger{border-radius:var(--radius-sm);cursor:pointer;width:100%;min-height:42px;color:var(--text);background:#fff;border:1px solid #cbd5e1;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.service-multiselect-trigger>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.service-multiselect-trigger:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.service-multiselect-panel{z-index:20;border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:10px;max-height:180px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.service-multiselect-option{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.service-multiselect-option:hover{background:#eff6ff}.field-hint{color:var(--text-muted);margin-top:6px;font-size:12px;line-height:1.4;display:block}.helper{color:var(--text-muted);margin:0;font-size:12px;line-height:1.4}.field-hint-strong{color:var(--text);font-weight:600}.service-selected-row{margin-top:8px}.patient-schedule-calendar{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.patient-schedule-day{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;flex-direction:column;gap:8px;min-height:108px;padding:10px;display:flex}.patient-schedule-day-today{background:#ecfdf3;border-color:#9ad7b2}.patient-schedule-day-gap{background:#fee2e2b3;border-color:#ef44448c}.patient-schedule-day-header{flex-direction:column;gap:2px;display:flex}.patient-schedule-day-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.patient-schedule-day-today-badge{color:#065f46;background:#d1fae5;border:1px solid #86efac;border-radius:999px;justify-content:center;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.patient-schedule-day-header span{color:var(--text-muted);text-transform:capitalize;font-size:12px}.patient-schedule-entry{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:0;padding:6px 8px;display:flex}.patient-schedule-entry-gap{background:#fee2e2e6;border-color:#ef4444a6}.patient-schedule-entry-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.patient-schedule-entry-header strong{font-size:14px;line-height:1.2}.patient-schedule-entry span{color:var(--text-muted);font-size:12px}.patient-schedule-entry-status{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:600}:root[data-theme=dark] .patient-schedule-day{background:#0c2139d9;border-color:#94a3b847}:root[data-theme=dark] .patient-schedule-day-gap{background:#7f1d1d38;border-color:#f87171bf}:root[data-theme=dark] .patient-schedule-day-header strong{color:var(--text)}:root[data-theme=dark] .patient-schedule-day-header span{color:#c7d4e6}:root[data-theme=dark] .patient-schedule-entry{background:#254a7085;border-color:#93c5fd6b}:root[data-theme=dark] .patient-schedule-entry-gap{background:#991b1b59;border-color:#f87171bf}:root[data-theme=dark] .patient-schedule-entry span,:root[data-theme=dark] .patient-schedule-entry-status{color:#d7e5f7}.patient-section-toolbar{flex-wrap:wrap;justify-content:flex-start;gap:12px;display:flex}.care-timeline{flex-direction:column;gap:14px;padding-left:18px;display:flex;position:relative}.care-timeline:before{content:"";background:#dbeafe;width:2px;position:absolute;top:0;bottom:0;left:6px}.care-timeline-item{gap:12px;display:flex;position:relative}.care-timeline-marker{background:var(--primary);box-sizing:border-box;border:3px solid #dbeafe;border-radius:999px;width:14px;height:14px;position:absolute;top:18px;left:-18px}.care-timeline-card{border:1px solid var(--border);width:100%;box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:14px}.care-timeline-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.care-timeline-meta{flex-direction:column;gap:2px;display:flex}.care-timeline-meta span{color:var(--text-muted);font-size:12px}.care-timeline-text{white-space:pre-wrap;color:var(--text);margin:0;line-height:1.5}.textarea{border-radius:var(--radius-sm);resize:vertical;border:1px solid #cbd5e1;min-height:88px;padding:10px;font-family:inherit;font-size:14px}.json-preview{border:1px solid var(--border);color:#e2e8f0;background:#0f172a;border-radius:8px;max-height:360px;margin:0;padding:12px;font-size:12px;overflow:auto}.field-inline{min-width:210px}.btn{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 14px;font-weight:600;transition:all .18s}.btn-sm{border-radius:8px;padding:6px 10px;font-size:12px}.btn-inline{align-self:flex-start;width:fit-content}.btn-primary{background:linear-gradient(140deg, var(--primary), #1daeff);color:#022238;border-color:#91eaff73;box-shadow:0 10px 24px #098cc659}.btn-primary:hover{background:var(--primary-strong);color:#d8f7ff}.btn-ghost{color:var(--text);background:#0a213e9e;border:1px solid #5a88b461}.btn-danger{background:var(--danger);color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--danger);margin:0}.page-state{border-radius:var(--radius-sm);background:var(--surface-muted);border:1px dashed var(--border);margin-top:16px;padding:16px}.page-state h2{margin:0;font-size:16px}.page-state p{margin:8px 0 0}.check-list{flex-direction:column;gap:8px;margin:8px 0 0;padding-left:20px;display:flex}.required-permission{color:#64748b;margin-top:14px;font-size:13px}.module-placeholder-layout{grid-template-columns:1fr 1fr;gap:16px;display:grid}.schedules-layout{flex-direction:column;gap:16px;display:flex}.schedules-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.schedule-primary-action,.schedule-secondary-action{align-self:flex-start;width:fit-content;min-height:34px;padding:7px 12px;font-size:13px}.schedule-primary-action{margin-top:2px}.schedule-secondary-action{margin-top:4px}.dailycare-layout{flex-direction:column;gap:16px;display:flex}.dailycare-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.finance-layout{flex-direction:column;gap:16px;display:flex}.finance-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.reports-layout{flex-direction:column;gap:16px;display:flex}.reports-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.family-layout{flex-direction:column;gap:16px;width:100%;display:flex}.professional-portal-layout .card-header,.professional-portal-layout .card-header h1,.professional-portal-layout .card-header p,.professional-portal-layout .calendar-day-card,.professional-portal-layout .calendar-day-card strong,.professional-portal-layout .calendar-day-card small,.professional-portal-layout .calendar-shift-pill{text-align:left}.professional-portal-layout .calendar-day-card,.professional-portal-layout .calendar-shift-pill{align-items:flex-start}.family-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.chat-center-layout,.chat-admin-grid{gap:14px;display:grid}.chat-center-layout{grid-template-columns:minmax(0,1fr);width:100%;min-height:0}.chat-center-layout>.card{flex-direction:column;width:100%;height:calc(100vh - 168px);min-height:620px;display:flex;overflow:hidden}.chat-main-tabs,.chat-message-mode-tabs{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chat-center-grid{flex:1;grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:stretch;gap:14px;min-height:0;display:grid}.chat-center-grid>.card{flex-direction:column;min-height:0;display:flex;overflow:hidden}.chat-conversation-list{gap:8px;max-height:none;padding-right:4px;display:grid;overflow:auto}.chat-conversation-item{color:inherit;text-align:left;cursor:pointer;background:#ffffffbd;border:1px solid #94a3b873;border-radius:12px;justify-content:space-between;gap:10px;padding:12px;transition:all .18s;display:flex}.chat-conversation-item.active{background:linear-gradient(#f0fdf4f5,#dcfce7e0);border-color:#16a34a73}.chat-conversation-item.chat-conversation-unread{box-shadow:0 0 0 2px #22c55e24}.chat-conversation-item div{gap:2px;display:grid}.chat-conversation-item small{opacity:.82}.chat-badge{color:#052e16;background:#86efac;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;font-size:12px;display:inline-flex}.chat-message-list{background:radial-gradient(circle at 18% 14%,#ffffff80,#0000 32%),radial-gradient(circle at 82% 5%,#ffffff6b,#0000 28%),linear-gradient(#f8f5ef,#efe9dc);border:1px solid #94a3b866;border-radius:14px;flex-direction:column;gap:8px;max-height:none;padding:16px 12px;display:flex;overflow:auto}.chat-thread-card{flex-direction:column;gap:10px;min-height:0;display:flex}.chat-attendance-panel{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.chat-thread-header{padding:4px 2px 0}.chat-message-item{border:1px solid #94a3b852;border-radius:11px;width:fit-content;max-width:min(74%,780px);padding:10px 12px;box-shadow:0 5px 14px #0f172a0f}.chat-message-item header{justify-content:space-between;gap:10px;margin-bottom:6px;display:flex}.chat-message-item p{white-space:pre-wrap;margin:0}.chat-message-source{color:var(--text-muted);margin-bottom:6px;display:block}.chat-message-agent{background:#dcfce7;border-color:#16a34a47}.chat-message-user{background:#fff}.chat-message-internal{background:#fef3c7;border-color:#f59e0b80}.chat-message-outgoing{margin-left:auto}.chat-mode-hint{color:var(--text-muted);margin:0;font-size:12px}.chat-composer-shell{background:#ffffffe6;border:1px solid #94a3b866;border-radius:14px;gap:10px;padding:12px;display:grid}.chat-composer-meta{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.chat-composer-meta .field{width:min(320px,100%)}.chat-composer-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.chat-composer-field{width:100%;max-width:none}.chat-composer-textarea{resize:vertical;min-height:80px}.chat-send-button{align-self:end;min-height:40px}.chat-emoji-control{position:relative}.chat-emoji-button{min-width:44px;min-height:40px;padding:0;font-size:20px}.chat-emoji-picker{z-index:4;background:#fff;border:1px solid #94a3b880;border-radius:12px;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;width:240px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 12px 26px #0f172a33}.chat-emoji-item{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:6px;font-size:18px}.chat-emoji-item:hover{background:#f1f5f9;border-color:#0ea5e959}.chat-upload-row{display:flex}.chat-upload-field{width:100%;max-width:none}.chat-search-field{width:min(460px,100%);position:relative}.chat-search-dropdown{z-index:6;background:#fff;border:1px solid #94a3b873;border-radius:12px;gap:6px;max-height:260px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 14px 30px #0f172a2e}.chat-search-dropdown small{color:var(--text-muted);padding:6px}.chat-search-suggestion{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #94a3b859;border-radius:10px;gap:2px;padding:8px 10px;display:grid}.chat-search-suggestion:hover{background:#ecfdf5;border-color:#16a34a66}.chat-attachment-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.chat-attachment-link{color:inherit;text-align:left;background:#fff;border:1px solid #94a3b880;border-radius:10px;flex-direction:column;gap:4px;min-width:160px;max-width:240px;padding:8px 10px;text-decoration:none;display:inline-flex}button.chat-attachment-link{cursor:pointer}.chat-attachment-link small{color:var(--text-muted)}.chat-attachment-image{object-fit:cover;border-radius:8px;width:100%;max-height:120px}.chat-template-shortcuts{flex-wrap:wrap;gap:8px;display:flex}.family-top-filters{grid-template-columns:minmax(220px,460px) minmax(180px,220px) 1fr;gap:12px;display:grid}.family-tab-menu{flex-wrap:wrap;gap:8px;display:flex}.family-timeline{flex-direction:column;gap:10px;display:flex}.family-timeline-item{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;grid-template-columns:88px 1fr;gap:10px;padding:10px;display:grid}.family-timeline-hour{color:var(--text-muted);font-weight:700}.family-timeline-body p{margin:4px 0}.integrations-layout{flex-direction:column;gap:16px;display:flex}.integrations-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.automation-layout{flex-direction:column;gap:16px;display:flex}.automation-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.wireframe-list{flex-direction:column;gap:8px;margin:0;padding-left:18px;display:flex}.toolbar{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.chips-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chip{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:4px 10px;font-size:12px}.registrations-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.card-light{box-shadow:none;background:linear-gradient(#0e2442c7,#0b1e38bf)}.card-light h2{margin-top:0;margin-bottom:12px}.list-toolbar{gap:8px;margin-bottom:12px;display:flex}.filter-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.list-toolbar input{border:1px solid var(--border);border-radius:8px;flex:0 420px;width:min(420px,100%);padding:8px 10px}.record-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.record-list li{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:4px;padding:10px;display:flex}.record-list li span{color:var(--text-muted);font-size:12px}.record-actions,.form-actions{gap:8px;display:flex}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.pagination span{color:var(--text-muted);font-size:12px}.pagination-actions{flex-wrap:wrap;gap:8px;display:flex}.patient-context-panel{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.patient-context-panel h3{margin:0}.modal-backdrop{z-index:1000;background:#0f172a80;justify-content:center;align-items:flex-start;padding:12px;display:flex;position:fixed;inset:0;overflow-y:auto}.patient-modal-backdrop{align-items:stretch;padding:0}.professional-modal-backdrop{align-items:stretch;padding:6px}.modal-card{background:var(--surface);border:1px solid var(--border);width:min(760px,100%);max-height:calc(100vh - 24px);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:12px;margin-top:0;padding:20px;display:flex;overflow:hidden auto}.modal-card-xl{width:min(1360px,100vw - 24px);height:min(860px,100vh - 24px);max-height:calc(100vh - 24px);overflow:hidden}.cadastro-modal-xl{width:min(1680px,100vw - 12px);height:auto;max-height:calc(100vh - 12px);overflow:hidden auto}.inventory-modal-fit{height:auto;max-height:calc(100vh - 24px)}.professional-modal-fit{width:calc(100vw - 12px);max-width:calc(100vw - 12px);height:auto;min-height:0;max-height:calc(100vh - 12px)}.professional-modal-no-fixed-height{height:auto;min-height:0}.professional-modal-fit .modal-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.professional-modal-fit .service-selected-row,.professional-modal-fit .field-hint,.professional-modal-fit .service-multiselect{max-width:none}.professional-modal-fit .field{width:100%;max-width:none}.professional-grid-full{grid-column:1/-1}.professional-modal-fit .field-textarea{width:100%}.professional-modal-fit .form{gap:8px;margin-top:0}.professional-modal-fit .modal-header{margin-bottom:4px}.professional-modal-fit .textarea{min-height:84px}.patient-modal-xl{width:100vw;max-width:100vw;height:100vh;max-height:100vh;box-shadow:none;border:none;border-radius:0}.patient-modal-form-tab{gap:8px}.patient-section{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;padding:12px}.patient-section h4{margin:0 0 10px;font-size:14px}.patient-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.modal-card-xl .field{width:100%;max-width:none}.modal-card-xl .patient-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cadastro-modal-xl .modal-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cadastro-modal-xl.professional-modal-fit .modal-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cadastro-modal-xl .field{width:100%;max-width:none}.inventory-modal-fit .modal-form-grid{gap:8px}.inventory-modal-fit .form-actions{margin-top:4px}.inventory-category-manage-trigger{justify-content:flex-end}.inventory-category-field{grid-column:span 1}.inventory-category-field-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.inventory-category-field-row select,.inventory-category-field-row .btn{min-height:38px}.inventory-category-field-row .btn{min-width:78px;padding-inline:10px;font-size:12px}.inventory-supplier-field-row{grid-template-columns:minmax(0,1fr)}.inventory-category-modal{width:min(920px,100%)}.inventory-category-modal-grid .field{width:100%;max-width:none}.inventory-category-form-actions{justify-content:flex-end}.inventory-category-list{margin-top:12px}.inventory-category-item-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.inventory-category-item-header p{color:var(--text-muted);margin:4px 0 0;font-size:12px}.patient-modal-xl .patient-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.patient-tabs-top{border-bottom:1px solid var(--border);margin-bottom:4px;padding-bottom:8px}.schedule-alert-banner{background:#f59e0b1f;border:1px solid #f59e0b73;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;display:flex}.schedule-alert-banner strong{color:#fde68a}.schedule-alert-banner span{color:var(--text-muted)}.tab-alert-count{color:#111827;background:#f59e0b;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.invoice-head-grid{grid-template-columns:minmax(140px,200px) minmax(180px,260px) minmax(220px,1fr) auto;align-items:end;gap:10px;display:grid}.invoice-supplier-create-row{grid-template-columns:minmax(220px,420px) auto;align-items:end;gap:10px;display:grid}.invoice-dates-grid{grid-template-columns:repeat(2,minmax(160px,220px));gap:10px;display:grid}.invoice-filters-grid{grid-template-columns:minmax(220px,360px) minmax(180px,260px);align-items:end;gap:10px;display:grid}.invoice-item-grid{grid-template-columns:minmax(260px,1fr) 90px 120px auto;align-items:end;gap:10px;display:grid}.invoice-item-actions{justify-content:flex-end;display:flex}.invoice-inline-actions{align-items:flex-end;gap:8px;display:flex}.invoice-bottom-actions{flex-wrap:wrap;gap:8px;display:flex}.invoice-input-small{max-width:100%}.invoice-number{text-align:right}.movement-form{gap:10px}.movement-compact-grid{grid-template-columns:140px minmax(220px,320px) 180px minmax(220px,320px) 140px;align-items:end;gap:10px;display:grid}.movement-field-sm{max-width:140px}.movement-field-md{max-width:320px}.movement-input-sm{max-width:180px}.movement-value{text-align:right}.movement-actions{justify-content:flex-start;display:flex}.patient-tab-content{flex:1;min-height:0;padding-right:6px;overflow:hidden auto}.patient-tab-content-form{flex:none;padding-right:0;overflow:visible}.patient-grid-span-2{grid-column:span 2}.field-textarea{grid-column:span 2;width:min(860px,100%)}.patient-cep-actions{justify-content:flex-end}.patient-cep-button{white-space:nowrap;align-self:end;min-height:38px}.patient-observations-textarea{min-height:120px}.patient-form-actions{margin-top:0;padding-top:0}.modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.toolbar.modal-header{margin-bottom:0}.modal-card-xl .patient-grid-span-2,.modal-card-xl .field-textarea{grid-column:span 3;width:100%}.patient-modal-xl .patient-section{padding:10px 12px}.patient-modal-xl .patient-section h4{margin-bottom:8px}.patient-modal-xl .form{gap:10px;margin-top:0}.patient-modal-xl .textarea{min-height:72px}.modal-header h3{margin:0}.icon-close{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;line-height:1;display:inline-flex}.icon-close:hover{background:var(--surface-muted)}.modal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.family-patient-data-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.family-patient-data-grid .field{width:100%;max-width:none}.finance-supplier-modal{width:min(920px,100%)}.finance-supplier-modal-grid .field{width:100%;max-width:none}.finance-supplier-address-field{grid-column:1/-1;width:100%}.cep-inline-group{grid-template-columns:minmax(220px,360px) auto;justify-content:flex-start;align-items:end;gap:10px;display:grid}.cep-inline-group .field{width:100%;max-width:none}.cep-inline-action{justify-content:flex-end}.specialty-list{flex-direction:column;gap:10px;display:flex}.specialty-list-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.specialty-item{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;padding:10px}.specialty-services-form{max-width:520px}.specialty-add-row{grid-template-columns:minmax(260px,420px) auto;justify-content:flex-start;align-items:end;gap:10px;display:grid}.specialty-add-action{justify-content:flex-start}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{border:1px solid var(--border);text-align:left;padding:8px}.data-table th{background:var(--table-head-bg);color:var(--table-head-text)}.th-button{all:unset;cursor:pointer;font-weight:700}.data-table td:last-child{min-width:180px}.status-badge{color:#334155;background:#e2e8f0;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.status-success{color:#166534;background:#dcfce7}.status-info{color:#1d4ed8;background:#dbeafe}.status-warning{color:#854d0e;background:#fef9c3}.status-danger{color:#991b1b;background:#fee2e2}.alert-row-indisponibilidade td{box-shadow:inset 3px 0 #f59e0b}:root[data-theme=dark] .alert-row-indisponibilidade td{background:#f59e0b1f}:root[data-theme=light] .alert-row-indisponibilidade td{background:#fff7ed}:root[data-theme=light] .data-table tbody tr.alert-row-indisponibilidade:nth-child(2n) td{background:#ffedd5}:root[data-theme=light] .schedule-alert-banner{background:#fff7ed;border-color:#fdba74}:root[data-theme=light] .schedule-alert-banner strong{color:#9a3412}.success{color:#166534;margin:0}@media (width<=960px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #ffffff14;border-right:none}.registrations-grid,.login-layout,.kpi-grid,.dashboard-chart-grid,.quick-links-grid,.module-placeholder-layout,.schedules-grid,.dailycare-grid,.finance-grid,.reports-grid,.family-grid{grid-template-columns:1fr}.family-app-shell{grid-template-columns:1fr;gap:10px;padding:10px}.family-side-menu{order:1}.family-app-main{order:2}.family-side-nav{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;display:grid}.family-side-link{text-align:center}.family-app-topbar{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.family-app-topbar-row{width:100%}.family-app-topbar-row h1{font-size:20px}.family-app-patient-select{width:100%;min-width:0;max-width:none}.family-app-patient-name{justify-content:center;width:100%}.family-top-filters,.grid.two-columns,.grid.three-columns,.grid.five-columns{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.portal-inline-tabs .btn{flex:120px}.integrations-grid,.automation-grid,.chat-center-grid,.chat-admin-grid{grid-template-columns:1fr}.chat-center-layout>.card{height:auto;min-height:0;overflow:visible}.chat-attendance-panel,.chat-center-grid>.card{min-height:auto}.chat-composer-row{grid-template-columns:1fr}.chat-send-button{width:100%}.chat-emoji-picker{width:min(280px,90vw)}.chat-message-item{max-width:92%}.topbar-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.family-app-content .card,.family-layout .card{padding:14px}.table-responsive table{min-width:560px}.family-timeline-item{grid-template-columns:1fr;gap:4px}.profile-avatar-editor,.patient-form-grid{grid-template-columns:1fr}.specialty-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-head-grid,.invoice-supplier-create-row,.invoice-dates-grid,.invoice-filters-grid,.movement-compact-grid,.invoice-item-grid{grid-template-columns:1fr}.invoice-item-actions{justify-content:flex-start}.modal-form-grid,.specialty-add-row,.cep-inline-group{grid-template-columns:1fr}.modal-card-xl{height:auto}.patient-modal-xl{width:100vw;max-width:100vw;height:100vh;max-height:100vh}.cadastro-modal-xl{width:min(100%,100vw - 16px);height:auto;max-height:calc(100vh - 16px)}.patient-tab-content{min-height:0}.patient-grid-span-2,.field-textarea{grid-column:span 1}.patient-modal-xl .patient-form-grid,.cadastro-modal-xl .modal-form-grid{grid-template-columns:1fr}}@media (width<=640px){.family-side-nav{grid-template-columns:1fr}.family-app-topbar-row h1{font-size:18px}.topbar-actions .btn{width:100%}.calendar-grid,.specialty-list-grid{grid-template-columns:1fr}}@media (width<=1280px){.family-patient-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=961px) and (width<=1180px){.modal-card-xl .patient-form-grid,.patient-modal-xl .patient-form-grid,.cadastro-modal-xl .modal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-card-xl .patient-grid-span-2,.modal-card-xl .field-textarea{grid-column:span 2}}
