:root{--bg: #f4f7fb;--surface: #ffffff;--surface-2: #f8fafc;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--primary: #0d6efd;--main: #e73b47;--primary-600: #0b5ed7;--success: #198754;--warning: #ffc107;--danger: #dc3545;--info: #0dcaf0;--shadow-sm: 0 1px 2px rgba(15,23,42,.08);--shadow-md: 0 12px 30px rgba(15,23,42,.1);--shadow-lg: 0 18px 55px rgba(15,23,42,.16);--radius: 16px;--font: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif}html,body{background:var(--bg);color:var(--text);font-family:var(--font)}.muted{color:var(--muted)!important}.mono{color:#0b1a33!important;background:#eef2ff;border:1px solid #dde3ff;padding:2px 6px;border-radius:10px}.card{border:1px solid var(--border)!important;background:var(--surface)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-sm);padding:1rem;margin-bottom:1rem}.miniCard{border:1px solid var(--border)!important;background:var(--surface)!important;box-shadow:var(--shadow-sm)}.badge{background:#eef2ff;border:1px solid #dbe5ff;color:#1e40af;padding:4px 10px;border-radius:999px;font-weight:800;font-size:12px}input,select{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:12px!important;padding:10px 12px!important;box-shadow:none!important}input::placeholder{color:#94a3b8}input:focus,select:focus{outline:none!important;border-color:#0d6efd8c!important;box-shadow:0 0 0 4px #0d6efd26!important}.btn{border-radius:12px!important;border:1px solid rgba(13,110,253,.25)!important;background:var(--primary)!important;color:#fff!important;padding:10px 14px!important;font-weight:900!important;box-shadow:0 10px 22px #0d6efd2e;transition:transform .08s ease,box-shadow .18s ease,background .18s ease}.btn:hover{background:var(--primary-600)!important;box-shadow:0 14px 26px #0d6efd38;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.secondary{background:var(--surface)!important;color:#0b1a33!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-sm)}.btn.secondary:hover{background:var(--surface-2)!important;box-shadow:var(--shadow-md)}.alert{border:1px solid rgba(220,53,69,.25);background:#dc354514;color:#b02a37;padding:10px 12px;border-radius:12px;font-weight:800}.authWrap{min-height:100vh;background:radial-gradient(900px 500px at 20% 10%,rgba(13,110,253,.12),transparent 60%),radial-gradient(700px 450px at 80% 20%,rgba(13,202,240,.12),transparent 60%),var(--bg)!important}.authCard{width:min(520px,100%)!important;border:1px solid var(--border)!important;background:var(--main)!important;box-shadow:var(--shadow-lg)!important;padding:20px!important;border-radius:20px!important}.authHeader{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.authTitle{font-size:18px!important;font-weight:1000!important;letter-spacing:.2px;color:var(--bg);text-align:center}.authSub{font-size:13px!important;color:var(--bg)!important;text-align:center}.logo{display:flex;justify-content:center}.appShell{background:var(--bg)!important}.sidebar{background:linear-gradient(180deg,#0b2a4a,#071e36)!important;border-right:1px solid rgba(255,255,255,.08)!important;box-shadow:10px 0 30px #0206171f}.sideBrand{background:#ffffff0f!important;border:1px solid rgba(255,255,255,.1)!important}.brandTitle{color:#fff!important;font-weight:1000!important}.brandSub{color:#ffffffb8!important}.sideLink{border:1px solid rgba(255,255,255,.1)!important;background:#ffffff0a!important;color:#ffffffeb!important}.sideLinkDesc{color:#ffffffb3!important}.sideLink.active{background:#0d6efd33!important;border-color:#0d6efd73!important;box-shadow:0 0 0 4px #0d6efd1f!important}.sideFooter{border-top:1px solid rgba(255,255,255,.1)!important}.sideUser{background:#ffffff0a!important;border:1px solid rgba(255,255,255,.1)!important}.sideUserName{color:#fff!important}.sideUserRole{color:#ffffffbf!important}.topbar{background:var(--surface)!important;border-bottom:1px solid var(--border)!important;box-shadow:var(--shadow-sm)}.topTitle{color:var(--text)!important}.topSub{color:var(--muted)!important}.rowBtn{border:1px solid var(--border)!important;background:var(--surface)!important;box-shadow:none!important}.rowBtn:hover{background:#f8fafc!important}.rowBtn.selected{border-color:#0d6efd73!important;box-shadow:0 0 0 4px #0d6efd1f!important}.dot.ok{background:var(--success)!important}.dot.warn{background:var(--warning)!important}.dot.no{background:#6c757d!important}.dot.bad{background:var(--danger)!important}.pill2{background:#f1f5f9!important;border:1px solid var(--border)!important;color:#0b1a33!important;font-weight:900}.pill2.ok{border-color:#1987544d!important}.pill2.warn{border-color:#ffc10759!important}.pill2.bad{border-color:#dc35454d!important}.modal{background:var(--surface)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-lg)!important}.modalBackdrop{background:#0206178c!important}.hint{color:var(--muted)!important}.grid3{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}@media(max-width:860px){.grid3{grid-template-columns:1fr}}.miniCard{border:1px solid rgba(255,255,255,.08);background:#ffffff08;border-radius:14px;padding:12px}.miniK{color:var(--muted);font-size:12px}.miniV{font-weight:900;font-size:18px;margin-top:4px}.miniS{color:var(--muted);font-size:11px;margin-top:2px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-bottom:1rem}.toolbar input{flex:1;min-width:240px}select{padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#00000038;color:var(--text)}.check{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px}.check input{width:16px;height:16px}.tUsers{grid-template-columns:90px 1.1fr 1.2fr 170px 150px 240px}@media(max-width:1100px){.tUsers{grid-template-columns:90px 1fr 1fr 160px 140px 220px}}@media(max-width:900px){.tUsers{grid-template-columns:90px 1fr}.tHead.tUsers{display:none}.tRow.tUsers>div{padding:6px 0}}.actions{display:flex;gap:8px;flex-wrap:wrap}.sub{color:var(--muted);font-size:11px;margin-top:3px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;color:#dbe6ff}.status{display:inline-flex;align-items:center;gap:8px}.dot.no{background:#ff6a7ae6}.empty{padding:14px;color:var(--muted);border:1px dashed rgba(255,255,255,.12);border-radius:12px;margin-top:10px}.modalBackdrop{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;padding:18px}.modal{width:min(680px,100%);border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#141c3feb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px}.form2{display:grid;gap:12px;margin-top:10px}.form2 label{display:grid;gap:6px;color:var(--muted);font-size:13px}.right{display:flex;justify-content:flex-end;margin-top:6px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tab{text-decoration:none;color:var(--muted);border:1px solid rgba(255,255,255,.1);background:#ffffff08;padding:8px 10px;border-radius:999px;font-size:12px;font-weight:800}.tab.active{color:var(--text);border-color:#6aa6ff73;box-shadow:0 0 0 4px #6aa6ff1a}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}@media(max-width:860px){.formGrid{grid-template-columns:1fr}}.formGrid label{display:grid;gap:6px;color:var(--muted);font-size:13px}.span2{grid-column:span 2}@media(max-width:860px){.span2{grid-column:span 1}}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}@media(max-width:980px){.split{grid-template-columns:1fr}}.tPatients{grid-template-columns:160px 1.2fr 140px 160px 160px}@media(max-width:900px){.tPatients{grid-template-columns:1fr}.tHead.tPatients{display:none}}.rowBtn{text-align:left;width:100%;cursor:pointer;border:1px solid rgba(255,255,255,.08)}.rowBtn.selected{border-color:#6aa6ff73;box-shadow:0 0 0 4px #6aa6ff1a}.status.en_espera{color:#dbe6ff}.status.en_atencion{color:#ffe9b3}.status.finalizado{color:#dfffe9}.dot.warn{background:#ffd06af2}.detailHeader{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.detailName{font-weight:900;font-size:16px;margin-top:2px}.detailBadges{display:flex;gap:8px;flex-wrap:wrap}.wfStages{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:8px}@media(max-width:860px){.wfStages{grid-template-columns:1fr 1fr}}.wfStage{border:1px solid rgba(255,255,255,.08);background:#ffffff08;border-radius:14px;padding:10px}.wfStageK{color:var(--muted);font-size:12px;font-weight:800}.wfStageV{font-size:18px;font-weight:900;margin-top:4px}.wfCatalog{margin-top:6px}.wfList{display:grid;gap:10px;margin-top:10px}.wfDef{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;border:1px solid rgba(255,255,255,.08);background:#ffffff08;border-radius:14px;padding:12px}.tWfCases{grid-template-columns:180px 1.2fr 130px 150px 120px}@media(max-width:900px){.tWfCases{grid-template-columns:1fr}.tHead.tWfCases{display:none}}.wfLog{display:grid;gap:8px;margin-top:10px}.wfLogRow{display:grid;grid-template-columns:180px 120px 1fr;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;border-radius:14px}@media(max-width:900px){.wfLogRow{grid-template-columns:1fr}}.tConsulta{grid-template-columns:150px 1.2fr 150px 120px 140px}@media(max-width:900px){.tConsulta{grid-template-columns:1fr}.tHead.tConsulta{display:none}}.tDocs{grid-template-columns:1.2fr 130px 200px 140px 120px}@media(max-width:900px){.tDocs{grid-template-columns:1fr}.tHead.tDocs{display:none}}.tInvCat{grid-template-columns:120px 1.2fr 90px 170px}.tLotes{grid-template-columns:150px 140px 140px 120px}.tKardex{grid-template-columns:110px 120px 90px 140px 1fr}@media(max-width:900px){.tInvCat,.tLotes,.tKardex{grid-template-columns:1fr}.tHead.tInvCat,.tHead.tLotes,.tHead.tKardex{display:none}}.tRFID{grid-template-columns:200px 1.2fr 120px 190px 180px}@media(max-width:900px){.tRFID{grid-template-columns:1fr}.tHead.tRFID{display:none}}.pill2.ok{border-color:#00ffa040}.pill2.warn{border-color:#ffc80040}.pill2.no{border-color:#ffffff1f}.pill2.bad{border-color:#ff505040}.authWrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 20% 20%,rgba(255,255,255,.06),transparent 60%),radial-gradient(900px 500px at 80% 30%,rgba(255,255,255,.04),transparent 60%),#0000008c}.authCard{width:min(460px,100%);border-radius:18px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:18px;box-shadow:0 18px 50px #00000059}.authHeader{margin-bottom:12px}.authTitle{font-size:18px;font-weight:900}.authSub{color:var(--muted);font-size:13px;margin-top:2px}.authForm{display:grid;gap:10px}.authForm label{display:grid;gap:6px;font-weight:800;font-size:12px;color:#ffffffd9}.authForm input{height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;padding:0 12px;outline:none;color:#ffffffeb}.appShell{min-height:100vh;display:grid;grid-template-columns:290px 1fr;background:#0000008c}@media(max-width:980px){.appShell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:2}}.sidebar{border-right:1px solid rgba(255,255,255,.08);background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:14px;display:flex;flex-direction:column;gap:12px}.sideBrand{padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.brandTitle{font-size:18px;font-weight:900;letter-spacing:.5px}.brandSub{font-size:12px;color:var(--muted);margin-top:2px}.sideNav{display:grid;gap:8px;overflow:auto;padding-right:2px}.sideLink{text-decoration:none;color:#ffffffe0;border:1px solid rgba(255,255,255,.08);background:#ffffff05;border-radius:14px;padding:10px 12px;display:grid;gap:2px}.sideLinkTitle{font-weight:900;font-size:13px}.sideLinkDesc{font-size:12px;color:var(--muted)}.sideLink.active{background:#ffffff0f;border-color:#ffffff29}.sideFooter{display:grid;gap:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.sideUser{padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff05}.sideUserName{font-weight:900;font-size:13px}.sideUserRole{font-size:12px;color:var(--muted);margin-top:2px}.main{display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:1;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:#00000073;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;gap:12px}.topTitle{font-size:14px;font-weight:900}.topSub{font-size:12px;color:var(--muted);margin-top:2px}.content{padding:18px;min-width:0}.btn.full{width:100%}
