html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{--color-primario: #2dd4bf;--color-primario-light: #5eead4;--color-primario-dark: #14b8a6;--color-secundario: #94a3b8;--color-secundario-light: #cbd5e1;--color-secundario-dark: #64748b;--color-fondo: #0f172a;--color-fondo-secundario: #1e293b;--color-fondo-card: #1e293b;--color-texto-primario: #f8fafc;--color-texto-secundario: #94a3b8;--color-texto-en-primario: #0f172a;--color-exito: #34d399;--color-advertencia: #fbbf24;--color-error: #f87171;--color-error-light: #fca5a5;--color-borde-claro: #334155;--color-fondo-verde-suave: #134e4a;--color-fondo-error-claro: #450a0a;--color-nav-primario: #1e293b;--color-nav-inactivo: #64748b;--color-texto-disabled: #64748b;--color-fondo-advertencia-claro: #422006;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 6px;--radius: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 14px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .35);--shadow-focus: 0 0 0 3px rgba(45, 212, 191, .4);--transition-fast: .15s ease;--transition: .2s ease;--transition-slow: .3s ease;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:var(--font-sans);background-color:var(--color-fondo);color:var(--color-texto-primario);line-height:var(--leading-normal);min-height:100vh}.saas-layout{--saas-bg: var(--color-fondo)}body:has(.saas-layout){background-color:var(--saas-bg)}#root{min-height:100vh}a{color:var(--color-primario);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primario-dark);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-primario);outline-offset:2px}button{font-family:inherit;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}button:active:not(:disabled){transform:scale(.98)}button:focus-visible{outline:2px solid var(--color-primario);outline-offset:2px}input,textarea,select{font-family:inherit;font-size:inherit;transition:border-color var(--transition),box-shadow var(--transition)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--color-primario);box-shadow:var(--shadow-focus)}.app-container{width:100%;max-width:1280px;margin:0 auto;padding-left:var(--space-6);padding-right:var(--space-6)}@media (max-width: 640px){.app-container{padding-left:var(--space-4);padding-right:var(--space-4)}}.ant-layout-header{border-bottom:1px solid var(--color-borde-claro)!important}.ant-layout-sider,.main-layout-sider{border-right:1px solid var(--color-borde-claro)!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-layout{min-height:100vh;display:flex;flex-direction:column}.main-layout main{flex:1;padding:var(--space-6)}@media (max-width: 640px){.main-layout main{padding:var(--space-4)}}.saas-layout{min-height:100vh;display:flex;background:var(--saas-bg, #F5F2ED)}.saas-main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--saas-bg, #F5F2ED)}.saas-topbar{height:64px;background:var(--color-fondo-card);border-bottom:1px solid rgba(0,0,0,.06);padding:0 var(--space-8);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);box-shadow:0 1px 3px #0000000a}.saas-topbar-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-texto-primario);margin:0}.saas-topbar-actions{display:flex;align-items:center;gap:var(--space-4)}.saas-user-wrap{display:flex;align-items:center;gap:var(--space-3)}.saas-user-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-fondo-verde-suave);color:var(--color-primario);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-semibold)}.saas-user-name{font-size:var(--text-sm);color:var(--color-texto-primario);font-weight:var(--font-medium)}.saas-content{flex:1;padding:var(--space-8);overflow-x:auto}@media (max-width: 1024px){.saas-content{padding:var(--space-5)}.saas-topbar{padding:0 var(--space-5)}}.saas-menu-toggle{display:none;padding:var(--space-2);border:none;border-radius:var(--radius);background:var(--color-fondo-card);color:var(--color-texto-primario);cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}@media (max-width: 900px){.saas-menu-toggle{display:flex}}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:40;opacity:0;transition:opacity var(--transition)}.sidebar-overlay.is-open{display:block;opacity:1}.sidebar{width:280px;min-width:280px;background:var(--color-fondo-card);color:var(--color-texto-primario);display:flex;flex-direction:column;position:relative;z-index:50;border-right:1px solid rgba(0,0,0,.06);box-shadow:2px 0 8px #0000000a}.sidebar-inner{display:flex;flex-direction:column;min-height:100vh;padding:var(--space-5) 0}.sidebar-brand{padding:0 var(--space-5);margin-bottom:var(--space-8);cursor:pointer;transition:opacity var(--transition-fast)}.sidebar-brand:hover{opacity:.9}.sidebar-brand:focus-visible{outline:2px solid var(--color-primario);outline-offset:4px}.sidebar-logo-text{font-size:var(--text-xl);font-weight:var(--font-bold);letter-spacing:-.02em;color:var(--color-primario)}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:var(--space-1);padding:0 var(--space-3)}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-lg);background:transparent;color:var(--color-texto-secundario);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);text-align:left;width:100%;border-left:3px solid transparent}.sidebar-link:hover{background:var(--color-fondo-secundario);color:var(--color-texto-primario)}.sidebar-link.is-active{background:var(--color-fondo-verde-suave);color:var(--color-primario);font-weight:var(--font-semibold);border-left-color:var(--color-primario)}.sidebar-link:focus-visible{outline:2px solid var(--color-primario);outline-offset:2px}.sidebar-link-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.sidebar-link.is-active .sidebar-link-icon{color:var(--color-primario)}.sidebar-link-label{flex:1}.sidebar-footer{padding:var(--space-5) var(--space-4) 0;border-top:1px solid rgba(0,0,0,.06);margin-top:var(--space-4)}.sidebar-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--color-texto-primario);background:var(--color-fondo-secundario);border-radius:var(--radius-md)}.sidebar-user-icon{display:flex;color:var(--color-texto-secundario)}.sidebar-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-medium)}.sidebar-logout{width:100%;justify-content:center;font-size:var(--text-sm)}@media (max-width: 900px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform var(--transition-slow)}.sidebar.is-open{transform:translate(0)}}.app-header{background-color:var(--color-nav-primario);color:var(--color-texto-en-primario);padding:var(--space-3) var(--space-6);display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}.app-header .header-brand{font-weight:var(--font-bold);font-size:var(--text-xl);cursor:pointer;transition:opacity var(--transition-fast)}.app-header .header-brand:hover{opacity:.9}.app-header .header-brand:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:4px}.app-header nav{display:flex;gap:var(--space-2);align-items:center}.app-header .nav-link-btn{padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:none;background:transparent;color:var(--color-texto-en-primario);font-weight:var(--font-medium);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.app-header .nav-link-btn:hover{background:#ffffff26}.app-header .nav-link-btn.is-active{background:#ffffff40;font-weight:var(--font-semibold)}.app-header .nav-link-btn:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.app-header .header-actions{display:flex;align-items:center;gap:var(--space-4)}.app-header .header-user{font-size:var(--text-sm);opacity:.95}.ui-card{background-color:var(--color-fondo-card);border-radius:var(--radius-xl);box-shadow:0 1px 3px #0000000f;padding:var(--space-6);border:1px solid rgba(0,0,0,.06);transition:box-shadow var(--transition),border-color var(--transition)}.ui-card:hover{box-shadow:0 4px 12px #00000014}.btn{padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);font-weight:var(--font-semibold);font-size:var(--text-sm);cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.btn:hover:not(:disabled){opacity:.95}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn-primary{background:var(--color-primario);color:var(--color-texto-en-primario);border:none}.btn-secondary{background:var(--color-secundario);color:var(--color-texto-en-primario);border:none}.btn-outline{background:transparent;color:var(--color-primario);border:2px solid var(--color-primario)}.btn-outline:hover:not(:disabled){background:#2dd4bf26}.btn-danger{background:var(--color-error);color:var(--color-texto-en-primario);border:none}.btn:disabled{cursor:not-allowed;opacity:.7}.ui-input{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid rgba(0,0,0,.12);background:var(--color-fondo-card);color:var(--color-texto-primario);font-size:var(--text-base);transition:border-color var(--transition),box-shadow var(--transition)}.ui-input:hover{border-color:var(--color-secundario-light)}.ui-input:focus{border-color:var(--color-primario);box-shadow:var(--shadow-focus)}.ui-input::placeholder{color:var(--color-texto-secundario);opacity:.8}.ui-table-wrap{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid rgba(0,0,0,.06);background:var(--color-fondo-card);box-shadow:0 1px 3px #0000000f}.ui-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ui-table th{text-align:left;padding:var(--space-4) var(--space-5);background:var(--color-fondo-secundario);color:var(--color-texto-secundario);font-weight:var(--font-semibold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid rgba(0,0,0,.06)}.ui-table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid rgba(0,0,0,.06);color:var(--color-texto-primario)}.ui-table tbody tr{transition:background var(--transition-fast)}.ui-table tbody tr:hover{background:var(--color-fondo-secundario)}.ui-table tbody tr:last-child td{border-bottom:none}.ui-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid rgba(0,0,0,.08);margin-bottom:var(--space-5)}.ui-tab{padding:var(--space-3) var(--space-4);font-weight:var(--font-medium);font-size:var(--text-sm);color:var(--color-texto-secundario);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);border-radius:var(--radius) var(--radius) 0 0}.ui-tab:hover{color:var(--color-texto-primario)}.ui-tab.is-active{color:var(--color-primario);border-bottom-color:var(--color-primario);font-weight:var(--font-semibold)}.ui-tab:focus-visible{outline:2px solid var(--color-primario);outline-offset:2px}.page-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.page-header h1{margin:0;color:var(--color-primario);font-size:var(--text-2xl);font-weight:var(--font-bold);flex:1;line-height:var(--leading-tight)}.data-card-title{margin:0 0 var(--space-4);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-primario)}.data-card-dl{margin:0;display:grid;gap:var(--space-2)}.data-card-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.data-card-dt{margin:0;font-weight:var(--font-semibold);color:var(--color-texto-secundario);font-size:var(--text-sm)}.data-card-dd{margin:0;color:var(--color-texto-primario)}.detalle-signo-expediente{font-size:12px;color:var(--color-texto-primario)}.detalle-signo-expediente .expediente-header{text-align:center;margin-bottom:12px}.detalle-signo-expediente .expediente-header h2{font-size:14px;margin:0 0 4px;font-weight:700}.detalle-signo-expediente .expediente-header p{margin:0;font-size:12px;color:var(--color-texto-secundario)}.detalle-signo-expediente .expediente-section{margin-top:10px}.detalle-signo-expediente .expediente-section strong{display:block;margin-bottom:4px;font-size:12px}.detalle-signo-expediente table.expediente-table{width:100%;border-collapse:collapse;margin:4px 0 8px}.detalle-signo-expediente table.expediente-table th,.detalle-signo-expediente table.expediente-table td{border:1px solid var(--color-borde-claro);padding:6px 8px;vertical-align:top;text-align:left;color:var(--color-texto-primario)}.detalle-signo-expediente table.expediente-table th{background:var(--color-fondo-secundario);font-weight:700;width:1%;white-space:nowrap}.detalle-signo-expediente table.expediente-table td.empty{color:var(--color-texto-secundario)}.detalle-signo-expediente .expediente-footer{margin-top:12px;font-size:10px;color:var(--color-texto-secundario)}.detalle-signo-expediente .expediente-header h2,.detalle-signo-expediente .expediente-section strong{color:var(--color-texto-primario)}@media print{.detalle-signo-no-print{display:none!important}.detalle-signo-expediente{width:90%!important;max-width:90%!important;margin:5% auto!important;padding:0!important;box-sizing:border-box;color:#000!important}.detalle-signo-expediente .expediente-header h2,.detalle-signo-expediente .expediente-header p,.detalle-signo-expediente .expediente-section strong,.detalle-signo-expediente table.expediente-table th,.detalle-signo-expediente table.expediente-table td{color:#000!important}.detalle-signo-expediente table.expediente-table th,.detalle-signo-expediente table.expediente-table td{border-color:#000!important}.detalle-signo-expediente table.expediente-table th{background:#e8e8e8!important}.detalle-signo-expediente table.expediente-table td.empty,.detalle-signo-expediente .expediente-footer{color:#666!important}}.chat-conversacion{display:flex;flex-direction:column;gap:var(--space-4);max-width:720px;margin:0 auto}.chat-messages{max-height:65vh;min-height:200px;overflow-y:auto;padding:var(--space-4);background:var(--color-fondo-secundario, #f8f9fa);border-radius:var(--radius-xl, 12px);border:1px solid var(--color-borde-claro, #e9ecef);box-shadow:inset 0 1px 2px #0000000a;display:flex;flex-direction:column;gap:var(--space-3)}.chat-bubble{max-width:85%;padding:var(--space-3) var(--space-4);border-radius:16px;font-size:var(--text-sm, 14px);line-height:1.45;box-shadow:0 1px 2px #0000000f}.chat-bubble.is-own{align-self:flex-end;background:var(--color-primario, #006657);color:var(--color-texto-en-primario, #fff);border-bottom-right-radius:4px}.chat-bubble:not(.is-own){align-self:flex-start;background:var(--color-fondo-card, #fff);color:var(--color-texto-primario, #f8fafc);border:1px solid var(--color-borde-claro, #e9ecef);border-bottom-left-radius:4px}.chat-bubble-footer{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.chat-bubble-time{font-size:11px;opacity:.85}.chat-bubble-read-status{font-size:12px;margin-left:auto}.chat-form{display:flex;gap:var(--space-3);align-items:stretch;padding:var(--space-3);background:var(--color-fondo-card, #fff);border-radius:var(--radius-xl, 12px);border:1px solid var(--color-borde-claro, #e9ecef);box-shadow:0 2px 8px #0000000f}.chat-form .chat-input-wrap{flex:1;min-width:0;display:flex;align-items:stretch}.chat-form .chat-input-wrap>div{margin-bottom:0!important;flex:1;display:flex;flex-direction:column;justify-content:center}.chat-form .chat-input-wrap .ant-input,.chat-form .chat-input-wrap input{min-height:40px;border-radius:var(--radius, 8px);box-sizing:border-box}.chat-form .chat-send-btn{min-height:40px;border-radius:var(--radius, 8px);flex-shrink:0}.form-row-inline{display:flex;flex-wrap:wrap;gap:var(--space-3, .75rem);align-items:center}.form-row-inline>div{margin-bottom:0!important}.form-row-inline .ant-input,.form-row-inline input:not([type=checkbox]):not([type=radio]),.form-row-inline .ant-select .ant-select-selector,.form-row-inline .ant-btn{min-height:40px;box-sizing:border-box}.form-row-inline .ant-input,.form-row-inline input[type=text],.form-row-inline input[type=date],.form-row-inline input[type=datetime-local]{border-radius:var(--radius, 8px)}.search-filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end;margin-bottom:var(--space-4)}.search-filter-bar .search-cell{flex:0 1 220px;min-width:160px;max-width:220px}.search-filter-bar .search-filter-bar-input-wrap{margin-bottom:0!important}.search-filter-bar .search-cell .ui-input{padding-top:var(--space-2);padding-bottom:var(--space-2);min-height:40px;box-sizing:border-box}.search-filter-bar .filter-cell{min-width:140px;display:flex;flex-direction:column;align-items:stretch}.search-filter-bar .filter-label{display:block;margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-texto-secundario)}.search-filter-bar select{width:100%;min-width:140px;min-height:40px;padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--color-borde-claro);background:var(--color-fondo-card);color:var(--color-texto-primario);font-size:var(--text-base);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition);box-sizing:border-box}.search-filter-bar select:hover{border-color:var(--color-secundario-light)}.search-filter-bar .btn{padding:var(--space-3) var(--space-5);min-height:unset;align-self:flex-end}.search-filter-bar select:focus-visible{outline:none;border-color:var(--color-primario);box-shadow:var(--shadow-focus)}.pagination-wrap{margin-top:var(--space-4);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.pagination-info{margin:0;font-size:var(--text-sm);color:var(--color-texto-secundario)}.pagination-buttons{display:flex;align-items:center;gap:var(--space-3)}.pagination-page{font-size:var(--text-sm);color:var(--color-texto-primario);font-weight:var(--font-medium)}.dashboard-title{margin:0 0 var(--space-6);color:var(--color-primario);font-size:var(--text-2xl);font-weight:var(--font-bold)}.dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.metric-card{flex:1 1 140px;min-width:140px}.metric-card .metric-label{font-size:var(--text-sm);color:var(--color-texto-secundario);margin-bottom:var(--space-1)}.metric-card .metric-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-primario);line-height:var(--leading-tight)}.metric-card .metric-sublabel{font-size:var(--text-xs);color:var(--color-texto-secundario);margin-top:var(--space-1)}.quick-links{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.saas-page{max-width:1200px}.saas-welcome{margin-bottom:var(--space-8)}.saas-welcome h1{margin:0 0 var(--space-2);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-texto-primario);line-height:var(--leading-tight)}.saas-welcome p{margin:0;font-size:var(--text-base);color:var(--color-texto-secundario)}.saas-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-5);margin-bottom:var(--space-8)}.saas-stat-card{background:var(--color-fondo-card);border-radius:var(--radius-xl);padding:var(--space-6);border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px #0000000f;transition:box-shadow var(--transition),border-color var(--transition)}.saas-stat-card:hover{box-shadow:0 4px 12px #0000004d;border-color:#2dd4bf59}.saas-stat-card .saas-stat-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);background:var(--color-fondo-verde-suave);color:var(--color-primario)}.saas-stat-card .saas-stat-value{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-texto-primario);line-height:var(--leading-tight)}.saas-stat-card .saas-stat-label{font-size:var(--text-sm);color:var(--color-texto-secundario);margin-top:var(--space-1)}.saas-stat-card .saas-stat-sublabel{font-size:var(--text-xs);color:var(--color-texto-secundario);margin-top:var(--space-2)}.saas-section{margin-bottom:var(--space-8)}.saas-section-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-texto-primario);margin:0 0 var(--space-4)}.saas-quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-4)}.saas-quick-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--color-fondo-card);border-radius:var(--radius-xl);border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px #0000000f;cursor:pointer;transition:box-shadow var(--transition),border-color var(--transition),background var(--transition);text-decoration:none;color:inherit}.saas-quick-card:hover{box-shadow:0 4px 12px #0000004d;border-color:var(--color-primario);background:var(--color-fondo-card)}.saas-quick-card:focus-visible{outline:2px solid var(--color-primario);outline-offset:2px}.saas-quick-card .saas-quick-icon{width:44px;height:44px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:var(--color-fondo-verde-suave);color:var(--color-primario);flex-shrink:0}.saas-quick-card .saas-quick-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-texto-primario)}.saas-charts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}.saas-chart-card{padding:var(--space-5);background:var(--color-fondo-card);border-radius:var(--radius-xl);border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px #0000000f}.saas-chart-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-texto-primario);margin:0 0 var(--space-3)}.saas-chart-inner{min-height:220px}.saas-alert-card{border-left:4px solid var(--color-error)}.saas-alert-card .section-title{color:var(--color-error)}.section-title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-3);color:var(--color-primario)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--color-fondo)}.login-card{width:100%;max-width:420px;border-radius:var(--radius-xl);border:1px solid var(--color-borde-claro);box-shadow:var(--shadow-md)}.login-card .ant-card-body{color:var(--color-texto-primario)}.login-card h1{margin:0 0 var(--space-2);font-size:var(--text-2xl);font-weight:var(--font-bold)}.login-card .login-subtitle{color:var(--color-texto-primario);margin-bottom:var(--space-6);font-size:var(--text-sm);opacity:.9}.login-card .login-error{margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--color-error)}.login-card .login-footer{margin-top:var(--space-4);font-size:var(--text-sm);text-align:center}.login-card .login-footer a{color:var(--color-primario);font-weight:var(--font-medium)}.login-card .login-footer a:hover{opacity:.9;text-decoration:underline}.login-card .ant-input,.login-card .ant-input-password .ant-input{background:var(--color-fondo)!important;color:var(--color-texto-primario)!important;border-color:var(--color-borde-claro)!important}.login-card .ant-input::placeholder{color:var(--color-texto-secundario);opacity:.8}.login-card .ant-input-password .ant-input-password-icon{color:var(--color-texto-secundario)}.login-card .ant-input-password .ant-input-password-icon:hover{color:var(--color-texto-primario)}.login-card .login-session-expired{background:var(--color-fondo-advertencia-claro)!important;border-color:var(--color-advertencia)!important;color:var(--color-texto-primario)!important}.patient-detail-page{width:100%;max-width:1440px}.patient-header-card{background:var(--color-fondo-card);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px #0000000f}.patient-header-top{display:flex;align-items:flex-start;gap:var(--space-5);flex-wrap:wrap}.patient-avatar{width:64px;height:64px;border-radius:50%;background:var(--color-fondo-verde-suave);color:var(--color-primario);display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);font-weight:var(--font-bold);flex-shrink:0}.patient-header-info{flex:1;min-width:0}.patient-header-info h1{margin:0 0 var(--space-2);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-texto-primario);line-height:var(--leading-tight)}.patient-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--color-texto-secundario)}.patient-meta span{display:flex;align-items:center;gap:var(--space-1)}.patient-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.patient-back{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-primario);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;margin-bottom:var(--space-4);transition:opacity var(--transition-fast)}.patient-back:hover{opacity:.85}.patient-back:focus-visible{outline:2px solid var(--color-primario);outline-offset:2px}.patient-detail-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}@media (min-width: 768px){.patient-detail-cards-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (min-width: 1200px){.patient-detail-cards-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.patient-section-card-clickable{cursor:pointer;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.patient-section-card-clickable:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.patient-section-card-clickable-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:80px;text-align:center}.patient-section-card-clickable-icon{font-size:2rem;line-height:1}.patient-section-card-clickable-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-texto-primario)}.patient-section-modal-body{max-height:75vh;overflow-y:auto;padding-top:var(--space-2)}.patient-section-card{background:var(--color-fondo-card);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-5);border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px #0000000f}.patient-section-card .patient-section-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-primario);margin:0 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid rgba(0,0,0,.08)}.tracking-list{list-style:none;padding:0;margin:0}.tracking-item{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid rgba(0,0,0,.06);transition:background var(--transition-fast)}.tracking-item:last-child{border-bottom:none}.tracking-item:hover{background:var(--color-fondo-secundario)}.tracking-item-date{flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-texto-secundario);min-width:100px}.tracking-item-body{flex:1;min-width:0;font-size:var(--text-sm);color:var(--color-texto-primario)}.tracking-item-actions{flex-shrink:0}.patient-tabs-wrap{margin-bottom:var(--space-5)}.patient-tabs-wrap .ui-tabs{margin-bottom:0}.patient-accordion-nav{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5);padding:var(--space-3) 0;border-bottom:1px solid var(--color-borde-claro)}.patient-accordion-nav-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-texto-secundario);flex-shrink:0}.patient-accordion-nav-links{display:flex;flex-wrap:wrap;gap:var(--space-1)}.patient-accordion-nav-link{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--color-texto-secundario);background:var(--color-fondo-secundario);border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.patient-accordion-nav-link:hover{color:var(--color-primario);background:var(--color-fondo-verde-suave)}.patient-accordion-nav-link.is-active{color:var(--color-primario);font-weight:var(--font-semibold);background:var(--color-fondo-verde-suave);border-color:var(--color-primario)}.patient-accordion-nav-icon{margin-right:var(--space-1)}.patient-accordion{margin-bottom:var(--space-6)}.patient-cards-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media (min-width: 768px){.patient-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1200px){.patient-cards-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1600px){.patient-cards-grid{grid-template-columns:repeat(3,1fr)}}.patient-cards-grid:not(.patient-cards-grid--all-visible) .patient-section-card-outer.is-open{grid-column:1 / -1}.patient-cards-grid--all-visible .patient-section-card-outer{align-items:start}.patient-section-card-head--static{cursor:default;pointer-events:none;border-bottom:1px solid var(--color-borde-claro)}.patient-section-card-head--static .patient-section-card-title{color:var(--color-primario)}.patient-section-card-outer{background:var(--color-fondo-card);border-radius:var(--radius-xl);box-shadow:0 2px 8px #00000014;border:1px solid rgba(0,0,0,.06);overflow:hidden;transition:box-shadow var(--transition-fast)}.patient-section-card-outer:focus-within,.patient-section-card-outer:hover{box-shadow:0 4px 12px #0000001a}.patient-section-card-head{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-texto-primario);background:var(--color-fondo-card);border:none;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.patient-section-card-head:hover{background:var(--color-fondo-secundario)}.patient-section-card-head.is-open{background:var(--color-fondo-verde-suave);color:var(--color-primario);border-bottom:1px solid var(--color-borde-claro)}.patient-section-card-title{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--font-bold);color:inherit}.patient-section-card-icon{font-size:1.25em;line-height:1}.patient-section-card-head.is-open .patient-section-card-title{color:var(--color-primario)}.patient-section-card-chevron{display:flex;align-items:center;color:var(--color-texto-secundario);flex-shrink:0}.patient-section-card-head.is-open .patient-section-card-chevron{color:var(--color-primario)}.patient-section-card-body{padding:var(--space-5) var(--space-6);padding-top:var(--space-4);background:var(--color-fondo-card);border-top:1px solid var(--color-borde-claro)}.patient-section-card-body .patient-section-card{margin-bottom:var(--space-4)}.patient-section-card-body .patient-section-card:last-child{margin-bottom:0}.patient-badge-status{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:999px;font-size:var(--text-xs);font-weight:var(--font-semibold)}.patient-badge-status.is-active{background:var(--color-fondo-verde-suave);color:var(--color-primario)}.patient-badge-status.is-inactive{background:var(--color-fondo-error-claro);color:var(--color-error)}.patient-datos-hint{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--color-texto-secundario)}.patient-data-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-4)}.patient-data-item label{display:block;font-size:var(--text-xs);color:var(--color-texto-secundario);margin-bottom:var(--space-1)}.patient-data-item span{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-texto-primario)}
