:root{--fondo: #F7F4EF;--superficie: #FFFFFF;--superficie-2: #F2EEE7;--superficie-3: #E9E3D9;--borde: #E2DACE;--borde-fuerte: #CFC4B4;--tinta: #23201B;--tinta-2: #5C554A;--tinta-3: #8B8375;--acento: #C2703D;--acento-hover: #A85D2E;--acento-suave: #FBEEE4;--acento-borde: #EFD3BC;--ok: #3F7A5C;--ok-suave: #E8F2EC;--alerta: #B8862B;--alerta-suave: #FBF2DE;--peligro: #B4432F;--peligro-suave: #FAE9E5;--info: #3E6DA8;--info-suave: #E9F0F8;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-full: 999px;--sombra-1: 0 1px 2px rgba(35, 32, 27, .05);--sombra-2: 0 2px 8px rgba(35, 32, 27, .07), 0 1px 2px rgba(35, 32, 27, .04);--sombra-3: 0 12px 32px rgba(35, 32, 27, .14), 0 2px 8px rgba(35, 32, 27, .06);--nav-ancho: 232px;--header-alto: 60px;--fuente: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--transicion: .16s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--fondo);color:var(--tinta);font-family:var(--fuente);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"cv02","cv03","cv04","tnum"}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.015em}h1{font-size:24px}h2{font-size:18px}h3{font-size:15px}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--borde-fuerte);border-radius:var(--r-full);border:3px solid var(--fondo)}::-webkit-scrollbar-thumb:hover{background:var(--tinta-3)}.num{font-variant-numeric:tabular-nums}.fila{display:flex;align-items:center;gap:10px}.fila-sp{display:flex;align-items:center;justify-content:space-between;gap:12px}.col{display:flex;flex-direction:column;gap:10px}.crece{flex:1;min-width:0}.envoltura{display:flex;flex-wrap:wrap;gap:8px}.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--r-lg);box-shadow:var(--sombra-1)}.tarjeta-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--borde)}.tarjeta-cab h2,.tarjeta-cab h3{letter-spacing:-.01em}.tarjeta-cuerpo{padding:18px}.tarjeta-sub{color:var(--tinta-3);font-size:12px;margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 15px;border:1px solid var(--borde-fuerte);border-radius:var(--r-md);background:var(--superficie);color:var(--tinta);font-size:13px;font-weight:550;transition:background var(--transicion),border-color var(--transicion),transform 80ms;white-space:nowrap}.btn:hover{background:var(--superficie-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primario{background:var(--acento);border-color:var(--acento);color:#fff;box-shadow:var(--sombra-1)}.btn-primario:hover{background:var(--acento-hover);border-color:var(--acento-hover)}.btn-fantasma{background:transparent;border-color:transparent;color:var(--tinta-2)}.btn-fantasma:hover{background:var(--superficie-2);color:var(--tinta)}.btn-peligro{color:var(--peligro);border-color:var(--peligro-suave);background:var(--peligro-suave)}.btn-peligro:hover{background:#f6ddd7}.btn-sm{height:29px;padding:0 11px;font-size:12px;border-radius:var(--r-sm)}.btn-lg{height:44px;padding:0 22px;font-size:15px}.btn-bloque{width:100%}.campo{display:flex;flex-direction:column;gap:5px;min-width:0}.campo>label{font-size:11.5px;font-weight:600;color:var(--tinta-3);text-transform:uppercase;letter-spacing:.05em}.entrada{height:36px;padding:0 11px;background:var(--superficie);border:1px solid var(--borde-fuerte);border-radius:var(--r-md);transition:border-color var(--transicion),box-shadow var(--transicion);width:100%}textarea.entrada{height:auto;padding:9px 11px;resize:vertical;min-height:72px}.entrada:focus{outline:none;border-color:var(--acento);box-shadow:0 0 0 3px var(--acento-suave)}.entrada::placeholder{color:var(--tinta-3)}select.entrada{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238B8375' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:30px}.pildora{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:var(--r-full);background:var(--superficie-2);color:var(--tinta-2);font-size:11.5px;font-weight:600;white-space:nowrap}.pildora-ok{background:var(--ok-suave);color:var(--ok)}.pildora-alerta{background:var(--alerta-suave);color:var(--alerta)}.pildora-peligro{background:var(--peligro-suave);color:var(--peligro)}.pildora-info{background:var(--info-suave);color:var(--info)}.pildora-acento{background:var(--acento-suave);color:var(--acento-hover)}.punto{width:7px;height:7px;border-radius:50%;flex-shrink:0}.tabla-envoltura{overflow-x:auto}table.tabla{width:100%;border-collapse:collapse;font-size:13px}.tabla th{text-align:left;padding:9px 14px;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--tinta-3);border-bottom:1px solid var(--borde);background:var(--superficie-2);position:sticky;top:0;z-index:1;white-space:nowrap}.tabla td{padding:10px 14px;border-bottom:1px solid var(--borde);vertical-align:middle}.tabla tbody tr:last-child td{border-bottom:none}.tabla tbody tr:hover{background:var(--superficie-2)}.tabla .der{text-align:right}.tabla .cen{text-align:center}.tabla-compacta td,.tabla-compacta th{padding:7px 12px}.barra{height:6px;background:var(--superficie-3);border-radius:var(--r-full);overflow:hidden}.barra>span{display:block;height:100%;border-radius:var(--r-full);transition:width .4s cubic-bezier(.4,0,.2,1)}.vacio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 24px;text-align:center;color:var(--tinta-3)}.vacio strong{color:var(--tinta-2);font-weight:600}@keyframes aparecer{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes entrarPanel{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}@keyframes deslizarToast{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes latido{0%,to{opacity:1}50%{opacity:.35}}.animar{animation:aparecer .24s cubic-bezier(.4,0,.2,1) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
