.talus-ficha-app{
  --tf-blue-deep:#153A5B;
  --tf-blue-mid:#1E5D8F;
  --tf-blue-bright:#2E86D1;
  --tf-teal:#0E9C8C;
  --tf-line:#DDE5EE;
  --tf-ink:#182233;
  --tf-ink-soft:#5B6B80;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  color:var(--tf-ink);
  max-width:1180px;
  margin:0 auto;
}
.talus-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;align-items:start;}
@media (max-width:920px){.talus-layout{grid-template-columns:1fr;}}

.talus-card{background:#fff;border:1px solid var(--tf-line);border-radius:14px;padding:22px 24px;margin-bottom:18px;}
.talus-card h2{font-size:16px;color:var(--tf-blue-deep);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--tf-line);}
.talus-card h2 small{display:block;font-weight:400;color:var(--tf-ink-soft);font-size:11.5px;margin-top:3px;}

.talus-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:520px){.talus-grid2{grid-template-columns:1fr;}}

.talus-field{margin-bottom:14px;}
.talus-field label{font-size:11.5px;font-weight:600;color:var(--tf-ink-soft);text-transform:uppercase;letter-spacing:0.05em;display:block;margin-bottom:5px;}
.talus-input-error{border-color:#D64545 !important;background:#FDF3F2 !important;}
.talus-input-error:focus{outline:2px solid rgba(214,69,69,0.25);}
.talus-ficha-app input[type=text],
.talus-ficha-app input[type=date],
.talus-ficha-app input[type=tel],
.talus-ficha-app input[type=email],
.talus-ficha-app input[type=number],
.talus-ficha-app select,
.talus-ficha-app textarea{
  width:100%;padding:9px 11px;border:1px solid var(--tf-line);border-radius:8px;
  font-size:14px;color:var(--tf-ink);background:#FBFCFE;
}
.talus-ficha-app textarea{resize:vertical;min-height:52px;}
.talus-discount-field{margin:10px 0 12px;}
.talus-discount-field input{max-width:100px;}

.talus-cat-title{font-size:12px;font-weight:700;color:var(--tf-blue-mid);text-transform:uppercase;letter-spacing:0.06em;margin:16px 0 8px;display:flex;align-items:center;gap:8px;}
.talus-cat-title::after{content:"";flex:1;height:1px;background:var(--tf-line);}

.talus-grouptabbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.talus-grouptab{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:10px;border:1px solid var(--tf-line);background:#F4F7FB;color:var(--tf-blue-deep);font-size:13.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;}
.talus-grouptab:hover{border-color:var(--tf-blue-bright);}
.talus-grouptab.active{background:var(--tf-teal);border-color:var(--tf-teal);color:#fff;}
.talus-grouptab.active .talus-tab-count{background:#fff;color:var(--tf-teal);}
.talus-grouppanel{display:none;}
.talus-grouppanel.active{display:block;}

.talus-tabbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--tf-line);}
.talus-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:20px;border:1px solid var(--tf-line);background:#FBFCFE;color:var(--tf-ink-soft);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;}
.talus-tab:hover{border-color:var(--tf-blue-bright);color:var(--tf-blue-mid);}
.talus-tab.active{background:var(--tf-blue-deep);border-color:var(--tf-blue-deep);color:#fff;}
.talus-tab-count{background:var(--tf-teal);color:#fff;border-radius:10px;min-width:18px;height:18px;font-size:10.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;}
.talus-tab.active .talus-tab-count{background:#fff;color:var(--tf-blue-deep);}

.talus-tabpanel{display:none;}
.talus-tabpanel.active{display:block;}
.talus-svc-row{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:9px;cursor:pointer;}
.talus-svc-row:hover{background:#F0F5FB;}
.talus-svc-row.checked{background:#EAF6F3;}
.talus-svc-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--tf-teal);flex-shrink:0;cursor:pointer;}
.talus-svc-name{font-size:13.5px;font-weight:600;flex:1;line-height:1.35;}
.talus-svc-sub{font-size:11.5px;color:var(--tf-ink-soft);font-weight:400;}
.talus-svc-price{font-family:monospace;font-size:13px;font-weight:700;color:var(--tf-blue-deep);white-space:nowrap;}

.talus-summary-panel{background:#fff;border:1px solid var(--tf-line);border-radius:14px;overflow:hidden;position:sticky;top:20px;}
.talus-summary-head{background:var(--tf-blue-deep);color:#fff;padding:16px 20px;font-size:15px;display:flex;justify-content:space-between;align-items:baseline;}
.talus-summary-head span{font-size:10.5px;opacity:0.75;font-weight:600;text-transform:uppercase;}
.talus-summary-body{padding:18px 20px;}
.talus-patient-line{font-size:13px;margin-bottom:3px;}
.talus-patient-line b{color:var(--tf-blue-deep);}
.talus-perf{border-top:1px dashed var(--tf-line);margin:14px 0;}
.talus-plan-item{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:7px 0;border-bottom:1px dotted var(--tf-line);}
.talus-plan-item .p{font-family:monospace;font-weight:700;color:var(--tf-blue-deep);white-space:nowrap;}
.talus-plan-empty{font-size:12.5px;color:var(--tf-ink-soft);font-style:italic;padding:10px 0;}
.talus-total-row{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:2px solid var(--tf-blue-deep);}
.talus-lbl{font-size:12px;text-transform:uppercase;letter-spacing:0.05em;color:var(--tf-ink-soft);font-weight:700;}
.talus-val{font-family:monospace;font-size:20px;font-weight:800;color:var(--tf-teal);}

.talus-actions{padding:16px 20px 20px;border-top:1px solid var(--tf-line);}
.talus-check-inline{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--tf-ink-soft);margin-bottom:8px;cursor:pointer;}
.talus-check-disabled{opacity:0.55;cursor:not-allowed;}
.talus-check-disabled em{font-style:normal;color:#999;}
.talus-btn{width:100%;padding:11px 14px;border-radius:9px;border:none;font-size:13.5px;font-weight:700;cursor:pointer;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px;}
.talus-btn-primary{background:var(--tf-teal);color:#fff;}
.talus-post-actions{display:flex;gap:8px;}
.talus-post-actions .talus-btn{margin-top:8px;}
.talus-btn-secundario{background:#fff;color:var(--tf-blue-deep);border:1px solid var(--tf-line) !important;}
.talus-btn-secundario:hover{border-color:var(--tf-blue-bright) !important;background:#F8FAFD;}
.talus-btn-primary:disabled{opacity:0.6;cursor:not-allowed;}
.talus-result{font-size:12.5px;margin-top:10px;line-height:1.6;}
.talus-result .ok{color:var(--tf-teal);font-weight:700;}
.talus-result .err{color:#C0392B;font-weight:700;}

.talus-mis-fichas{max-width:1000px;margin:0 auto;}
.talus-buscar-form{display:flex;gap:8px;margin-bottom:14px;}
.talus-buscar-form input{flex:1;padding:8px 10px;border:1px solid var(--tf-line);border-radius:8px;}
.talus-tabla-fichas{width:100%;border-collapse:collapse;font-size:13px;}
.talus-tabla-fichas th,.talus-tabla-fichas td{padding:8px 10px;border-bottom:1px solid var(--tf-line);text-align:left;}

/* ---- Mis fichas: contador + tarjetas de resultado ---- */
.talus-fichas-resumen{margin-bottom:16px;}
.talus-fichas-contador{display:inline-flex;align-items:baseline;gap:8px;background:#F4F7FB;border:1px solid var(--tf-line);border-radius:12px;padding:14px 20px;}
.talus-fichas-contador-num{font-size:28px;font-weight:800;color:var(--tf-blue-deep);line-height:1;}
.talus-fichas-contador-lbl{font-size:13px;color:var(--tf-ink-soft);font-weight:600;}
.talus-fichas-hint{color:var(--tf-ink-soft);font-size:13.5px;margin-top:14px;}
.talus-fichas-resultados{display:flex;flex-direction:column;gap:14px;margin-top:16px;}
.talus-ficha-resultado{background:#fff;border:1px solid var(--tf-line);border-radius:12px;padding:16px 18px;}
.talus-ficha-resultado-fila{font-size:13.5px;color:var(--tf-ink);padding:3px 0;}
.talus-ficha-resultado-fila b{color:var(--tf-ink-soft);font-weight:600;margin-right:4px;}
.talus-ficha-resultado-editform{margin-top:6px;}
.talus-ficha-resultado-acciones{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;}
.talus-btn-mini{padding:7px 13px;border-radius:8px;border:1px solid var(--tf-line);background:#FBFCFE;color:var(--tf-blue-mid);font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;}
.talus-btn-mini:hover{border-color:var(--tf-blue-bright);}
.talus-btn-mini:disabled{opacity:0.6;cursor:default;}
.talus-btn-guardar{background:var(--tf-teal);border-color:var(--tf-teal);color:#fff;}
.talus-btn-peligro{color:#B3261E;border-color:#F0C9C6;}
.talus-btn-peligro:hover{background:#FDEEEE;border-color:#E7A8A3;}
.talus-ficha-resultado-msg{font-size:12px;font-weight:600;}

/* ---- Resultados compactos del buscador en vivo ---- */
.talus-fichas-resultados-compactos{display:flex;flex-direction:column;gap:6px;margin-top:12px;}
.talus-resultado-compacto{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid var(--tf-line);border-radius:9px;padding:10px 14px;font:inherit;transition:border-color .15s,background .15s;}
.talus-resultado-compacto:hover{border-color:var(--tf-blue-bright);background:#F8FAFD;}
.talus-rc-info{display:flex;flex-direction:column;gap:2px;}
.talus-rc-nombre{font-weight:700;color:var(--tf-blue-deep);font-size:14px;}
.talus-rc-meta{font-size:12px;color:var(--tf-ink-soft);white-space:nowrap;}

/* ---- Barra superior: profesional conectado + fecha/hora + cerrar sesión ---- */
.talus-app-titulo-fila{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px;}
.talus-app-titulo{font-size:22px;font-weight:800;color:var(--tf-blue-deep);margin:0;}
.talus-app-titulo-acciones{display:flex;align-items:center;gap:16px;}
.talus-topbar-logout{color:#B3261E;font-weight:600;text-decoration:none;font-size:12.5px;white-space:nowrap;}
.talus-topbar-logout:hover{text-decoration:underline;}
.talus-topbar-refrescar{display:flex;align-items:center;gap:5px;background:none;border:none;color:var(--tf-blue-mid);font-weight:600;font-size:12.5px;cursor:pointer;padding:0;white-space:nowrap;}
.talus-topbar-refrescar:hover{text-decoration:underline;}
.talus-topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;background:#F4F7FB;border:1px solid var(--tf-line);border-radius:10px;padding:9px 16px;margin-bottom:18px;font-size:12.5px;color:var(--tf-ink-soft);}
.talus-topbar-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.talus-topbar-dot{width:8px;height:8px;border-radius:50%;background:#2ecc9b;box-shadow:0 0 0 3px rgba(46,204,155,0.18);flex:none;}
.talus-topbar-info strong{color:var(--tf-blue-deep);}

/* ---- Detalles completos dentro de la tarjeta de resultado (front) ---- */
.talus-ficha-resultado-detalles{margin-top:12px;padding-top:12px;border-top:1px dashed var(--tf-line);}
.talus-ficha-resultado-bloque{margin-bottom:14px;}
.talus-ficha-resultado-bloque h4{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--tf-blue-mid);margin:0 0 6px;}
.talus-ficha-resultado-bloque p{margin:0;font-size:13.5px;line-height:1.5;color:var(--tf-ink);}
.talus-ficha-resultado-tabla-plan{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:8px;}
.talus-ficha-resultado-tabla-plan th,.talus-ficha-resultado-tabla-plan td{text-align:left;padding:5px 8px;border-bottom:1px solid #eee;}
.talus-ficha-resultado-tabla-totales{margin-left:auto;width:240px;font-size:13.5px;}
.talus-ficha-resultado-tabla-totales td{padding:3px 6px;}
.talus-ficha-resultado-tabla-totales td:last-child{text-align:right;}
.talus-ficha-resultado-total-final td{font-weight:700;font-size:15px;color:var(--tf-blue-deep);border-top:1px solid #ccc;padding-top:6px;}
