@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--c-bg:#fff;--c-bg-alt:#f7f7f0;--c-bg-map:#f5f5d8;--c-ink:#0a0a0a;--c-ink-muted:#555550;--c-red:#e25252;--c-lime:#d4e84a;--c-green:#2d4a2d;--c-border:#0a0a0a;--c-border-lt:#d0d0c8;--c-draft:#e0e0d8;--c-review:#fef3c7;--c-published:#d4e84a;--c-rejected:#fecaca;--c-alta:#e25252;--c-media:#f59e0b;--c-baja:#6b7280;--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "Courier New", monospace;--sidebar-w:220px;--topbar-h:48px;--radius:0px;--gap:24px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font-sans);background:var(--c-bg);color:var(--c-ink);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--c-bg-alt)}::-webkit-scrollbar-thumb{background:var(--c-border-lt)}.mono{font-family:var(--font-mono)}.uppercase{text-transform:uppercase;letter-spacing:.08em}.muted{color:var(--c-ink-muted)}.red{color:var(--c-red)}.lime-bg{background:var(--c-lime)}.shell{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;height:100vh;display:grid;overflow:hidden}.shell.sidebar-closed{grid-template-columns:48px 1fr}.topbar{border-bottom:1px solid var(--c-border);background:var(--c-bg);z-index:20;grid-column:1/-1;align-items:center;gap:16px;padding:0 16px;display:flex}.topbar-logo{font-family:var(--font-mono);letter-spacing:.12em;color:var(--c-red);border:1px solid var(--c-red);white-space:nowrap;padding:2px 6px;font-size:13px;font-weight:600}.topbar-title{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--c-ink-muted);flex:1}.topbar-role{font-family:var(--font-mono);text-transform:uppercase;border:1px solid var(--c-border);padding:2px 8px;font-size:11px}.topbar-lang-btn{font-family:var(--font-mono);text-transform:uppercase;border:1px solid var(--c-border-lt);cursor:pointer;color:var(--c-ink);background:0 0;padding:2px 8px;font-size:11px}.topbar-lang-btn:hover{background:var(--c-bg-alt)}.topbar-lang-btn.active{background:var(--c-lime);border-color:var(--c-border)}.sidebar{border-right:1px solid var(--c-border);background:var(--c-bg);flex-direction:column;display:flex;overflow:hidden}.sidebar-nav{flex:1;padding:8px 0;overflow-y:auto}.nav-item{font-size:12px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--c-ink-muted);cursor:pointer;white-space:nowrap;border-bottom:1px solid #0000;align-items:center;gap:10px;padding:8px 16px;text-decoration:none;transition:color .1s;display:flex;overflow:hidden}.nav-item:hover{color:var(--c-ink);background:var(--c-bg-alt)}.nav-item.active{color:var(--c-ink);background:var(--c-lime);border-color:var(--c-border)}.nav-item svg{flex-shrink:0}.nav-divider{background:var(--c-border-lt);height:1px;margin:4px 16px}.sidebar-footer{border-top:1px solid var(--c-border);padding:12px 16px}.sidebar-user{font-size:11px;font-family:var(--font-mono);color:var(--c-ink-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.main{background:var(--c-bg-alt);overflow-y:auto}.page{max-width:1100px;padding:var(--gap);margin:0 auto}.page-header{margin-bottom:var(--gap);border-bottom:1px solid var(--c-border);align-items:baseline;gap:16px;padding-bottom:16px;display:flex}.page-header h1{letter-spacing:-.01em;font-size:22px;font-weight:700}.page-header-sub{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--c-ink-muted)}.page-header-actions{gap:8px;margin-left:auto;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.table-wrap{border:1px solid var(--c-border);background:var(--c-bg);overflow-x:auto}table{border-collapse:collapse;width:100%}thead{background:var(--c-bg-alt);border-bottom:1px solid var(--c-border)}th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;text-align:left;white-space:nowrap;color:var(--c-ink-muted);padding:8px 12px;font-size:10px;font-weight:500}td{border-bottom:1px solid var(--c-border-lt);vertical-align:middle;padding:10px 12px;font-size:13px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--c-bg-alt)}.badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid;padding:2px 6px;font-size:10px;display:inline-block}.badge-draft{color:var(--c-ink-muted);border-color:var(--c-border-lt);background:var(--c-draft)}.badge-review{color:#92400e;background:var(--c-review);border-color:#fbbf24}.badge-published{color:var(--c-green);border-color:var(--c-green);background:var(--c-published)}.badge-rejected{color:#991b1b;background:var(--c-rejected);border-color:#fca5a5}.badge-alta{color:var(--c-red);border-color:var(--c-red);background:#fee2e2}.badge-media{color:#92400e;background:#fef3c7;border-color:#fbbf24}.badge-baja{color:var(--c-ink-muted);background:var(--c-draft);border-color:var(--c-border-lt)}.badge-admin{color:var(--c-red);border-color:var(--c-red);background:#fee2e2}.badge-editor{color:var(--c-green);background:var(--c-published);border-color:var(--c-green)}.badge-contributor{color:#92400e;background:var(--c-review);border-color:#fbbf24}.badge-viewer{color:var(--c-ink-muted);background:var(--c-draft);border-color:var(--c-border-lt)}.btn{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-ink);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 14px;font-size:11px;transition:background .1s;display:inline-flex}.btn:hover{background:var(--c-bg-alt)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--c-ink);color:var(--c-bg);border-color:var(--c-ink)}.btn-primary:hover{background:#333}.btn-lime{background:var(--c-lime);border-color:var(--c-border);color:var(--c-ink)}.btn-lime:hover{background:#c8dc40}.btn-danger{background:var(--c-red);color:#fff;border-color:var(--c-red)}.btn-danger:hover{background:#c94848}.btn-ghost{border-color:var(--c-border-lt);color:var(--c-ink-muted)}.btn-ghost:hover{background:var(--c-bg-alt);color:var(--c-ink)}.btn-sm{padding:3px 8px;font-size:10px}.btn-icon{padding:6px}.input,.select,.textarea{font-family:var(--font-sans);border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-ink);outline:none;width:100%;padding:7px 10px;font-size:13px}.input:focus,.select:focus,.textarea:focus{border-color:var(--c-ink);box-shadow:inset 0 0 0 1px var(--c-ink)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%230a0a0a'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.textarea{resize:vertical;min-height:80px}.input-sm{padding:4px 8px;font-size:12px}.form-group{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.form-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--c-ink-muted);font-size:10px}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.modal-backdrop{z-index:100;background:#0a0a0a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--c-bg);border:1px solid var(--c-border);flex-direction:column;width:min(560px,95vw);max-height:90vh;display:flex;overflow-y:auto}.modal-header{border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2{font-size:13px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.modal-body{flex:1;padding:20px}.modal-footer{border-top:1px solid var(--c-border);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.card{background:var(--c-bg);border:1px solid var(--c-border);padding:var(--gap)}.card-title{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--c-ink-muted);margin-bottom:8px}.card-value{letter-spacing:-.02em;font-size:28px;font-weight:700}.stats-grid{border:1px solid var(--c-border);background:var(--c-border);margin-bottom:var(--gap);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;display:grid}.stat-cell{background:var(--c-bg);padding:16px}.ticker{border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);margin-bottom:var(--gap);background:var(--c-bg-alt);white-space:nowrap;padding:6px 0;overflow:hidden}.ticker-inner{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--c-ink-muted);gap:40px;font-size:11px;animation:30s linear infinite ticker;display:inline-flex}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.pagination{font-family:var(--font-mono);justify-content:flex-end;align-items:center;gap:4px;margin-top:12px;font-size:11px;display:flex}.page-info{color:var(--c-ink-muted);padding:0 8px}.empty{text-align:center;color:var(--c-ink-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border:1px dashed var(--c-border-lt);padding:48px 24px;font-size:12px}.spinner{border:2px solid var(--c-border-lt);border-top-color:var(--c-ink);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-page{height:100%;font-family:var(--font-mono);text-transform:uppercase;color:var(--c-ink-muted);justify-content:center;align-items:center;gap:12px;font-size:12px;display:flex}.error-banner{border:1px solid var(--c-red);color:var(--c-red);font-family:var(--font-mono);background:#fee2e2;margin-bottom:14px;padding:10px 14px;font-size:12px}.success-banner{background:var(--c-published);border:1px solid var(--c-green);color:var(--c-green);font-family:var(--font-mono);margin-bottom:14px;padding:10px 14px;font-size:12px}.login-page{background:var(--c-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box{border:1px solid var(--c-border);width:360px;padding:40px}.login-logo{font-family:var(--font-mono);color:var(--c-red);letter-spacing:.12em;border:1px solid var(--c-red);margin-bottom:32px;padding:4px 10px;font-size:16px;font-weight:600;display:inline-block}.login-title{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--c-ink-muted);margin-bottom:24px}.tabs{border-bottom:1px solid var(--c-border);margin-bottom:var(--gap);display:flex}.tab{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--c-ink-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;font-size:11px}.tab:hover{color:var(--c-ink)}.tab.active{color:var(--c-ink);border-bottom-color:var(--c-ink)}.confirm-overlay{z-index:200;background:#0a0a0a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-box{background:var(--c-bg);border:1px solid var(--c-border);text-align:center;width:320px;padding:24px}.confirm-box p{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;margin-bottom:20px;font-size:12px}.confirm-actions{justify-content:center;gap:8px;display:flex}@media (width<=768px){.shell{grid-template-columns:0 1fr}.shell.sidebar-open{grid-template-columns:var(--sidebar-w) 1fr}.form-row,.form-row-3{grid-template-columns:1fr}}
