*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#111;color:#fff;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#1a1a1a}::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}::selection{background:rgba(212,43,43,.3);color:#fff}a,button{transition:all .15s ease}@keyframes slideInRight{0%{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.toast-enter{animation:slideInRight .3s ease forwards}.toast-exit{animation:fadeOut .3s ease forwards}@keyframes spin{to{transform:rotate(1turn)}}.spinner{width:20px;height:20px;border:2px solid hsla(0,0%,100%,.15);border-top-color:#d42b2b;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.dropzone{border:2px dashed #3a3a3a;border-radius:12px;transition:border-color .2s,background-color .2s;cursor:pointer}.dropzone.drag-over,.dropzone:hover{border-color:#d42b2b;background-color:rgba(212,43,43,.05)}.bento-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:16px;padding:24px;transition:border-color .2s}.bento-card:hover{border-color:#3a3a3a}.table-row-hover:hover{background:hsla(0,0%,100%,.03)}.input-base{background:#222;border:1px solid #333;border-radius:8px;color:#fff;padding:10px 14px;font-size:14px;font-family:Inter,sans-serif;width:100%;outline:none;transition:border-color .2s}.input-base:focus{border-color:#d42b2b}.input-base::placeholder{color:#555}.btn-primary{background:#d42b2b;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .2s,transform .1s}.btn-primary:hover{background:#b52222}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:#aaa;border:1px solid #333;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.btn-ghost:hover{background:#222;color:#fff;border-color:#555}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal-box{background:#1a1a1a;border:1px solid #333;border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;padding:32px;animation:slideInRight .25s ease}.grid-subir{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;align-items:start}.grid-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px}.bento-span-2{grid-column:span 2}.bento-span-4{grid-column:span 4}@media (max-width:1024px){.grid-bento{grid-template-columns:repeat(2,1fr)}.bento-span-2,.bento-span-4{grid-column:span 2}}@media (max-width:768px){.grid-bento,.grid-subir{grid-template-columns:1fr}.bento-span-2,.bento-span-4{grid-column:span 1}}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:64px}@media (max-width:640px){.header-inner{gap:8px;flex-wrap:wrap;height:auto;padding:10px 16px}.header-right span{display:none}}.main-pad{padding:28px;max-width:1400px;margin:0 auto;width:100%}@media (max-width:768px){.main-pad{padding:16px}}.filtros-wrap{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.badge-admin{background:rgba(212,43,43,.15);color:#d42b2b}.badge-empleado{background:rgba(72,187,120,.15);color:#48bb78}