:root{--nvis-primary:#1769A3;--nvis-primary-2:#0083BF;--nvis-light:#8DD5EE;--nvis-dark:#173358;--nvis-text:#344054;--nvis-muted:#667085;--nvis-border:#E6EDF3;--nvis-bg:#F4F8FB;--nvis-white:#fff;--nvis-shadow:0 18px 45px rgba(23,105,163,.10)}
.nvis-system,.nvis-system *{box-sizing:border-box}.nvis-system{position:relative;display:flex;width:100%;min-height:100vh;background:var(--nvis-bg);color:var(--nvis-text);font-family:Montserrat,Arial,sans-serif;overflow:hidden}.nvis-system--fullscreen{width:100vw;min-height:100vh;margin-left:calc(50% - 50vw)}
.nvis-sidebar{width:286px;flex:0 0 286px;background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%);border-right:1px solid var(--nvis-border);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;z-index:30;transition:.25s ease}.nvis-brand{height:116px;padding:22px 28px;display:flex;align-items:center;border-bottom:1px solid var(--nvis-border)}.nvis-brand img{display:block;width:100%;height:auto;max-height:72px;object-fit:contain}.nvis-nav{padding:18px 14px;overflow-y:auto;flex:1}.nvis-nav-group{margin-bottom:6px}.nvis-nav-parent{width:100%;border:0;background:transparent;border-radius:12px;padding:12px 14px;display:grid;grid-template-columns:28px 1fr 20px;align-items:center;gap:8px;color:#465567;text-align:left;font-weight:700;font-size:14px;cursor:pointer;transition:.2s}.nvis-nav-parent:hover,.nvis-nav-group.is-open>.nvis-nav-parent{background:#EAF5FB;color:var(--nvis-primary)}.nvis-nav-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#EEF6FB;color:var(--nvis-primary);font-size:17px}.nvis-nav-arrow{font-size:18px;transition:.2s}.nvis-nav-group.is-open .nvis-nav-arrow{transform:rotate(180deg)}.nvis-submenu{max-height:0;overflow:hidden;transition:max-height .28s ease;padding-left:16px}.nvis-nav-group.is-open .nvis-submenu{max-height:430px;overflow-y:auto;padding-top:5px;padding-bottom:4px}.nvis-nav-group.is-open .nvis-submenu::-webkit-scrollbar{width:5px}.nvis-nav-group.is-open .nvis-submenu::-webkit-scrollbar-thumb{background:#c7dbe8;border-radius:999px}.nvis-submenu-link{width:100%;border:0;background:transparent;color:#6B7887;padding:9px 12px;display:flex;align-items:center;gap:10px;text-align:left;border-radius:9px;font-size:13px;cursor:pointer}.nvis-submenu-link span{width:6px;height:6px;border-radius:50%;background:#C7D5E0}.nvis-submenu-link:hover,.nvis-submenu-link.is-active{background:#F0F8FC;color:var(--nvis-primary);font-weight:700}.nvis-submenu-link.is-active span{background:var(--nvis-primary-2);box-shadow:0 0 0 4px rgba(0,131,191,.12)}.nvis-sidebar-footer{margin:10px 18px 18px;padding:14px;border-radius:14px;background:linear-gradient(135deg,#EAF7FC,#F4FBFE);display:flex;gap:10px;align-items:center}.nvis-sidebar-footer strong,.nvis-sidebar-footer span{display:block}.nvis-sidebar-footer strong{font-size:12px;color:var(--nvis-dark)}.nvis-sidebar-footer span{font-size:11px;color:var(--nvis-muted);margin-top:2px}.nvis-help-dot{width:10px;height:10px;border-radius:50%;background:#27AE60;box-shadow:0 0 0 5px rgba(39,174,96,.12)}
.nvis-main{flex:1;min-width:0;height:100vh;overflow:auto}.nvis-topbar{height:88px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--nvis-border);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:20}.nvis-topbar-left{display:flex;align-items:center;gap:14px}.nvis-topbar h1{font-size:20px;line-height:1.2;color:var(--nvis-dark);margin:2px 0 0;font-weight:800}.nvis-eyebrow{font-size:10px;letter-spacing:.12em;color:var(--nvis-primary);font-weight:800;margin:0}.nvis-icon-button{display:none;border:0;background:#EEF6FB;width:42px;height:42px;border-radius:11px;padding:11px;cursor:pointer}.nvis-icon-button span{display:block;height:2px;background:var(--nvis-primary);margin:4px 0}.nvis-topbar-actions{display:flex;align-items:center;gap:14px}.nvis-search-trigger{height:42px;min-width:290px;border:1px solid var(--nvis-border);background:#F9FBFC;border-radius:12px;color:#8491A0;display:flex;align-items:center;gap:9px;padding:0 12px;cursor:pointer}.nvis-search-trigger kbd{margin-left:auto;background:#fff;border:1px solid #D9E2EA;border-radius:6px;padding:3px 6px;font-size:10px}.nvis-notification{width:42px;height:42px;border:1px solid var(--nvis-border);background:#fff;border-radius:12px;position:relative;cursor:pointer}.nvis-notification i{position:absolute;width:8px;height:8px;background:#E45757;border:2px solid #fff;border-radius:50%;right:8px;top:7px}.nvis-user-card{display:flex;align-items:center;gap:9px;padding-left:4px}.nvis-avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--nvis-primary),var(--nvis-primary-2));display:grid;place-items:center;color:#fff;font-size:12px;font-weight:800}.nvis-user-card strong,.nvis-user-card span{display:block}.nvis-user-card strong{font-size:12px;color:var(--nvis-dark)}.nvis-user-card span{font-size:10px;color:var(--nvis-muted);margin-top:2px}
.nvis-content{padding:28px 32px 46px;max-width:1600px;margin:0 auto}.nvis-view{display:none}.nvis-view.is-active{display:block;animation:nvisFade .25s ease}@keyframes nvisFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.nvis-welcome{min-height:180px;border-radius:22px;background:linear-gradient(120deg,var(--nvis-dark),var(--nvis-primary) 62%,var(--nvis-primary-2));color:#fff;padding:32px 36px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;box-shadow:var(--nvis-shadow)}.nvis-welcome:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;border:52px solid rgba(255,255,255,.08);right:-60px;top:-120px}.nvis-welcome h2{margin:8px 0 8px;font-size:30px;line-height:1.15;color:#fff;font-weight:800}.nvis-welcome p{margin:0;color:rgba(255,255,255,.82);max-width:680px}.nvis-welcome .nvis-section-label{color:var(--nvis-light)}.nvis-welcome-art{width:190px;height:120px;position:relative;z-index:2}.nvis-welcome-art span{position:absolute;border:2px solid rgba(255,255,255,.28);border-radius:50%}.nvis-welcome-art span:nth-child(1){width:120px;height:120px;right:0;top:0}.nvis-welcome-art span:nth-child(2){width:78px;height:78px;right:21px;top:21px;background:rgba(255,255,255,.08)}.nvis-welcome-art span:nth-child(3){width:24px;height:24px;right:48px;top:48px;background:var(--nvis-light);border:0;box-shadow:0 0 0 12px rgba(141,213,238,.13)}.nvis-section-label{font-size:10px;letter-spacing:.14em;color:var(--nvis-primary-2);font-weight:900}.nvis-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:20px 0}.nvis-stat-card{background:#fff;border:1px solid var(--nvis-border);border-radius:17px;padding:20px;display:flex;align-items:center;gap:15px;box-shadow:0 8px 24px rgba(26,72,110,.05)}.nvis-stat-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#E7F5FB,#F5FBFE);display:grid;place-items:center;color:var(--nvis-primary);font-size:22px}.nvis-stat-card span,.nvis-stat-card strong,.nvis-stat-card small{display:block}.nvis-stat-card span{font-size:12px;color:var(--nvis-muted)}.nvis-stat-card strong{font-size:25px;color:var(--nvis-dark);line-height:1.2;margin:3px 0}.nvis-stat-card small{font-size:10px;color:var(--nvis-primary)}.nvis-dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.8fr);gap:20px}.nvis-panel{background:#fff;border:1px solid var(--nvis-border);border-radius:18px;padding:22px;box-shadow:0 10px 28px rgba(26,72,110,.045)}.nvis-panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.nvis-panel h3{margin:4px 0 0;font-size:18px;color:var(--nvis-dark)}.nvis-text-button{border:0;background:transparent;color:var(--nvis-primary);font-weight:700;font-size:12px;cursor:pointer}.nvis-table-wrap{overflow:auto}.nvis-table{width:100%;border-collapse:collapse;font-size:12px}.nvis-table th{text-align:left;color:#8895A5;font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:10px 12px;border-bottom:1px solid var(--nvis-border)}.nvis-table td{padding:13px 12px;border-bottom:1px solid #EEF2F5;color:#556273;white-space:nowrap}.nvis-table td strong,.nvis-table td span{display:block}.nvis-table td strong{color:var(--nvis-dark);font-size:12px}.nvis-table td span:not(.nvis-status){font-size:10px;color:#98A2B3;margin-top:2px}.nvis-status{display:inline-block!important;width:max-content;border-radius:999px;padding:5px 9px;font-size:9px!important;font-weight:800}.nvis-status--confirmed{background:#EAF8F0;color:#218C55!important}.nvis-status--pending{background:#FFF5DE;color:#A66A00!important}.nvis-status--waiting{background:#EEF3FF;color:#4665A7!important}.nvis-quick-actions{display:grid;gap:10px}.nvis-quick-actions button{border:1px solid var(--nvis-border);background:#FBFDFE;border-radius:13px;padding:12px;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer;transition:.2s}.nvis-quick-actions button:hover{transform:translateY(-2px);border-color:#B7DDED;background:#F4FBFE}.nvis-quick-actions button>span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#EAF6FB;color:var(--nvis-primary);font-size:18px}.nvis-quick-actions strong,.nvis-quick-actions small{display:block}.nvis-quick-actions strong{font-size:12px;color:var(--nvis-dark)}.nvis-quick-actions small{font-size:10px;color:var(--nvis-muted);margin-top:2px}
.nvis-page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.nvis-page-heading h2{margin:5px 0 6px;color:var(--nvis-dark);font-size:27px}.nvis-page-heading p{margin:0;color:var(--nvis-muted);font-size:13px}.nvis-primary-button,.nvis-outline-button{border-radius:11px;padding:11px 16px;font-weight:800;font-size:12px;cursor:pointer}.nvis-primary-button{border:0;background:linear-gradient(135deg,var(--nvis-primary),var(--nvis-primary-2));color:#fff;box-shadow:0 8px 18px rgba(23,105,163,.18)}.nvis-outline-button{border:1px solid var(--nvis-border);background:#fff;color:#566475}.nvis-toolbar{display:flex;gap:10px;margin-bottom:20px}.nvis-filter-search{flex:1;min-width:220px;height:42px;border:1px solid var(--nvis-border);background:#FAFCFD;border-radius:11px;display:flex;align-items:center;padding:0 12px;gap:8px}.nvis-filter-search input{border:0!important;background:transparent!important;outline:0!important;box-shadow:none!important;width:100%;font-size:12px;padding:0!important}.nvis-empty-state{text-align:center;padding:70px 20px}.nvis-empty-state>div{width:64px;height:64px;border-radius:18px;background:#EAF6FB;color:var(--nvis-primary);display:grid;place-items:center;margin:0 auto 14px;font-size:26px}.nvis-empty-state h3{margin:0 0 7px}.nvis-empty-state p{max-width:560px;margin:0 auto 18px;color:var(--nvis-muted);font-size:13px}.nvis-form{max-width:1050px}.nvis-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.nvis-form label{display:block}.nvis-form label span{display:block;font-size:11px;font-weight:800;color:#475467;margin:0 0 7px}.nvis-form input,.nvis-form textarea,.nvis-form select{width:100%;border:1px solid #DDE6EC!important;background:#FBFDFE!important;border-radius:10px!important;padding:12px 13px!important;font-family:inherit!important;font-size:12px!important;color:var(--nvis-text)!important;outline:none!important;box-shadow:none!important}.nvis-form input:focus,.nvis-form textarea:focus{border-color:var(--nvis-primary-2)!important;box-shadow:0 0 0 3px rgba(0,131,191,.09)!important}.nvis-field--wide{grid-column:span 2}.nvis-form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--nvis-border);margin-top:22px;padding-top:18px}
.nvis-search-modal{position:fixed;inset:0;background:rgba(12,33,50,.45);backdrop-filter:blur(5px);z-index:999999;display:none;align-items:flex-start;justify-content:center;padding-top:12vh}.nvis-search-modal.is-open{display:flex}.nvis-search-dialog{width:min(680px,92vw);background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.22);overflow:hidden}.nvis-search-field{height:64px;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--nvis-border)}.nvis-search-field input{flex:1;border:0!important;outline:0!important;box-shadow:none!important;padding:0!important;font-size:14px!important}.nvis-search-field button{border:1px solid var(--nvis-border);background:#F6F8FA;border-radius:7px;padding:5px 8px;color:var(--nvis-muted)}.nvis-search-empty{text-align:center;padding:46px}.nvis-search-empty strong{color:var(--nvis-dark)}.nvis-search-empty p{color:var(--nvis-muted);font-size:12px}
.nvis-toast{position:fixed;right:24px;bottom:24px;background:var(--nvis-dark);color:#fff;border-radius:12px;padding:13px 16px;box-shadow:0 14px 35px rgba(0,0,0,.2);z-index:9999999;font-size:12px;animation:nvisFade .2s ease}
@media(max-width:1100px){.nvis-stat-grid{grid-template-columns:repeat(2,1fr)}.nvis-dashboard-grid{grid-template-columns:1fr}.nvis-search-trigger{min-width:220px}.nvis-user-card>div:last-child{display:none}}
@media(max-width:820px){.nvis-sidebar{position:fixed;left:-286px;top:0}.nvis-system.is-sidebar-open .nvis-sidebar{left:0;box-shadow:20px 0 50px rgba(0,0,0,.18)}.nvis-icon-button{display:block}.nvis-topbar{padding:0 16px}.nvis-search-trigger{width:42px;min-width:42px;padding:0;justify-content:center}.nvis-search-trigger span:nth-child(2),.nvis-search-trigger kbd{display:none}.nvis-content{padding:20px 16px 36px}.nvis-welcome{padding:26px}.nvis-welcome h2{font-size:24px}.nvis-welcome-art{display:none}.nvis-page-heading{align-items:flex-start;gap:14px}.nvis-topbar h1{font-size:17px}}
@media(max-width:560px){.nvis-stat-grid{grid-template-columns:1fr}.nvis-form-grid{grid-template-columns:1fr}.nvis-field--wide{grid-column:auto}.nvis-page-heading{display:block}.nvis-page-heading .nvis-primary-button{margin-top:14px}.nvis-toolbar{flex-wrap:wrap}.nvis-filter-search{flex-basis:100%}.nvis-user-card{display:none}.nvis-topbar-actions{gap:7px}.nvis-topbar{height:78px}.nvis-eyebrow{display:none}.nvis-welcome{min-height:165px}.nvis-welcome h2{font-size:21px}.nvis-panel{padding:16px}}

/* Reporte Simple */
.nvis-form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.nvis-field--span-3{grid-column:span 3}.nvis-simple-report{max-width:none;padding:0;overflow:hidden}.nvis-report-section{padding:24px;border-bottom:1px solid var(--nvis-border)}.nvis-report-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px}.nvis-report-title>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#EAF6FB;color:var(--nvis-primary);font-weight:900;font-size:11px}.nvis-report-title h3{margin:0 0 3px}.nvis-report-title p{margin:0;color:var(--nvis-muted);font-size:11px}.nvis-report-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.55fr);align-items:start}.nvis-report-chart-card{margin:24px 24px 24px 0;padding:22px;border:1px solid var(--nvis-border);border-radius:18px;background:linear-gradient(180deg,#F9FCFE,#fff);position:sticky;top:112px}.nvis-report-chart-card h3{margin:5px 0 20px}.nvis-pie{width:220px;height:220px;border-radius:50%;margin:0 auto 22px;display:grid;place-items:center;position:relative;background:conic-gradient(#E7EEF3 0 360deg);transition:background .3s}.nvis-pie:after{content:"";position:absolute;width:124px;height:124px;border-radius:50%;background:#fff;box-shadow:0 4px 20px rgba(23,51,88,.08)}.nvis-pie>div{position:relative;z-index:2;text-align:center}.nvis-pie strong,.nvis-pie span{display:block}.nvis-pie strong{font-size:28px;color:var(--nvis-dark)}.nvis-pie span{font-size:10px;color:var(--nvis-muted)}.nvis-chart-legend{display:grid;gap:10px}.nvis-chart-legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:11px}.nvis-chart-legend i{width:10px;height:10px;border-radius:3px}.nvis-chart-legend .is-subsidiado{background:#1769A3}.nvis-chart-legend .is-no-seguro{background:#8DD5EE}.nvis-chart-legend .is-privado{background:#173358}.nvis-chart-legend strong{color:var(--nvis-dark)}.nvis-chart-note{font-size:10px;color:var(--nvis-muted);line-height:1.5;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--nvis-border)}.nvis-metric-table{border:1px solid var(--nvis-border);border-radius:13px;overflow:hidden}.nvis-metric-row{display:grid;grid-template-columns:1fr 140px 110px;align-items:center;min-height:48px;border-bottom:1px solid var(--nvis-border)}.nvis-metric-row:last-child{border-bottom:0}.nvis-metric-row>*{padding:10px 14px}.nvis-metric-row input{border:0!important;border-left:1px solid var(--nvis-border)!important;border-radius:0!important;background:#FBFDFE!important;height:48px}.nvis-metric-row output{height:48px;display:flex;align-items:center;border-left:1px solid var(--nvis-border);font-weight:800;color:var(--nvis-primary)}.nvis-metric-head{background:#F2F8FB;min-height:40px;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.nvis-metric-total{background:#F8FBFD}.nvis-private-insurance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.nvis-private-insurance-grid label{display:grid;grid-template-columns:1fr 90px;align-items:center;border:1px solid var(--nvis-border);border-radius:10px;overflow:hidden;background:#FBFDFE}.nvis-private-insurance-grid label span{margin:0;padding:11px;font-size:10px}.nvis-private-insurance-grid input{border:0!important;border-left:1px solid var(--nvis-border)!important;border-radius:0!important}.nvis-inline-total{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:14px;padding:13px 16px;background:#EAF6FB;border-radius:11px;color:var(--nvis-dark);font-size:12px}.nvis-inline-total output{font-size:19px;color:var(--nvis-primary);font-weight:900}.nvis-report-columns{display:grid;grid-template-columns:1fr 1fr}.nvis-report-columns>.nvis-report-section:first-child{border-right:1px solid var(--nvis-border)}.nvis-report-actions{padding:20px 24px;margin:0}.nvis-form-message{padding:0 24px 20px;font-size:12px;font-weight:700}.nvis-form-message.is-success{color:#218C55}.nvis-form-message.is-error{color:#B42318}.nvis-report-history{margin-top:22px}.nvis-report-filters input[type=date]{border:1px solid var(--nvis-border);border-radius:11px;padding:0 12px;background:#fff;font-size:11px}.nvis-row-actions{display:flex;gap:6px}.nvis-row-actions button{border:1px solid var(--nvis-border);background:#fff;border-radius:8px;padding:6px 9px;color:var(--nvis-primary);font-size:10px;font-weight:800;cursor:pointer}.nvis-row-actions button.is-danger{color:#B42318}.nvis-table-empty{text-align:center;padding:20px;color:var(--nvis-muted)}.nvis-toast.is-error{background:#B42318}.nvis-toast.is-success{background:#173358}.nvis-primary-button:disabled{opacity:.6;cursor:wait}
@media(max-width:1100px){.nvis-report-layout{grid-template-columns:1fr}.nvis-report-chart-card{margin:20px;position:static}.nvis-private-insurance-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.nvis-form-grid--3{grid-template-columns:1fr}.nvis-field--span-3{grid-column:auto}.nvis-report-columns{grid-template-columns:1fr}.nvis-report-columns>.nvis-report-section:first-child{border-right:0}.nvis-metric-row{grid-template-columns:1fr 90px 80px}.nvis-private-insurance-grid{grid-template-columns:1fr}.nvis-report-filters input[type=date]{height:42px}.nvis-pie{width:190px;height:190px}}
@media print{body *{visibility:hidden!important}.nvis-simple-report,.nvis-simple-report *{visibility:visible!important}.nvis-simple-report{position:absolute;left:0;top:0;width:100%;box-shadow:none!important;border:0!important}.nvis-sidebar,.nvis-topbar,.nvis-page-heading,.nvis-report-history,.nvis-report-actions,.nvis-form-message{display:none!important}.nvis-content{padding:0!important}.nvis-report-chart-card{position:static!important}.nvis-system{background:#fff!important}.nvis-report-section{break-inside:avoid}.nvis-form input,.nvis-form textarea{border-color:#999!important;background:#fff!important}}

/* Participantes de jornadas */
.nvis-import-panel{display:flex;align-items:center;gap:18px;margin-bottom:22px;flex-wrap:wrap}.nvis-import-panel>div{flex:1;min-width:280px}.nvis-import-panel h3{margin:0 0 5px}.nvis-import-panel p{margin:0;color:#667784}.nvis-file-button{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border:1px solid #1769A3;border-radius:10px;color:#1769A3;font-weight:700;cursor:pointer;background:#fff}.nvis-form-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.nvis-check-field{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:13px;border:1px solid #dce7ee;border-radius:10px}.nvis-check-field input{width:18px!important;height:18px!important}.nvis-check-field span{margin:0!important}.nvis-form select,.nvis-toolbar select{width:100%;min-height:46px;border:1px solid #d6e2ea;border-radius:10px;background:#fff;padding:0 12px;color:#243746}.nvis-field--span-3{grid-column:span 3}@media(max-width:1050px){.nvis-form-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.nvis-form-grid--4{grid-template-columns:1fr}.nvis-field--span-3{grid-column:span 1}.nvis-import-panel>*{width:100%}}

/* Sistema de citas INVIS */
.nvis-public-booking{max-width:980px;margin:24px auto;background:#fff;border:1px solid #dce7ee;border-radius:22px;box-shadow:0 18px 50px rgba(23,51,88,.10);overflow:hidden;font-family:Montserrat,Arial,sans-serif;color:#243746}.nvis-public-booking__head{padding:34px;background:linear-gradient(135deg,#1769A3,#0083BF);color:#fff}.nvis-public-booking__head span{font-size:11px;font-weight:800;letter-spacing:.12em}.nvis-public-booking__head h2{margin:8px 0;font-size:30px;color:#fff}.nvis-public-booking__head p{margin:0;opacity:.9}.nvis-public-booking form{padding:30px}.nvis-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.nvis-public-grid label{display:flex;flex-direction:column;gap:7px}.nvis-public-grid label>span{font-size:12px;font-weight:700;color:#334b5c}.nvis-public-grid input,.nvis-public-grid select,.nvis-public-grid textarea{width:100%;border:1px solid #d6e2ea;border-radius:11px;background:#fff;padding:12px;font:inherit;font-size:13px;color:#243746;box-sizing:border-box}.nvis-public-grid input,.nvis-public-grid select{min-height:48px}.nvis-public-grid input:focus,.nvis-public-grid select:focus,.nvis-public-grid textarea:focus{outline:0;border-color:#0083BF;box-shadow:0 0 0 3px rgba(0,131,191,.10)}.nvis-public-wide{grid-column:span 3}.nvis-public-consent{display:flex;align-items:flex-start;gap:9px;margin:18px 0;color:#667784;font-size:12px}.nvis-public-consent input{margin-top:2px}.nvis-source{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800}.nvis-source--web{background:#e5f5fb;color:#0879a8}.nvis-source--panel{background:#eef1f4;color:#566674}.nvis-table select[data-status-id]{min-width:120px;border:1px solid #d6e2ea;border-radius:8px;padding:7px;background:#fff;font-size:10px}.nvis-toolbar input[type=date]{min-height:42px;border:1px solid #d6e2ea;border-radius:10px;padding:0 10px;background:#fff}
@media(max-width:850px){.nvis-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nvis-public-wide{grid-column:span 2}}
@media(max-width:560px){.nvis-public-booking{margin:12px}.nvis-public-booking__head,.nvis-public-booking form{padding:22px}.nvis-public-grid{grid-template-columns:1fr}.nvis-public-wide{grid-column:auto}.nvis-public-booking__head h2{font-size:24px}}

.nvis-login-lock{min-height:100vh;display:grid;place-items:center;padding:30px;background:linear-gradient(135deg,#eef8fd,#fff)}
.nvis-login-card{width:min(460px,100%);background:#fff;border:1px solid #dceaf3;border-radius:26px;padding:38px;box-shadow:0 24px 70px rgba(20,74,115,.14)}
.nvis-login-card img{display:block;max-width:220px;margin:0 auto 28px}.nvis-login-card h2{color:#12345b;font-size:28px;margin:8px 0}.nvis-login-card p{color:#6b7c91;line-height:1.6}.nvis-login-card label{display:block;font-weight:700;color:#17375e;margin:14px 0 6px}.nvis-login-card input[type=text],.nvis-login-card input[type=password]{width:100%;padding:13px;border:1px solid #cadce8;border-radius:10px}.nvis-login-card input[type=submit]{width:100%;margin-top:18px;border:0;border-radius:11px;padding:14px;background:#087db8;color:#fff;font-weight:800;cursor:pointer}
.nvis-timeline-panel[hidden]{display:none}.nvis-timeline-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px}.nvis-timeline-form textarea{grid-column:1/-1;min-height:90px}.nvis-timeline-form button{grid-column:1/-1}.nvis-timeline-form input,.nvis-timeline-form select,.nvis-timeline-form textarea{border:1px solid #d5e3ed;border-radius:10px;padding:12px;font:inherit}.nvis-timeline-item{position:relative;display:grid;grid-template-columns:24px 1fr;gap:12px;padding:0 0 24px}.nvis-timeline-item:before{content:"";position:absolute;left:7px;top:16px;bottom:0;width:2px;background:#dbeaf4}.nvis-timeline-dot{width:16px;height:16px;border-radius:50%;background:#0787c6;box-shadow:0 0 0 5px #e7f6fd}.nvis-timeline-item span,.nvis-timeline-item small{color:#72839a;font-size:12px}.nvis-timeline-item h4{margin:3px 0;color:#17375e}.nvis-timeline-item p{margin:4px 0;color:#52677e}.nvis-report-bars{display:grid;gap:10px}.nvis-report-bars>div{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:10px;background:#f5f9fc;color:#38536c}.nvis-report-bars strong{color:#087db8}.nvis-user-card span{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.nvis-timeline-form{grid-template-columns:1fr}.nvis-timeline-form textarea,.nvis-timeline-form button{grid-column:auto}}

/* Expedientes y filtros avanzados v2.1 */
.nvis-patient-filters{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(160px,1fr)) auto;gap:12px;align-items:center;margin-bottom:14px}
.nvis-patient-filters select{width:100%;min-height:46px;border:1px solid #d9e7ef;border-radius:12px;padding:0 12px;background:#fff;color:#173358}
.nvis-results-summary{padding:10px 14px;margin-bottom:12px;border-radius:10px;background:#eef8fc;color:#527083;font-size:13px;font-weight:600}
.nvis-inline-actions,.nvis-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nvis-icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:38px;padding:0 10px;border-radius:10px;background:#e9f7fc;color:#007bb5;font-weight:800;text-decoration:none}
.nvis-timeline-item p{white-space:pre-wrap}
@media(max-width:1100px){.nvis-patient-filters{grid-template-columns:1fr 1fr}.nvis-patient-filters .nvis-filter-search{grid-column:1/-1}}
@media(max-width:650px){.nvis-patient-filters{grid-template-columns:1fr}.nvis-patient-filters .nvis-filter-search{grid-column:auto}.nvis-inline-actions{width:100%;justify-content:flex-start}}

.nvis-global-results{display:grid;gap:8px;margin-top:12px}.nvis-global-results button{width:100%;display:grid;gap:3px;text-align:left;padding:13px 15px;border:1px solid #d8e8f1;border-radius:12px;background:#fff;color:#173358;cursor:pointer;transition:.18s}.nvis-global-results button:hover{border-color:#0083bf;background:#f3fbff;transform:translateY(-1px)}.nvis-global-results strong{font-size:14px}.nvis-global-results span{font-size:12px;color:#3d617a}.nvis-global-results small{font-size:11px;color:#7890a2}

/* Módulos clínicos integrados v3 */
.nvis-clinical-record-form{margin-bottom:22px;border-top:4px solid #1769a3}
.nvis-patient-suggestions{position:absolute;z-index:30;left:0;right:0;top:100%;background:#fff;border:1px solid #dce7ef;border-radius:12px;box-shadow:0 18px 40px rgba(18,55,86,.15);max-height:260px;overflow:auto}
.nvis-clinical-record-form label{position:relative}
.nvis-patient-suggestions:empty{display:none}
.nvis-patient-suggestions button{display:flex;width:100%;flex-direction:column;gap:3px;padding:11px 13px;border:0;border-bottom:1px solid #edf2f6;background:#fff;text-align:left;cursor:pointer}
.nvis-patient-suggestions button:hover{background:#f3f9fd}.nvis-patient-suggestions button strong{color:#173358}.nvis-patient-suggestions button span,.nvis-no-suggestion{font-size:12px;color:#667785}.nvis-no-suggestion{display:block;padding:13px}
[data-clinical-module] select[data-clinical-status-id]{min-width:145px;border:1px solid #d8e4ec;border-radius:9px;padding:7px;background:#fff}
[data-clinical-module] .nvis-table td span{display:block;color:#748593;font-size:12px;margin-top:3px}
.nvis-participant-filters{display:grid;grid-template-columns:minmax(230px,1.6fr) repeat(5,minmax(145px,1fr)) auto;gap:10px;align-items:center;margin-bottom:14px}.nvis-participant-filters select,.nvis-participant-filters input{width:100%}@media(max-width:1200px){.nvis-participant-filters{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.nvis-participant-filters{grid-template-columns:1fr}}
.nvis-status--success{background:#e8f8ef!important;color:#177245!important;border-color:#bfe8ce!important}

/* Paciente integral v3.2 */
.nvis-patient-editor-form{display:grid;gap:26px}.nvis-form-section{display:flex;gap:16px;align-items:flex-start;border-top:1px solid #dfeaf2;padding-top:24px}.nvis-form-section:first-of-type{border-top:0;padding-top:0}.nvis-form-section h3{margin:0;color:#14345f;font-size:26px;font-weight:700}.nvis-form-section p{margin:5px 0 0;color:#6d7890}.nvis-section-number{width:48px;height:48px;border-radius:15px;background:#e8f6fd;color:#0879bd;display:grid;place-items:center;font-weight:800;flex:0 0 auto}.nvis-form-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.nvis-span-2{grid-column:span 2}.nvis-span-3{grid-column:1/-1}.nvis-check-card{min-height:76px;display:flex!important;flex-direction:row!important;align-items:center;gap:13px;border:1px solid #d8e5ee;border-radius:16px;padding:18px 20px;background:#fff}.nvis-check-card input{width:24px!important;height:24px!important;flex:0 0 auto}.nvis-check-card span{margin:0!important;font-weight:700;color:#34465e}.nvis-patient-editor-form textarea{min-height:120px}.nvis-form-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #dfeaf2;padding-top:24px}
@media(max-width:1100px){.nvis-form-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.nvis-form-grid--3,.nvis-form-grid--4{grid-template-columns:1fr}.nvis-span-2,.nvis-span-3{grid-column:auto}.nvis-form-section h3{font-size:21px}}

.nvis-chart-divider{height:1px;background:var(--nvis-border);margin:22px 0}.nvis-pie--cost{width:190px;height:190px}.nvis-pie--cost:after{width:108px;height:108px}.nvis-pie--cost strong{font-size:18px}.nvis-chart-legend .is-viaticos{background:#1769A3}.nvis-chart-legend .is-otros{background:#D69E2E}.nvis-chart-legend .is-transporte{background:#6B46C1}

/* Cierre de sesión */
.nvis-logout-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    padding:0 14px;
    border:1px solid rgba(23,105,163,.20);
    border-radius:12px;
    background:#fff;
    color:#1769a3;
    font-size:13px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
    box-shadow:0 5px 18px rgba(21,73,112,.08);
    transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.nvis-logout-button:hover,
.nvis-logout-button:focus{
    background:#1769a3;
    border-color:#1769a3;
    color:#fff;
    text-decoration:none;
    transform:translateY(-1px);
}
.nvis-logout-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    font-size:18px;
    line-height:1;
    transform:rotate(180deg);
}
@media (max-width:1100px){
    .nvis-logout-button span:last-child{display:none;}
    .nvis-logout-button{width:42px;padding:0;}
}

/* Reporte semanal de jornadas */
.nvis-weekly-form{display:grid;gap:20px}.nvis-weekly-journeys{display:grid;gap:20px}.nvis-weekly-journey{border:1px solid #dce8ef;background:#fff}.nvis-weekly-journey-head,.nvis-weekly-subhead,.nvis-weekly-journey-total,.nvis-weekly-footer-total{display:flex;align-items:center;justify-content:space-between;gap:12px}.nvis-weekly-split{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(480px,1.4fr);gap:24px;margin-top:20px}.nvis-weekly-subhead{margin-bottom:10px}.nvis-weekly-subhead h4{margin:0;color:#173b56}.nvis-weekly-subhead .nvis-outline-button{padding:8px 12px}.nvis-weekly-row{display:grid;gap:8px;align-items:center;margin:8px 0}.nvis-weekly-person-row{grid-template-columns:1fr 1fr 36px}.nvis-weekly-cost-row,.nvis-weekly-cost-head{grid-template-columns:90px minmax(160px,1fr) 140px 130px 36px}.nvis-weekly-cost-head{display:grid;gap:8px;color:#637888;font-size:12px;font-weight:700;padding:0 4px}.nvis-weekly-row input{width:100%;min-width:0}.nvis-weekly-row output{text-align:right;font-weight:700;color:#173b56}.nvis-mini-danger{border:0;background:#fff0f0;color:#b42318;border-radius:8px;min-height:36px;padding:6px 10px;font-weight:800;cursor:pointer}.nvis-weekly-journey-total{background:#eef6fa;border-radius:10px;padding:11px 14px;margin-top:12px}.nvis-weekly-footer-total{background:linear-gradient(135deg,#0f3e67,#1769a3);color:#fff;border-radius:16px;padding:20px 24px;font-size:20px}.nvis-weekly-footer-total strong{font-size:28px}.nvis-weekly-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(5,minmax(130px,1fr));gap:10px}.nvis-weekly-list-panel{margin-top:22px}.nvis-row-actions a{display:inline-flex;align-items:center;text-decoration:none;color:#1769a3;font-weight:700;padding:7px 8px}.nvis-field--span-3{grid-column:1/-1}@media(max-width:1100px){.nvis-weekly-split{grid-template-columns:1fr}.nvis-weekly-filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.nvis-weekly-cost-head{display:none}.nvis-weekly-cost-row{grid-template-columns:1fr 1fr}.nvis-weekly-cost-row output{padding:10px;background:#f1f6f9;border-radius:8px}.nvis-weekly-person-row{grid-template-columns:1fr}.nvis-weekly-filters{grid-template-columns:1fr}.nvis-weekly-footer-total{align-items:flex-start;flex-direction:column}}
/* CRM clínico v4.4.0 */
.nvis-crm-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.nvis-crm-kpi{background:#fff;border:1px solid #dce8f0;border-radius:18px;padding:18px;box-shadow:0 8px 25px #173a5410}.nvis-crm-kpi span{display:block;color:#6e8090;font-size:12px;font-weight:700;text-transform:uppercase}.nvis-crm-kpi strong{display:block;font-size:25px;color:#153b59;margin-top:8px}.nvis-crm-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.nvis-crm-funnel-row{display:grid;grid-template-columns:150px 1fr 70px;align-items:center;gap:10px;margin:12px 0}.nvis-crm-funnel-bar{height:12px;background:#e8f0f5;border-radius:999px;overflow:hidden}.nvis-crm-funnel-bar i{display:block;height:100%;background:#1769a3;border-radius:999px}.nvis-crm-upcoming-item,.nvis-crm-activity{border-bottom:1px solid #e5edf2;padding:13px 2px}.nvis-crm-upcoming-item:last-child,.nvis-crm-activity:last-child{border:0}.nvis-crm-upcoming-item strong,.nvis-crm-activity strong{display:block;color:#183c58}.nvis-crm-upcoming-item small,.nvis-crm-activity small{color:#748695}.nvis-crm-board{display:grid;grid-template-columns:repeat(7,minmax(220px,1fr));gap:12px;overflow-x:auto;padding:4px 2px 18px}.nvis-crm-column{background:#f3f7fa;border:1px solid #dce7ee;border-radius:16px;min-height:360px}.nvis-crm-column-head{display:flex;justify-content:space-between;padding:14px;font-weight:800;color:#173b57;border-bottom:1px solid #dce7ee}.nvis-crm-column-body{padding:10px;min-height:300px}.nvis-crm-card{background:#fff;border:1px solid #d9e5ec;border-radius:13px;padding:13px;margin-bottom:10px;box-shadow:0 6px 16px #183b5010;cursor:grab}.nvis-crm-card h4{margin:0 0 6px;color:#183b57}.nvis-crm-card p{margin:3px 0;color:#687c8c;font-size:12px}.nvis-crm-card .nvis-crm-money{font-weight:800;color:#1769a3}.nvis-crm-card-actions{display:flex;gap:6px;margin-top:10px}.nvis-crm-card-actions button{border:0;background:#edf4f8;border-radius:7px;padding:6px 8px;cursor:pointer}.nvis-crm-modal{position:fixed;inset:0;background:#102b3f99;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}.nvis-crm-modal[hidden]{display:none}.nvis-crm-dialog{background:#fff;border-radius:20px;width:min(820px,96vw);max-height:92vh;overflow:auto;padding:24px;box-shadow:0 25px 70px #071c2a66}.nvis-crm-dialog header,.nvis-crm-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.nvis-crm-dialog header{margin-bottom:20px}.nvis-crm-dialog header h3{margin:3px 0}.nvis-crm-dialog header>button{border:0;background:#eef4f7;width:38px;height:38px;border-radius:50%;font-size:24px;cursor:pointer}.nvis-crm-dialog footer{justify-content:flex-end;margin-top:18px}.nvis-crm-priority-alta{color:#b42318;font-weight:800}.nvis-crm-priority-media{color:#a15c00;font-weight:800}.nvis-crm-priority-baja{color:#147a52;font-weight:800}.nvis-crm-overdue{color:#b42318;font-weight:800}.nvis-crm-empty{padding:28px;text-align:center;color:#718494}.nvis-crm-loading{grid-column:1/-1;padding:20px;text-align:center}@media(max-width:1100px){.nvis-crm-kpis{grid-template-columns:repeat(2,1fr)}.nvis-crm-grid{grid-template-columns:1fr}}@media(max-width:600px){.nvis-crm-kpis{grid-template-columns:1fr}.nvis-crm-dialog{padding:16px}.nvis-crm-funnel-row{grid-template-columns:100px 1fr 45px}}
/* Patient 360 v4.5 */
.nvis-360-modal[hidden]{display:none!important}.nvis-360-modal{position:fixed;inset:0;z-index:99999;background:rgba(12,35,55,.72);padding:2vh 2vw;overflow:auto}.nvis-360-shell{max-width:1500px;margin:auto;background:#f5f9fb;border-radius:20px;min-height:94vh;box-shadow:0 24px 80px rgba(0,0,0,.25);overflow:hidden}.nvis-360-shell>header{background:linear-gradient(135deg,#075d91,#0795c8);color:#fff;padding:22px 28px;display:flex;justify-content:space-between;align-items:center}.nvis-360-shell>header span{font-size:11px;letter-spacing:.15em}.nvis-360-shell>header h2{margin:4px 0}.nvis-360-shell>header p{margin:0;opacity:.9}.nvis-360-shell>header button{border:0;background:rgba(255,255,255,.18);color:#fff;border-radius:50%;font-size:30px;width:44px;height:44px}.nvis-360-tabs{display:flex;gap:6px;padding:12px 20px;background:#fff;border-bottom:1px solid #dfeaf0;overflow:auto}.nvis-360-tabs button{border:0;background:#edf5f8;padding:11px 16px;border-radius:10px;font-weight:700;white-space:nowrap}.nvis-360-tabs button.is-active{background:#087fba;color:#fff}.nvis-360-content{padding:22px}.nvis-360-grid{display:grid;grid-template-columns:minmax(520px,1.15fr) minmax(380px,.85fr);gap:20px}.nvis-360-grid form,.nvis-360-grid>div,.nvis-360-summary-card{background:#fff;border:1px solid #deebf1;border-radius:16px;padding:20px}.nvis-360-grid form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nvis-360-grid h3{grid-column:1/-1;margin:0 0 6px}.nvis-360-grid label{font-size:12px;font-weight:700;color:#496579}.nvis-360-grid label.wide,.nvis-360-grid form button{grid-column:1/-1}.nvis-360-grid input,.nvis-360-grid select,.nvis-360-grid textarea{width:100%;margin-top:5px;border:1px solid #cddfe8;border-radius:9px;padding:10px;background:#fff}.nvis-360-grid textarea{min-height:72px}.nvis-360-list-card{border:1px solid #dce9ef;border-left:5px solid #0783bd;border-radius:10px;padding:12px;margin:9px 0;background:#fff}.nvis-360-list-card h4{margin:0 0 5px}.nvis-360-list-card p{margin:4px 0;white-space:pre-wrap}.nvis-360-list-card small{color:#71889a}.nvis-360-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.nvis-360-summary-card span{font-size:11px;text-transform:uppercase;color:#71889a}.nvis-360-summary-card strong{display:block;margin-top:5px}.nvis-360-empty{padding:28px;text-align:center;color:#78909f;background:#fff;border:1px dashed #bed1db;border-radius:12px}@media(max-width:900px){.nvis-360-grid{grid-template-columns:1fr}.nvis-360-summary{grid-template-columns:1fr 1fr}.nvis-360-modal{padding:0}.nvis-360-shell{border-radius:0;min-height:100vh}.nvis-360-content{padding:12px}}

/* Búsqueda de pacientes en Nueva cita */
.nvis-appointment-patient-search{margin-bottom:22px;padding:20px;border:1px solid #dce8ef;border-radius:16px;background:linear-gradient(135deg,#f5fbfe,#fff)}
.nvis-appointment-patient-search__head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.nvis-appointment-patient-search__head h3{margin:3px 0 4px;color:#173b61}
.nvis-appointment-patient-search__head p{margin:0;color:#708195}
.nvis-appointment-patient-search__bar{display:grid;grid-template-columns:1fr auto;gap:10px}
.nvis-appointment-patient-search__bar input{min-height:48px;border:1px solid #d6e3ea;border-radius:12px;padding:0 15px;background:#fff}
.nvis-appointment-patient-results{display:grid;gap:8px;margin-top:12px;max-height:300px;overflow:auto}
.nvis-appointment-patient-result{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:13px 15px;border:1px solid #dbe7ee;border-radius:12px;background:#fff;text-align:left;cursor:pointer}
.nvis-appointment-patient-result:hover{border-color:#1681b8;box-shadow:0 5px 16px rgba(23,105,163,.10)}
.nvis-appointment-patient-result strong{color:#173b61}.nvis-appointment-patient-result span,.nvis-appointment-patient-result small{color:#6e8090}
@media(max-width:700px){.nvis-appointment-patient-search__head{align-items:flex-start;flex-direction:column}.nvis-appointment-patient-search__bar{grid-template-columns:1fr}}

/* Doctors module */
.nvis-doctor-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.nvis-doctor-card{display:flex;gap:16px;background:#fff;border:1px solid #dfeaf1;border-radius:20px;padding:20px;box-shadow:0 10px 28px rgba(20,57,82,.07)}.nvis-doctor-avatar{width:58px;height:58px;min-width:58px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#0c77ad,#2b9ac7);color:#fff;font-size:24px;font-weight:900}.nvis-doctor-info{min-width:0;flex:1}.nvis-doctor-info>span{font-size:10px;letter-spacing:.14em;color:#628096;font-weight:800}.nvis-doctor-info h3{margin:4px 0 14px;color:#173b5d;font-size:18px}.nvis-doctor-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.nvis-doctor-metrics div{background:#f3f8fb;border-radius:11px;padding:9px;text-align:center}.nvis-doctor-metrics strong{display:block;color:#087bb5;font-size:19px}.nvis-doctor-metrics small{display:block;color:#61788b;font-size:10px;line-height:1.2}.nvis-doctor-info button{margin-top:13px;border:0;background:#e8f5fb;color:#087bb5;border-radius:9px;padding:9px 12px;font-weight:800;cursor:pointer}.nvis-table td span{display:block;font-size:11px;color:#718597;margin-top:3px}@media(max-width:1100px){.nvis-doctor-cards{grid-template-columns:1fr}.nvis-doctor-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.nvis-doctor-card{display:block}.nvis-doctor-avatar{margin-bottom:12px}}

/* Reportes médicos: filtros organizados */
.nvis-doctors-filters-panel{padding:24px}.nvis-doctors-filters-panel .nvis-panel-head{margin-bottom:20px;align-items:flex-start}.nvis-doctors-filters-panel .nvis-panel-head h3{margin:4px 0 5px}.nvis-doctors-filters-panel .nvis-panel-head p{margin:0;color:var(--nvis-muted);font-size:12px}.nvis-doctors-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 18px}.nvis-doctors-filter-grid label{display:flex;flex-direction:column;min-width:0}.nvis-doctors-filter-grid label>span{display:block;margin-bottom:7px;color:#475467;font-size:11px;font-weight:800;line-height:1.25}.nvis-doctors-filter-grid input,.nvis-doctors-filter-grid select{width:100%;height:46px;min-height:46px;box-sizing:border-box;border:1px solid #d6e2ea!important;border-radius:10px!important;background:#fff!important;padding:0 12px!important;color:#243746!important;font-family:inherit!important;font-size:12px!important;box-shadow:none!important;outline:0!important}.nvis-doctors-filter-grid input:focus,.nvis-doctors-filter-grid select:focus{border-color:var(--nvis-primary-2)!important;box-shadow:0 0 0 3px rgba(0,131,191,.09)!important}.nvis-doctors-filter-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--nvis-border)}.nvis-doctors-filter-actions .nvis-primary-button,.nvis-doctors-filter-actions .nvis-outline-button{min-width:140px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.nvis-doctors-filter-summary{margin-top:14px;margin-bottom:0;padding:10px 13px;border-radius:9px;background:#f5fafc;color:#607789}.nvis-doctors-toolbar{display:none!important}@media(max-width:1180px){.nvis-doctors-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.nvis-doctors-filters-panel{padding:17px}.nvis-doctors-filter-grid{grid-template-columns:1fr;gap:13px}.nvis-doctors-filter-actions{flex-direction:column-reverse}.nvis-doctors-filter-actions .nvis-primary-button,.nvis-doctors-filter-actions .nvis-outline-button{width:100%}}

/* v4.6.3 · Agendas médicas apiladas a ancho completo */
.nvis-doctors-agendas-stack{display:flex;flex-direction:column;gap:22px;margin-top:20px;width:100%;min-width:0}
.nvis-doctors-agenda-panel{width:100%;min-width:0;overflow:hidden}
.nvis-doctors-agenda-panel .nvis-panel-head{align-items:flex-start;margin-bottom:16px}
.nvis-doctors-agenda-panel .nvis-panel-head h3{margin:4px 0 5px}
.nvis-doctors-agenda-panel .nvis-panel-head p{margin:0;color:var(--nvis-muted);font-size:12px}
.nvis-doctors-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.nvis-doctors-table-wrap .nvis-table{width:100%;min-width:920px;table-layout:auto}
.nvis-doctors-table-wrap .nvis-table th,.nvis-doctors-table-wrap .nvis-table td{white-space:normal;vertical-align:middle}
.nvis-doctors-table-wrap .nvis-table th:first-child{min-width:130px}
.nvis-doctors-table-wrap .nvis-table th:nth-child(2){min-width:150px}
.nvis-doctors-table-wrap .nvis-table th:nth-child(3){min-width:210px}
.nvis-doctors-table-wrap .nvis-table th:nth-child(4){min-width:180px}
.nvis-doctors-table-wrap .nvis-table th:nth-child(5){min-width:160px}
.nvis-doctors-table-wrap .nvis-table th:last-child{min-width:120px}
@media(max-width:700px){.nvis-doctors-agendas-stack{gap:16px}.nvis-doctors-agenda-panel{padding:16px}.nvis-doctors-table-wrap .nvis-table{min-width:820px}}
/* Calendario real de jornadas v4.6.4 */
.nvis-calendar-panel{padding:24px}.nvis-calendar-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}.nvis-calendar-nav{display:flex;align-items:center;gap:10px}.nvis-calendar-nav h3{margin:0;min-width:190px;text-align:center;text-transform:capitalize}.nvis-calendar-nav>button:not(.nvis-outline-button){width:42px;height:42px;border:1px solid #d7e5ee;background:#fff;border-radius:11px;font-size:25px;color:#123858}.nvis-calendar-filters{display:flex;gap:12px;align-items:end}.nvis-calendar-filters label{display:grid;gap:6px}.nvis-calendar-filters label span{font-size:12px;font-weight:800;color:#405d75}.nvis-calendar-filters select,.nvis-calendar-filters input{height:44px;min-width:190px;border:1px solid #d5e3ec;border-radius:11px;padding:0 13px;background:#fff}.nvis-calendar-weekdays,.nvis-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.nvis-calendar-weekdays{background:#f0f7fb;border:1px solid #dbe8ef;border-bottom:0;border-radius:14px 14px 0 0}.nvis-calendar-weekdays span{text-align:center;padding:12px 6px;font-size:12px;font-weight:900;color:#4d6679}.nvis-calendar-grid{border-left:1px solid #dbe8ef;border-top:1px solid #dbe8ef}.nvis-calendar-day{min-height:128px;padding:9px;border-right:1px solid #dbe8ef;border-bottom:1px solid #dbe8ef;background:#fff;overflow:hidden}.nvis-calendar-day.is-muted{background:#f8fbfd;color:#9aabb7}.nvis-calendar-day.is-today{box-shadow:inset 0 0 0 2px #168ac1}.nvis-calendar-day-number{font-size:13px;font-weight:900;margin-bottom:7px}.nvis-calendar-event{display:block;width:100%;border:0;border-left:4px solid #0b8bc4;background:#e8f6fc;color:#153c59;border-radius:8px;padding:7px 8px;margin:5px 0;text-align:left;cursor:pointer;font-size:11px;line-height:1.25}.nvis-calendar-event strong,.nvis-calendar-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nvis-calendar-event span{color:#60788b;margin-top:2px}.nvis-calendar-more{font-size:11px;color:#668092;font-weight:800;padding:4px}.nvis-calendar-loading{grid-column:1/-1;text-align:center;padding:50px}.nvis-calendar-legend{display:flex;justify-content:space-between;align-items:center;margin-top:14px;color:#657b8c;font-size:12px}.nvis-calendar-legend span{display:flex;gap:7px;align-items:center}.nvis-calendar-legend i{width:11px;height:11px;background:#e8f6fc;border-left:4px solid #0b8bc4;border-radius:3px}.nvis-calendar-modal{position:fixed;inset:0;z-index:999999}.nvis-calendar-modal-backdrop{position:absolute;inset:0;background:#09283dcc}.nvis-calendar-detail{position:relative;z-index:2;width:min(760px,calc(100% - 32px));max-height:calc(100vh - 50px);overflow:auto;margin:25px auto;background:#fff;border-radius:20px;padding:28px;box-shadow:0 25px 70px #0005}.nvis-calendar-close{position:absolute;right:18px;top:14px;border:0;background:#edf5f9;width:38px;height:38px;border-radius:50%;font-size:24px;color:#31526a}.nvis-calendar-detail-head{padding-right:48px;border-bottom:1px solid #e0eaf0;padding-bottom:18px}.nvis-calendar-detail-head h2{margin:5px 0}.nvis-calendar-detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.nvis-calendar-detail-meta div{background:#f3f8fb;border:1px solid #dce9f0;border-radius:11px;padding:11px}.nvis-calendar-detail-meta small{display:block;color:#718695}.nvis-calendar-detail table{width:100%;border-collapse:collapse;font-size:12px}.nvis-calendar-detail th,.nvis-calendar-detail td{border:1px solid #dce6ec;padding:8px;text-align:left}.nvis-calendar-detail th{background:#edf6fa}.nvis-calendar-detail-total{display:flex;justify-content:space-between;background:#143b5a;color:#fff;border-radius:11px;padding:14px;margin-top:14px;font-weight:900}.nvis-calendar-detail-actions{display:flex;justify-content:flex-end;margin-top:18px}
@media(max-width:900px){.nvis-calendar-toolbar{align-items:stretch;flex-direction:column}.nvis-calendar-filters{flex-wrap:wrap}.nvis-calendar-filters label{flex:1}.nvis-calendar-filters select,.nvis-calendar-filters input{min-width:0;width:100%}.nvis-calendar-day{min-height:105px;padding:6px}.nvis-calendar-detail-meta{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.nvis-calendar-panel{padding:12px;overflow-x:auto}.nvis-calendar-weekdays,.nvis-calendar-grid{min-width:760px}.nvis-calendar-detail-meta{grid-template-columns:1fr}.nvis-calendar-nav h3{min-width:140px}.nvis-calendar-filters{display:grid;grid-template-columns:1fr}}

/* INVIS 4.6.6 · Resumen general */
.nvis-summary-heading{align-items:center}.nvis-summary-live{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--nvis-border);border-radius:14px;padding:11px 14px}.nvis-summary-live i{width:9px;height:9px;border-radius:50%;background:#20b26b;box-shadow:0 0 0 5px #20b26b20}.nvis-summary-live span,.nvis-summary-live small{display:block}.nvis-summary-live span{font-weight:800;color:var(--nvis-dark);font-size:12px}.nvis-summary-live small{color:var(--nvis-muted);font-size:10px}.nvis-summary-filters{margin-bottom:18px}.nvis-summary-filter-grid{display:grid;grid-template-columns:minmax(180px,260px) minmax(240px,1fr) auto;gap:16px;align-items:end}.nvis-summary-filter-grid label span{display:block;font-size:11px;font-weight:800;color:var(--nvis-dark);margin-bottom:7px}.nvis-summary-filter-grid input,.nvis-summary-filter-grid select{width:100%;height:48px;border:1px solid var(--nvis-border);border-radius:12px;padding:0 14px;background:#fff}.nvis-summary-filter-actions{display:flex;gap:10px}.nvis-summary-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 18px}.nvis-summary-stat{min-width:0}.nvis-summary-grid{display:grid;gap:18px;margin-bottom:18px}.nvis-summary-grid--main{grid-template-columns:1fr 1fr}.nvis-summary-grid--charts{grid-template-columns:repeat(3,1fr)}.nvis-summary-grid--bottom{grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr)}.nvis-summary-badge{min-width:42px;height:42px;border-radius:12px;background:#e7f5fb;color:var(--nvis-primary);display:grid;place-items:center;font-size:20px}.nvis-summary-bars{display:grid;gap:13px}.nvis-summary-bar>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:6px}.nvis-summary-bar span{color:#5c6d7d}.nvis-summary-bar strong{color:var(--nvis-dark)}.nvis-summary-bar i{display:block;height:8px;background:#edf3f7;border-radius:999px;overflow:hidden}.nvis-summary-bar b{display:block;height:100%;background:linear-gradient(90deg,var(--nvis-primary),var(--nvis-primary-2));border-radius:inherit}.nvis-active-doctors{display:grid;gap:10px}.nvis-active-doctors article{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;border:1px solid #e5edf2;border-radius:13px;padding:10px 12px}.nvis-active-doctors article>span{width:38px;height:38px;border-radius:11px;background:#e9f6fb;display:grid;place-items:center;color:var(--nvis-primary);font-size:18px}.nvis-active-doctors strong,.nvis-active-doctors small{display:block}.nvis-active-doctors strong{font-size:12px;color:var(--nvis-dark)}.nvis-active-doctors small{font-size:10px;color:var(--nvis-muted);margin-top:3px}.nvis-active-doctors b{background:#edf7fb;color:var(--nvis-primary);border-radius:999px;padding:6px 9px;font-size:11px}.nvis-summary-alerts{display:grid;gap:10px}.nvis-summary-alerts article{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;border-radius:12px;padding:12px}.nvis-summary-alerts article>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-weight:900}.nvis-summary-alerts strong,.nvis-summary-alerts small{display:block}.nvis-summary-alerts strong{font-size:12px}.nvis-summary-alerts small{font-size:10px;margin-top:3px;opacity:.78}.nvis-summary-alerts .is-warning{background:#fff7e7;color:#8d6100}.nvis-summary-alerts .is-warning>span{background:#ffe7ac}.nvis-summary-alerts .is-danger{background:#fff0f0;color:#a43838}.nvis-summary-alerts .is-danger>span{background:#ffd7d7}.nvis-summary-alerts .is-ok{background:#ebf9f1;color:#24774b}.nvis-summary-alerts .is-ok>span{background:#ccefdc}@media(max-width:1200px){.nvis-summary-stat-grid{grid-template-columns:repeat(2,1fr)}.nvis-summary-grid--charts{grid-template-columns:1fr 1fr}.nvis-summary-grid--charts .nvis-panel:last-child{grid-column:1/-1}}@media(max-width:850px){.nvis-summary-filter-grid,.nvis-summary-grid--main,.nvis-summary-grid--bottom{grid-template-columns:1fr}.nvis-summary-filter-actions>*{flex:1}.nvis-summary-heading{display:block}.nvis-summary-live{margin-top:12px;width:max-content}}@media(max-width:560px){.nvis-summary-stat-grid,.nvis-summary-grid--charts{grid-template-columns:1fr}.nvis-summary-grid--charts .nvis-panel:last-child{grid-column:auto}.nvis-summary-filter-actions{display:grid}.nvis-summary-live{width:100%}}

/* INVIS 4.6.7 · Dashboard ejecutivo compacto */
[data-general-summary]{--summary-gap:16px}
[data-general-summary] .nvis-page-heading{margin-bottom:16px}
[data-general-summary] .nvis-summary-filters{padding:16px 18px;margin-bottom:16px}
[data-general-summary] .nvis-summary-filter-grid{grid-template-columns:minmax(190px,240px) minmax(240px,1fr) auto!important;gap:14px!important}
[data-general-summary] .nvis-summary-stat-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin-bottom:16px!important}
[data-general-summary] .nvis-stat-card{min-height:104px;padding:16px!important;border-radius:16px;box-shadow:0 8px 22px rgba(25,66,101,.045)}
[data-general-summary] .nvis-stat-icon{width:44px;height:44px;border-radius:13px;flex:0 0 44px}
[data-general-summary] .nvis-stat-card strong{font-size:27px;margin:1px 0}
[data-general-summary] .nvis-stat-card span{font-weight:700;color:#64748b}
[data-general-summary] .nvis-stat-card small{line-height:1.35}
[data-general-summary] .nvis-summary-grid{display:grid!important;gap:var(--summary-gap)!important;margin:0 0 16px!important;align-items:start!important}
[data-general-summary] .nvis-summary-grid--main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
[data-general-summary] .nvis-summary-grid--charts{grid-template-columns:repeat(3,minmax(0,1fr))!important}
[data-general-summary] .nvis-summary-grid--bottom{grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr)!important}
[data-general-summary] .nvis-panel{padding:18px!important;border-radius:17px!important;min-width:0!important;height:auto!important;min-height:0!important;overflow:hidden}
[data-general-summary] .nvis-panel-head{margin-bottom:14px!important;align-items:center}
[data-general-summary] .nvis-panel h3{font-size:17px!important;margin-top:3px}
[data-general-summary] .nvis-section-label{font-size:9px}
[data-general-summary] .nvis-summary-grid--main>.nvis-panel{min-height:250px!important}
[data-general-summary] .nvis-summary-grid--charts>.nvis-panel{min-height:265px!important}
[data-general-summary] .nvis-summary-grid--bottom>.nvis-panel{min-height:270px!important}
[data-general-summary] .nvis-summary-bars{gap:11px}
[data-general-summary] .nvis-summary-bar i{height:7px}
[data-general-summary] .nvis-active-doctors{max-height:220px;overflow:auto;padding-right:3px}
[data-general-summary] .nvis-active-doctors article{padding:9px 10px}
[data-general-summary] .nvis-table-wrap{max-height:300px;overflow:auto;border:1px solid #edf2f5;border-radius:12px}
[data-general-summary] .nvis-table thead th{position:sticky;top:0;background:#f8fbfd;z-index:2}
[data-general-summary] .nvis-table-empty{min-height:130px;display:grid;place-items:center;text-align:center;color:#8b98a8;padding:18px}
[data-general-summary] .nvis-summary-alerts{max-height:300px;overflow:auto;padding-right:2px}
[data-general-summary] [data-summary-turn-status]:empty,
[data-general-summary] [data-summary-doctors]:empty,
[data-general-summary] [data-summary-consultations]:empty,
[data-general-summary] [data-summary-appointment-status]:empty,
[data-general-summary] [data-summary-origins]:empty,
[data-general-summary] [data-summary-alerts]:empty{min-height:130px;background:linear-gradient(90deg,#f7fafc 25%,#eef4f7 37%,#f7fafc 63%);background-size:400% 100%;animation:nvisSummaryPulse 1.4s ease infinite;border-radius:12px}
@keyframes nvisSummaryPulse{0%{background-position:100% 0}100%{background-position:0 0}}
@media(max-width:1250px){
 [data-general-summary] .nvis-summary-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 [data-general-summary] .nvis-summary-grid--charts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 [data-general-summary] .nvis-summary-grid--charts>.nvis-panel:last-child{grid-column:1/-1}
}
@media(max-width:900px){
 [data-general-summary] .nvis-summary-filter-grid,
 [data-general-summary] .nvis-summary-grid--main,
 [data-general-summary] .nvis-summary-grid--bottom{grid-template-columns:1fr!important}
 [data-general-summary] .nvis-summary-grid--main>.nvis-panel,
 [data-general-summary] .nvis-summary-grid--charts>.nvis-panel,
 [data-general-summary] .nvis-summary-grid--bottom>.nvis-panel{min-height:0!important}
}
@media(max-width:650px){
 [data-general-summary] .nvis-summary-stat-grid,
 [data-general-summary] .nvis-summary-grid--charts{grid-template-columns:1fr!important}
 [data-general-summary] .nvis-summary-grid--charts>.nvis-panel:last-child{grid-column:auto}
 [data-general-summary] .nvis-summary-filter-actions{display:grid;grid-template-columns:1fr}
}

/* INVIS 4.7.2 · Cirugías programadas */
.nvis-surgery-patient-search{margin-bottom:24px;position:relative}.nvis-surgery-patient-search>label{display:block}.nvis-surgery-patient-search label span,.nvis-surgery-filters label span{display:block;font-weight:800;margin-bottom:8px;color:#31475e}.nvis-patient-pick-list{position:absolute;z-index:30;left:0;right:0;top:82px;background:#fff;border:1px solid #d8e5ed;border-radius:14px;box-shadow:0 18px 45px rgba(22,55,80,.16);padding:8px;max-height:310px;overflow:auto}.nvis-patient-pick-list button{width:100%;border:0;background:#fff;text-align:left;padding:12px 14px;border-radius:10px;display:flex;flex-direction:column;gap:3px;color:#193b5e}.nvis-patient-pick-list button:hover{background:#edf8fd}.nvis-patient-pick-list span,.nvis-patient-pick-list small{color:#74879a}.nvis-selected-patient{margin-top:10px;background:#eaf7fd;border:1px solid #c9e8f6;border-radius:12px;padding:12px 15px;display:flex;justify-content:space-between;gap:15px}.nvis-selected-patient span{color:#60788d}.nvis-surgery-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.nvis-surgery-kpis article{background:#fff;border:1px solid #dce8ef;border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 24px rgba(25,59,94,.04)}.nvis-surgery-kpis article>span{width:40px;height:40px;border-radius:12px;background:#e8f6fc;color:#087fb8;display:grid;place-items:center;font-weight:900}.nvis-surgery-kpis small{display:block;color:#74869a;font-weight:700}.nvis-surgery-kpis strong{display:block;color:#173b61;font-size:20px;margin-top:3px}.nvis-surgery-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.nvis-surgery-filters input,.nvis-surgery-filters select{width:100%;min-height:50px}.nvis-surgery-filter-actions{margin-top:16px}.nvis-surgeries-table{min-width:1450px}.nvis-surgeries-table td>strong,.nvis-surgeries-table td>span{display:block}.nvis-surgeries-table td>span{color:#8090a1;font-size:12px;margin-top:4px}.nvis-surgeries-table select{min-width:160px;padding:8px;border:1px solid #d6e3eb;border-radius:9px;background:#fff}.nvis-form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1200px){.nvis-surgery-kpis{grid-template-columns:repeat(3,1fr)}.nvis-surgery-filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.nvis-surgery-kpis,.nvis-surgery-filters,.nvis-form-grid--3{grid-template-columns:1fr}.nvis-selected-patient{flex-direction:column}.nvis-surgery-filter-actions{display:grid;grid-template-columns:1fr}.nvis-surgery-filter-actions>*{width:100%}}

/* INVIS 4.7.3 · Call Center */
.nvis-callcenter-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.nvis-callcenter-kpis article{background:#fff;border:1px solid #dce8ef;border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(25,59,94,.04)}.nvis-callcenter-kpis small{display:block;color:#74869a;font-weight:700}.nvis-callcenter-kpis strong{display:block;color:#173b61;font-size:28px;margin-top:5px}.nvis-callcenter-filters{display:grid;grid-template-columns:2fr repeat(4,1fr) repeat(2,150px) auto;gap:12px;align-items:end}.nvis-callcenter-filters input,.nvis-callcenter-filters select,.nvis-callcenter-filters button{width:100%;min-height:50px}.nvis-callcenter-table{min-width:1300px}.nvis-callcenter-table td>strong,.nvis-callcenter-table td>span{display:block}.nvis-callcenter-table td>span{font-size:12px;color:#7c8da0;margin-top:4px}.nvis-modal[data-callcenter-modal]{position:fixed;inset:0;z-index:999999;background:rgba(15,39,62,.58);display:grid;place-items:center;padding:24px}.nvis-modal[data-callcenter-modal][hidden]{display:none}.nvis-modal-card{width:min(760px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;padding:28px;box-shadow:0 30px 80px rgba(9,31,52,.3);position:relative}.nvis-modal-close{position:absolute;right:18px;top:15px;border:0;background:#edf6fa;width:42px;height:42px;border-radius:50%;font-size:24px;color:#537089}.nvis-modal-card label>span{display:block;font-weight:800;color:#31475e;margin-bottom:8px}.nvis-modal-card textarea{width:100%;margin-top:8px}.nvis-modal-open{overflow:hidden}
@media(max-width:1350px){.nvis-callcenter-filters{grid-template-columns:repeat(4,1fr)}.nvis-callcenter-filters input[type=search]{grid-column:span 2}}
@media(max-width:850px){.nvis-callcenter-kpis{grid-template-columns:repeat(2,1fr)}.nvis-callcenter-filters{grid-template-columns:1fr 1fr}.nvis-callcenter-filters input[type=search]{grid-column:1/-1}}
@media(max-width:560px){.nvis-callcenter-kpis,.nvis-callcenter-filters{grid-template-columns:1fr}.nvis-callcenter-filters input[type=search]{grid-column:auto}}

[data-cataract-report] .nvis-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}[data-cataract-report] .nvis-toolbar>*{min-height:42px}[data-cataract-report] .nvis-stat-grid{margin-bottom:18px}

/* Seguimiento clínico integral v4.8.5 */
[data-followup-patient-results]{position:relative;z-index:8;display:grid;gap:6px;margin-top:6px;max-height:260px;overflow:auto}
[data-followup-patient-results] button{display:flex;flex-direction:column;gap:3px;width:100%;padding:12px 14px;text-align:left;background:#fff;border:1px solid #d9e8f1;border-radius:10px;cursor:pointer}
[data-followup-patient-results] button:hover{border-color:#188bc1;background:#f2faff}
[data-followup-patient-results] button span{font-size:12px;color:#71849a}
[data-followup-form-view] .nvis-selected-patient{margin:10px 0 18px}

/* INVIS 5.1.1 - corrección global de márgenes y desbordamientos */
.nvis-main,.nvis-content,.nvis-view,.nvis-panel,.nvis-panel>*{min-width:0;max-width:100%}
.nvis-content{width:100%;overflow-x:hidden}
.nvis-panel{overflow:hidden}
.nvis-panel form,.nvis-form,.nvis-form-grid,.nvis-ci-form{width:100%;min-width:0;max-width:100%}
.nvis-system input:not([type=checkbox]):not([type=radio]),
.nvis-system select,
.nvis-system textarea,
.nvis-system button{max-width:100%}
.nvis-system input:not([type=checkbox]):not([type=radio]),
.nvis-system select,
.nvis-system textarea{width:100%;min-width:0}
.nvis-system label,.nvis-form-grid>*,.nvis-ci-form>*{min-width:0;max-width:100%}
.nvis-table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}
.nvis-table{min-width:760px}
.nvis-toolbar,.nvis-page-heading,.nvis-panel-head{max-width:100%;flex-wrap:wrap}

/* Estudios diagnósticos: evita que el formulario invada el listado */
.nvis-ci-study-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:start;width:100%;max-width:100%}
.nvis-ci-study-layout>.nvis-panel{min-width:0;width:100%;max-width:100%}
.nvis-ci-form{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
.nvis-ci-form label{min-width:0;width:100%;max-width:100%;overflow:visible}
.nvis-ci-form input,.nvis-ci-form select,.nvis-ci-form textarea{display:block;width:100%;min-width:0;max-width:100%}
.nvis-ci-form label.wide,.nvis-ci-form button{grid-column:1/-1;width:100%}
.nvis-ci-study-layout .nvis-table-wrap{border-radius:12px}

/* Formularios y filtros de todos los módulos */
.nvis-form-grid,.nvis-form-grid--3,.nvis-form-grid--4,.nvis-surgery-filters,.nvis-callcenter-filters,.nvis-summary-filter-grid{width:100%;max-width:100%}
.nvis-row-actions{flex-wrap:wrap}
.nvis-row-actions button{white-space:normal}

@media(max-width:1450px){
 .nvis-content{padding:24px 22px 40px}
 .nvis-ci-study-layout{grid-template-columns:minmax(0,1fr)}
 .nvis-ci-study-layout>.nvis-panel:first-child{max-width:none}
 .nvis-ci-form{grid-template-columns:repeat(3,minmax(0,1fr))}
 .nvis-ci-form label.wide,.nvis-ci-form button{grid-column:1/-1}
}
@media(max-width:1180px){
 .nvis-sidebar{width:250px;flex-basis:250px}
 .nvis-topbar{padding:0 20px}
 .nvis-search-trigger{min-width:220px}
 .nvis-ci-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
 .nvis-content{padding:20px 16px 34px}
 .nvis-page-heading{align-items:flex-start;gap:14px}
 .nvis-page-heading>*{width:100%}
 .nvis-page-heading .nvis-primary-button,.nvis-page-heading .nvis-outline-button{width:auto}
 .nvis-toolbar>*{flex:1 1 220px}
 .nvis-table{min-width:680px}
}
@media(max-width:700px){
 .nvis-ci-form{grid-template-columns:1fr}
 .nvis-ci-form label.wide,.nvis-ci-form button{grid-column:auto}
 .nvis-content{padding:16px 12px 28px}
 .nvis-panel{padding:16px}
 .nvis-table{min-width:620px}
}


/* INVIS v5.1.2 - Documentos en Paciente 360 */
.nvis-document-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:16px;align-items:start}
.nvis-document-preview{width:86px;height:86px;border-radius:14px;background:#eef7fc;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:34px}
.nvis-document-preview img{width:100%;height:100%;object-fit:cover}
.nvis-document-info{min-width:0}.nvis-document-info h4{margin:0 0 6px;overflow-wrap:anywhere}.nvis-document-info p{overflow-wrap:anywhere}
[data-360-pane="documents"] input[type="file"]{width:100%;max-width:100%;padding:12px;border:1px dashed #b9d8e9;border-radius:12px;background:#f8fcff}
[data-360-pane="documents"] small{display:block;margin-top:5px;color:#718096}
.nvis-outline-button.is-danger{color:#a52828;border-color:#efc4c4;background:#fff8f8}
@media(max-width:760px){.nvis-document-card{grid-template-columns:1fr}.nvis-document-preview{width:100%;height:150px}}

/* Seguimiento de lentes */
.nvis-lens-card{margin-bottom:18px}.nvis-lens-status{display:inline-flex;padding:7px 12px;border-radius:999px;background:#e8f5ff;color:#0876b8;font-weight:800;font-size:12px}.nvis-lens-timeline{display:grid;grid-template-columns:repeat(8,minmax(100px,1fr));gap:0;overflow-x:auto;padding:22px 2px 12px}.nvis-lens-step{position:relative;min-width:110px;text-align:center;color:#8493a6}.nvis-lens-step:before{content:"";position:absolute;top:9px;left:0;right:0;height:4px;background:#e3eaf1}.nvis-lens-step:first-child:before{left:50%}.nvis-lens-step:last-child:before{right:50%}.nvis-lens-step>span{position:relative;z-index:2;display:block;width:22px;height:22px;border-radius:50%;margin:0 auto 10px;background:#dfe7ef;border:4px solid #fff;box-shadow:0 0 0 1px #dfe7ef}.nvis-lens-step.is-done:before,.nvis-lens-step.is-current:before{background:#41b883}.nvis-lens-step.is-done>span{background:#41b883;box-shadow:0 0 0 1px #41b883}.nvis-lens-step.is-current>span{background:#0b86c6;box-shadow:0 0 0 4px rgba(11,134,198,.18)}.nvis-lens-step b{display:block;font-size:11px;line-height:1.25}.nvis-lens-step small{display:block;font-size:10px;margin-top:4px}

/* v6.4.4: especialidad asignada automáticamente por el doctor en formularios de citas. */
select[data-nvis-doctor-locked="1"]{
  background-color:#f1f7fb;
  border-color:#b9d9e9;
  color:#17365f;
  font-weight:700;
}
/* v6.5.4: filtros manuales de agenda y acceso a turnos */
.nvis-appointment-filters{display:grid!important;grid-template-columns:minmax(240px,2fr) repeat(6,minmax(145px,1fr)) auto;align-items:center;gap:10px}
.nvis-appointment-filters>*{min-width:0;width:100%;margin:0}
.nvis-appointment-filters .nvis-filter-search{min-width:0}
.nvis-turns-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 16px;border-radius:12px;background:linear-gradient(135deg,#1769A3,#0083BF);color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:800;box-shadow:0 8px 18px rgba(23,105,163,.16);white-space:nowrap}
.nvis-turns-button:hover{transform:translateY(-1px);color:#fff!important}
.nvis-turns-button.is-disabled{opacity:.48;pointer-events:none;box-shadow:none}
@media(max-width:1450px){.nvis-appointment-filters{grid-template-columns:repeat(4,minmax(160px,1fr))}.nvis-appointment-filters .nvis-filter-search{grid-column:span 2}}
@media(max-width:850px){.nvis-appointment-filters{grid-template-columns:1fr 1fr}.nvis-appointment-filters .nvis-filter-search{grid-column:1/-1}}
@media(max-width:560px){.nvis-appointment-filters{grid-template-columns:1fr}.nvis-appointment-filters .nvis-filter-search{grid-column:auto}.nvis-turns-button span:last-child{display:none}}
