:root{--botter-white: #ffffff;--botter-beige: #f2f2ed;--botter-navy: #141414;--botter-wine: #e8b923;--botter-wine-text: #8a6600;--botter-navy-surface: #1e1e1e;--w-100: rgba(255, 255, 255, 1);--w-60: rgba(255, 255, 255, .6);--w-38: rgba(255, 255, 255, .38);--w-12: rgba(255, 255, 255, .12);--w-08: rgba(255, 255, 255, .08);--radius-sm: 6px;--radius-md: 12px;--radius-pill: 999px;--font-macro: "Satoshi", "IBM Plex Sans", sans-serif;--font-micro: "IBM Plex Sans", sans-serif;--font-code: "IBM Plex Mono", monospace;--fs-display: 40px;--fs-h1: 26px;--fs-h2: 16px;--fs-body: 14.5px;--fs-micro: 11.5px}*{box-sizing:border-box}body{margin:0;background:var(--botter-navy);color:var(--w-100);font-family:var(--font-micro);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-macro);margin:0}code,.mono{font-family:var(--font-code)}button,input,select{font-family:inherit}a{color:inherit}.btn{font-family:var(--font-micro);font-weight:600;font-size:13.5px;cursor:pointer;padding:12px 24px;border-radius:var(--radius-pill);border:1px solid transparent;display:inline-flex;align-items:center;gap:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--botter-wine);color:var(--botter-navy)}.btn-secondary{background:transparent;color:var(--w-100);border-color:var(--w-12)}.btn-ghost{background:transparent;color:var(--w-60);border-color:transparent;padding-left:0;padding-right:0}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-pill);font-family:var(--font-micro);font-weight:600;font-size:var(--fs-micro);letter-spacing:.02em;border:1px solid var(--w-08);white-space:nowrap}.badge-role-superadmin{background:var(--w-100);color:var(--botter-navy);border-color:transparent}.badge-role-admin{background:var(--w-12);color:var(--w-100);border-color:transparent}.badge-role-usuario{background:transparent;color:var(--w-60)}.badge-activo{color:var(--w-100);border-color:var(--w-12)}.badge-inactivo{color:var(--w-38)}.badge-tag{color:var(--w-60);font-family:var(--font-code);font-weight:500}.card{background:var(--botter-navy-surface);border:1px solid var(--w-08);border-radius:var(--radius-md);padding:1.5rem 1.6rem}.auth-card{background:var(--botter-white);border-color:#1414141a;--w-100: var(--botter-navy);--w-60: rgba(20, 20, 20, .6);--w-38: rgba(20, 20, 20, .38);--w-12: rgba(20, 20, 20, .12);--w-08: rgba(20, 20, 20, .08)}.auth-card .field input{background:var(--botter-beige);color:var(--botter-navy)}.auth-card .field-error{color:var(--botter-wine-text)}.table-panel{background:var(--botter-navy-surface);border:1px solid var(--w-08);border-radius:var(--radius-md);overflow:hidden}.table-head{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;border-bottom:1px solid var(--w-08);flex-wrap:wrap;gap:.8rem}.table-head h3{font-size:var(--fs-h2);font-weight:700}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:640px}thead th{text-align:left;font-family:var(--font-micro);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.05em;color:var(--w-38);font-weight:600;padding:.7rem 1.5rem;border-bottom:1px solid var(--w-08)}tbody td{padding:1rem 1.5rem;border-bottom:1px solid var(--w-08);font-size:var(--fs-body);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:var(--w-08)}.cell-title{font-weight:600}.cell-sub{font-family:var(--font-code);color:var(--w-38);font-size:var(--fs-micro);margin-top:.15rem}.tags-cell{display:flex;gap:.4rem;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}.field label{font-size:var(--fs-micro);color:var(--w-60);text-transform:uppercase;letter-spacing:.04em}.field input,.field select{background:var(--botter-navy);border:1px solid var(--w-12);border-radius:var(--radius-sm);color:var(--w-100);padding:10px 12px;font-size:var(--fs-body)}.field input:focus,.field select:focus{outline:none;border-color:var(--botter-wine)}.field-error{color:var(--botter-wine);font-size:var(--fs-micro)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:50}.modal{background:var(--botter-navy-surface);border:1px solid var(--w-12);border-radius:var(--radius-md);padding:1.75rem;width:100%;max-width:420px}.modal h3{font-size:var(--fs-h1);margin-bottom:1.2rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.4rem}.empty-state{padding:3rem 1.5rem;text-align:center;color:var(--w-38);font-size:var(--fs-body)}.spinner{color:var(--w-38);font-family:var(--font-code);font-size:var(--fs-micro)}
