/* Portal: mismos tokens y componentes que el dashboard activo (web/style.css), sin importarlo ni modificarlo. */
:root{color-scheme:dark;--bg:#0c1017;--surface:#161b22;--border:#21262d;--text:#f0f6fc;--muted:#8b949e;--tp9:#ff7b7b;--af7:#ffd180;--af8:#a8e6cf;--tp10:#aeefff;--success:#3fb950}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 Inter,"Segoe UI",system-ui,sans-serif;font-variant-numeric:tabular-nums}
.top{padding:22px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);gap:24px;flex-wrap:wrap}
.identity{display:flex;align-items:center;gap:14px;color:var(--text);text-decoration:none}
.identity strong{display:block;font-size:22px;font-weight:650;letter-spacing:-.5px}
.identity small{display:block;color:var(--muted);font-size:11px;letter-spacing:.5px}
.brand-logo-frame{display:block;width:72px;height:72px;overflow:hidden;border-radius:12px;flex-shrink:0}
.brand-logo{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.45);transform-origin:50% 42%}
.header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.who{color:var(--muted);font-size:12px}
main{max-width:1500px;margin:auto;padding:26px 32px}
h1{font-size:21px;margin:6px 0 0}
h2{font-size:16px;font-weight:600;margin:0 0 12px}
p{margin:6px 0 14px}
.eyebrow{font-size:10px;letter-spacing:1.3px;color:var(--muted);margin:0}
.note{color:var(--muted);font-size:12px}
.panel{border:1px solid var(--border);background:var(--surface);padding:22px;border-radius:12px;margin-bottom:18px}
.access{max-width:920px;margin-inline:auto}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:8px}
.card{border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:18px}
button,select,input,textarea{font:inherit;color:var(--text);border:1px solid #30363d;background:var(--bg);border-radius:8px}
button{padding:9px 15px;cursor:pointer;font-weight:550;font-size:12px;transition:background .15s,border-color .15s}
button:hover{background:#242b35;border-color:#586274}
.primary{background:var(--af8);border-color:var(--af8);color:#102921}
.primary:hover{background:#c0eedf;border-color:#c0eedf}
.outline{color:var(--muted)}
.button-link{display:inline-block;padding:9px 15px;font-weight:550;font-size:12px;color:var(--tp10);border:1px solid #30363d;border-radius:8px;text-decoration:none}
.button-link:hover{background:#242b35;border-color:#586274}
label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:12px;margin:10px 0}
input,select,textarea{padding:8px 10px;max-width:100%;width:100%}
textarea{min-height:72px}
td select{width:auto}
:focus-visible{outline:2px solid var(--tp10);outline-offset:2px}
.table-wrap{overflow-x:auto;margin-top:12px}
table{width:100%;border-collapse:collapse;font-size:12px}
th{color:var(--muted);font-weight:550;text-align:left;font-size:11px;letter-spacing:.4px}
th,td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top;text-align:left}
td code{font:11px/1.4 Consolas,"Cascadia Mono",monospace;color:var(--tp10);word-break:break-all}
.actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
#status{min-height:22px;font-weight:550;margin:0 0 12px}
#status.error{color:var(--tp9)}
#status.ok{color:var(--success)}
#comments{padding-left:18px;color:var(--text)}
#empty{color:var(--muted)}
@media (max-width:640px){.top,main{padding-inline:16px}.brand-logo-frame{width:52px;height:52px}}
