:root{--bg:#f7f7fb;--surface:#ffffff;--border:#e6e6ef;--ink:#1a1a2e;--ink-soft:#6b6b80;--brand:#4f46e5;--brand-ink:#ffffff;--teal:#0d9488;--danger:#b91c1c;--ok:#16a34a;--radius:14px;--shadow:0 4px 16px rgba(20,20,50,0.06);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink)}a{color:var(--brand);text-decoration:none}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:12px 20px}.brand{font-weight:800;letter-spacing:-.02em;font-size:1.15rem}.brand span{color:var(--brand)}.topbar-actions{display:flex;align-items:center;gap:14px;font-size:.9rem}.content{max-width:920px;margin:0 auto;padding:28px 20px 64px}.page-head{display:flex;align-items:baseline;gap:12px;margin-bottom:20px;flex-wrap:wrap}.page-head h1{margin:0;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;flex:1 1}.muted{color:var(--ink-soft)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.auth-card h1{margin:0 0 4px;font-size:1.4rem;font-weight:800}.auth-card .sub{margin:0 0 20px;color:var(--ink-soft);font-size:.9rem}.auth-alt{margin-top:16px;font-size:.88rem;color:var(--ink-soft);text-align:center}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:.82rem;font-weight:600;color:var(--ink-soft)}.field input{border:1px solid var(--border);border-radius:10px;padding:11px 13px;font-size:1rem;background:#fff;color:var(--ink)}.field input:focus{outline:2px solid var(--brand);outline-offset:0;border-color:var(--brand)}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:var(--brand-ink);border:none;cursor:pointer;padding:11px 18px;border-radius:10px;font-size:.98rem;font-weight:700}.btn:hover{filter:brightness(1.05)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-block{width:100%}.btn-ghost{background:transparent;color:var(--ink-soft)}.btn-ghost:hover{color:var(--ink);filter:none}.alert{border-radius:10px;padding:10px 13px;font-size:.88rem;margin-bottom:14px}.alert-error{background:#fef2f2;color:var(--danger);border:1px solid #fecaca}.alert-ok{background:#f0fdf4;color:var(--ok);border:1px solid #bbf7d0}.alert-info{background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe}.alert-warn{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.tipo-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}@media (max-width:560px){.tipo-grid{grid-template-columns:1fr}}.tipo-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:var(--bg);border:2px solid var(--border);border-radius:14px;padding:14px;cursor:pointer;text-align:left;color:var(--ink);font:inherit;transition:border-color .12s ease,transform .08s ease}.tipo-card:hover{border-color:var(--brand)}.tipo-card:active{transform:scale(.985)}.tipo-on{border-color:var(--brand);background:#eef2ff}.tipo-icono{font-size:1.5rem;line-height:1}.seg-row{display:flex;gap:8px;flex-wrap:wrap}.seg-pill{background:var(--bg);border:1.5px solid var(--border);border-radius:999px;padding:8px 16px;cursor:pointer;font:inherit;font-size:.9rem;color:var(--ink)}.seg-pill-on{border-color:var(--brand);background:#eef2ff;color:#4338ca;font-weight:700}.sandbox-card{border:2px solid var(--brand)}.modulos-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.modulos-list li{display:flex;align-items:baseline;gap:10px}.mod-icono{font-size:1.1rem;line-height:1;flex:0 0 auto}.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:16px;gap:16px}.store-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;color:var(--ink);transition:border-color .15s ease,transform .08s ease}.store-card:hover{border-color:var(--brand)}.store-card:active{transform:scale(.99)}.store-card h3{margin:0;font-size:1.1rem;font-weight:800}.store-slug{font-size:.82rem;color:var(--ink-soft)}.store-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.badge{font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.badge-rol{background:#eef2ff;color:var(--brand)}.badge-plan{background:#f0fdfa;color:var(--teal)}.badge-active{background:#f0fdf4;color:var(--ok)}.badge-warn{background:#fffbeb;color:#b45309}.badge-danger{background:#fef2f2;color:var(--danger)}.store-new{border:2px dashed var(--border);background:transparent;box-shadow:none;align-items:center;justify-content:center;text-align:center;min-height:120px;color:var(--ink-soft);font-weight:700}.store-new:hover{border-color:var(--brand);color:var(--brand)}.empty{text-align:center;padding:48px 20px;border:1px dashed var(--border);border-radius:16px;color:var(--ink-soft)}.tabs{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}.tab{padding:7px 14px;border-radius:999px;font-size:.88rem;font-weight:600;color:var(--ink-soft);background:transparent;border:1px solid var(--border)}.tab:hover{color:var(--brand)}.tab-on,.tab:hover{border-color:var(--brand)}.tab-on{background:var(--brand);color:var(--brand-ink)}.kv{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.kv:last-child{border-bottom:none}.checklist{margin:8px 0 16px;padding-left:20px;display:grid;grid-gap:10px;gap:10px;line-height:1.5}.code{background:#0f1020;color:#e6e6f0;border-radius:10px;padding:12px 14px;font-size:.8rem;overflow-x:auto;margin:8px 0 0;white-space:pre}code{background:#eef0f6;padding:1px 5px;border-radius:5px;font-size:.86em}.member-row{display:flex;gap:8px;align-items:center}.select{border:1px solid var(--border);border-radius:10px;padding:9px 11px;font-size:.92rem;background:#fff;color:var(--ink)}.member-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:4px;gap:4px}.member-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.member-item:last-child{border-bottom:none}.member-info{display:flex;flex-direction:column}.member-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn-ghost.danger,.btn-ghost.danger:hover{color:var(--danger)}