:root{--bg: #1c1b18;--surface: #242320;--surface-raised: #2c2a26;--border: #3d3b34;--text: #ece7db;--text-dim: #a39d8c;--text-faint: #726d5f;--accent: #8ba888;--accent-dim: #5f7a5e;--coral: #c97b63;--amber: #c9a463;--blue: #7391b0}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:baseline;gap:10px}.brand-mark{font-family:Fraunces,serif;font-size:28px;font-weight:600;letter-spacing:-.02em}.brand-sub{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.12em}.session{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--text-dim);display:flex;align-items:center;gap:14px}.link-btn{background:none;border:none;color:var(--text-dim);font-family:IBM Plex Mono,monospace;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}.link-btn:hover{color:var(--text)}.login-screen{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:40px 32px}.login-mark{font-family:Fraunces,serif;font-size:40px;font-weight:600;margin:0 0 4px}.login-caption{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.12em;margin:0 0 32px}.main{flex:1;padding:32px;max-width:1040px;width:100%;margin:0 auto}.tabs{display:flex;gap:4px;margin-bottom:28px;border-bottom:1px solid var(--border)}.tab{background:none;border:none;color:var(--text-faint);font-family:IBM Plex Mono,monospace;font-size:12px;text-transform:uppercase;letter-spacing:.08em;padding:10px 4px;margin-right:24px;cursor:pointer;border-bottom:2px solid transparent;transform:translateY(1px)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.section-title{font-family:Fraunces,serif;font-size:22px;font-weight:600;margin:0 0 4px}.section-caption{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--text-faint);margin:0 0 24px}.form-grid{display:grid;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:24px;margin-bottom:32px}label{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:6px}input,select{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:10px 12px;color:var(--text);font-family:Inter,sans-serif;font-size:14px}input:focus,select:focus{outline:2px solid var(--accent-dim);outline-offset:1px;border-color:var(--accent)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}button.primary{background:var(--accent);color:#16150f;border:none;border-radius:3px;padding:11px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;justify-self:start}button.primary:hover{background:var(--accent-dim)}button.primary:disabled{opacity:.5;cursor:not-allowed}.error-msg{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--coral)}.success-msg{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--accent)}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.badge{background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden;position:relative}.badge-stripe{height:6px;width:100%}.badge-stripe.role-administrador{background:var(--accent)}.badge-stripe.role-default{background:var(--blue)}.badge-stripe.role-none{background:var(--text-faint)}.badge-body{padding:18px 18px 16px}.badge-name{font-family:Fraunces,serif;font-size:18px;font-weight:600;margin:0 0 2px}.badge-email{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--text-faint);margin:0 0 14px;word-break:break-all}.badge-memberships{display:flex;flex-wrap:wrap;gap:6px}.membership-chip{font-family:IBM Plex Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;background:var(--surface-raised);border:1px solid var(--border);border-radius:3px;padding:4px 8px;color:var(--text-dim)}.membership-empty{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--text-faint);font-style:italic}.empty-state{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--text-faint);padding:40px 0;text-align:center}
