:root{--text:#6b6358;--text-h:#201d18;--bg:#faf8f4;--bg-alt:#f0ece3;--border:#e3ddd0;--accent:#a97e2f;--shadow:#00000014 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}body{margin:0}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}.page{background:var(--bg-alt);flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.auth-panel{border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow);box-sizing:border-box;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:20px;padding:40px;display:flex}.auth-logo{width:100%;max-width:220px}.auth-back-link{color:var(--text);align-self:flex-start;font-size:13px;text-decoration:none}.auth-back-link:hover{color:var(--text-h)}.auth-eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--accent);text-align:center;margin:-12px 0 0;font-size:12px}.auth-tabs{border:1px solid var(--border);border-radius:8px;width:100%;display:flex;overflow:hidden}.auth-tabs button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;flex:1;padding:10px}.auth-tabs button.active{background:var(--accent);color:#0b0b0c;font-weight:600}.auth-form{text-align:left;flex-direction:column;gap:16px;width:100%;display:flex}.auth-form label{color:var(--text-h);flex-direction:column;gap:6px;font-size:14px;display:flex}.auth-remember{align-items:center;flex-direction:row!important;gap:8px!important;font-size:13px!important}.auth-remember input{width:auto}.auth-form input{border:1px solid var(--border);font:inherit;background:var(--bg-alt);color:var(--text-h);border-radius:6px;padding:10px 12px}.auth-submit{background:var(--accent);color:#0b0b0c;width:100%;font:inherit;text-align:center;cursor:pointer;box-sizing:border-box;border:none;border-radius:6px;padding:12px;font-weight:600;text-decoration:none;display:block}.auth-register-cta{flex-direction:column;gap:16px;width:100%;display:flex}.auth-register-cta p{color:var(--text);text-align:left;margin:0;font-size:14px;line-height:1.6}.auth-forgot{color:var(--text);text-align:center;align-self:center;font-size:13px;text-decoration:none}.auth-forgot:hover{text-decoration:underline}.auth-contact-btn{text-align:center;border:1px solid var(--border);width:100%;color:var(--text-h);box-sizing:border-box;border-radius:6px;padding:10px;font-size:14px;text-decoration:none}.auth-contact-btn:hover{box-shadow:var(--shadow)}.auth-error{color:#b3261e;margin:0;font-size:13px}.page-inner{background:var(--bg-alt);flex-direction:column;flex:1;min-height:100svh;display:flex}.navbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;padding:14px 32px;display:flex}.navbar-brand img{height:48px}.navbar-nav{gap:24px;display:flex}.navbar-nav a{color:var(--text);border-bottom:2px solid #0000;padding:6px 2px;font-size:14px;text-decoration:none}.navbar-nav a:hover{color:var(--text-h)}.navbar-nav a.active{color:var(--text-h);border-bottom-color:var(--accent);font-weight:600}.navbar-right{align-items:center;gap:16px;display:flex}.navbar-name{color:var(--text);font-size:14px}.navbar-portal-link{color:var(--text);font-size:13px;text-decoration:none}.navbar-portal-link:hover{color:var(--accent)}.navbar-logout{border:1px solid var(--border);color:var(--text-h);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:8px 16px;font-size:13px}.navbar-logout:hover{box-shadow:var(--shadow)}.dashboard{box-sizing:border-box;flex:1;width:100%;max-width:900px;margin:0 auto;padding:40px 24px 80px}.dashboard h1{color:var(--text-h);margin:0;font-size:26px}.dashboard h2{color:var(--text-h);margin:0 0 16px;font-size:16px}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.dashboard-header-actions{gap:10px;display:flex}.dashboard-empty{color:var(--text);font-size:14px}.pagos-resumen{color:var(--text);margin:0 0 16px;font-size:14px}.pagos-resumen strong{color:var(--text-h)}.btn-primary{background:var(--accent);color:#0b0b0c;font:inherit;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:10px 18px;font-size:14px;font-weight:600}.btn-secondary{border:1px solid var(--border);color:var(--text-h);font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;padding:10px 18px;font-size:14px}.btn-secondary:hover{box-shadow:var(--shadow)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{color:#b3261e;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #b3261e;border-radius:6px;padding:10px 18px;font-size:14px}.caso-form{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;gap:14px;margin-bottom:28px;padding:20px;display:flex}.caso-form label{color:var(--text-h);flex-direction:column;gap:6px;font-size:13px;display:flex}.caso-form input,.caso-form textarea{border:1px solid var(--border);font:inherit;background:var(--bg-alt);color:var(--text-h);border-radius:6px;padding:9px 12px}.caso-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.casos-list{flex-direction:column;gap:12px;display:flex}.caso-card{border:1px solid var(--border);color:inherit;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;text-decoration:none;transition:box-shadow .15s;display:flex}.caso-card-badges{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.modal-overlay{z-index:1000;background:#0b0b0c80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{box-sizing:border-box;background:#fff;border-radius:14px;flex-direction:column;gap:12px;width:100%;max-width:400px;padding:28px;display:flex}.modal h2{color:var(--text-h);margin:0;font-size:18px}.modal-sub{color:var(--text);margin:0 0 8px;font-size:13px}.modal-checkbox{color:var(--text-h);align-items:center;gap:10px;font-size:14px;display:flex}.modal-checkbox input{width:auto}.caso-card:hover{box-shadow:var(--shadow)}.caso-card h3{color:var(--text-h);margin:0 0 4px;font-size:16px}.caso-card p{color:var(--text);margin:0;font-size:13px}.estado-badge{white-space:nowrap;background:var(--bg-alt);color:var(--text-h);border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600}.estado-badge.estado-finalizado{background:var(--accent);color:#0b0b0c;border-color:var(--accent)}.estado-badge.estado-ocupado{color:#b3261e;background:#fbe9e7;border-color:#f3c1bb}.fecha-consulta{color:var(--text-h);align-items:center;gap:10px;margin-bottom:24px;font-size:14px;display:inline-flex}.fecha-consulta input{border:1px solid var(--border);font:inherit;color:var(--text-h);background:#fff;border-radius:6px;padding:8px 12px}.search-input{border:1px solid var(--border);width:100%;font:inherit;color:var(--text-h);box-sizing:border-box;background:#fff;border-radius:8px;margin-bottom:20px;padding:10px 14px}.recursos-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.recurso-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:10px;padding:18px}.recurso-card-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.recurso-card-header h3{color:var(--text-h);margin:0;font-size:15px}.recurso-card-header button{color:#b3261e;cursor:pointer;background:0 0;border:none;font-size:12px}.recurso-desc{color:var(--text);margin:0 0 12px;font-size:13px}.recurso-card .item-list{margin:0}.recurso-card .item-list li{background:#fff}.recurso-dia-list{margin-top:10px!important}.recurso-proximas-label{letter-spacing:1px;text-transform:uppercase;color:var(--text);margin:16px 0 8px;font-size:11px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:32px;display:grid}.kpi-card{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:20px;display:flex}.kpi-card-wide{grid-column:span 2}.kpi-value{color:var(--text-h);font-size:28px;font-weight:700}.kpi-label{color:var(--text);font-size:13px}.proximamente-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.proximamente-list li{color:var(--text);background:var(--bg-alt);border-radius:8px;padding:10px 14px;font-size:14px}.proximamente-list li:before{content:"○ ";color:var(--accent)}.detail-section{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:32px;padding:20px}.detail-section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.detail-section-header h2{margin:0}.datos-list{grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.datos-list li{flex-direction:column;gap:2px;display:flex}.datos-list li span{color:var(--text);font-size:12px}@media (width<=700px){.datos-list{grid-template-columns:1fr}}.estado-selector{flex-wrap:wrap;gap:8px;display:flex}.estado-option{border:1px solid var(--border);background:var(--bg-alt);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:8px 14px;font-size:13px}.estado-option.active{background:var(--accent);color:#0b0b0c;border-color:var(--accent);font-weight:600}.timeline{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.timeline li{border-bottom:1px solid var(--border);justify-content:space-between;padding-bottom:10px;font-size:13px;display:flex}.timeline li:last-child{border-bottom:none;padding-bottom:0}.timeline strong{color:var(--text-h)}.timeline span{color:var(--text)}.timeline-edit{align-items:center;gap:8px;display:flex}.timeline-edit input[type=datetime-local]{border:1px solid var(--border);background:var(--bg-alt);color:var(--text-h);border-radius:6px;padding:4px 8px;font-size:12px}.timeline-edit button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.item-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.item-list li{background:var(--bg-alt);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}.item-list li>div{flex-direction:column;gap:2px;display:flex}.item-list li span{color:var(--text);font-size:12px}.item-list li button{color:#b3261e;cursor:pointer;white-space:nowrap;background:0 0;border:none;font-size:12px}.checklist-item{align-items:center;gap:10px;display:flex}.checklist-item .done{color:var(--text);text-decoration:line-through}.inline-form{flex-wrap:wrap;gap:8px;display:flex}.inline-form input{border:1px solid var(--border);min-width:140px;font:inherit;background:var(--bg-alt);color:var(--text-h);border-radius:6px;flex:1;padding:9px 12px}@media (width<=700px){.caso-form-row{grid-template-columns:1fr}}
